Skip to content

android: Galaxy S26 / Samsung One UI 9 without root - #744

Open
Andrii-Antoniuk wants to merge 2 commits into
librepods-org:mainfrom
Andrii-Antoniuk:feat/samsung-s26-oneui9-rootless
Open

android: Galaxy S26 / Samsung One UI 9 without root#744
Andrii-Antoniuk wants to merge 2 commits into
librepods-org:mainfrom
Andrii-Antoniuk:feat/samsung-s26-oneui9-rootless

Conversation

@Andrii-Antoniuk

@Andrii-Antoniuk Andrii-Antoniuk commented Aug 24, 2026

Copy link
Copy Markdown

Summary

  • Treat Samsung One UI 9 (including Galaxy S26 / S26+ / S26 Ultra) as rootless-capable by reading ro.build.version.oneui / SEM_PLATFORM_INT, not only SDK 37. One UI 9 betas can still report SDK 36, which previously sent S26 users to the unsupported screen.
  • Create L2CAP sockets with fd=-1 (AOSP client sockets) and fall back to BluetoothDevice.createInsecureL2capSocket, which Samsung’s BluetoothSocket otherwise mishandles when fd=1.
  • Document the hard limit: One UI 8 / 8.5 cannot open the AirPods L2CAP channel without a platform Bluetooth fix. There is no no-root workaround; Play Store still hides Samsung until you enable it in Play Console.

Maintainer already confirmed One UI 9 beta works on S26 Ultra in #487 (comment) (GitHub APK). This PR makes the in-app allowlist match that.

Test plan

  • Galaxy S26 / S26+ / S26 Ultra on One UI 9 (stable or beta), no root: GitHub APK skips the unsupported screen and connects over L2CAP
  • Same device on One UI 8.5: still shows the Samsung-specific One UI 9 message (not Xposed), does not claim to work
  • Pixel on Android 16 QPR3 (CP1A*) and OnePlus/Oppo on ColorOS/OxygenOS 16: still allowed
  • Play Store listing for Samsung remains a Console-side change (out of this PR)

Made with Cursor

Andrii-Antoniuk and others added 2 commits August 24, 2026 06:46
Samsung's L2CAP fix ships in One UI 9, but betas can still report SDK 36 so
the allowlist rejected S26. Detect One UI 9 via Samsung properties, create
sockets with fd=-1, and tell One UI 8.5 users there is no no-root workaround.

Co-authored-by: Cursor <cursoragent@cursor.com>
Detect One UI 9 during first launch by loading bluetooth_socket in
Application, treat a known One UI 8.x property as unsupported even if SEM
looks like 9, prefer the secure L2CAP factory, and cover the allowlist.

Co-authored-by: Cursor <cursoragent@cursor.com>
@SaralTayal123

Copy link
Copy Markdown

Built an independent APK with this commit and can confirm this works on the Fold8 with One UI 9

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants