android: support Xiaomi rootless devices - #663
Conversation
|
@ousamabenyounes won't it conflict with the existing Xiaomi HyperOS bluetooth manager that also has limited-control of the airpods? |
0595e15 to
761cf8e
Compare
The rootless allowlist in RootlessSupport.kt now also matches Xiaomi/POCO/Redmi on Android 16, but android/README.md still enumerated only the ColorOS/OxygenOS, realme UI and Pixel cases. Document the HyperOS 3 case explicitly, and say that rootless support there is not confirmed yet: librepods-org#393 reports the private L2CAP channel still timing out on Android 16 / HyperOS 3 without root.
|
Thanks for looking @debarkak — good question, I dug into it. Short answer: this PR does not alter runtime Bluetooth behaviour, so it adds no new code-level conflict; whether HyperOS's own manager contends for the AirPods link is a separate, still-unverified question.
That said, your instinct is right about the underlying risk, and I don't want the PR to over-claim. There is concrete counter-evidence for rootless HyperOS: #393 reports a Xiaomi 17 on Android 16 / HyperOS 3, locked bootloader, no root, no Xposed, where the AirPods are detected but So in @kavishdevar — your call on scope: this allowlist entry is what #658 asked for and mirrors how the OPPO/realme family was added, but I'm happy to drop the Xiaomi/POCO/Redmi entry and keep only the Validation for |
Summary
android/README.md, including that rootless support there is not confirmed yet (see XIaomi 15 Pro Unable to connect to AirPods over L2CAP #393).Issues
Fix #658
Scope note
isSupported()is only consumed byOnboardingScreento pick between the "Not supported" page and the permissions page. It does not gateAirPodsService.connectToSocket(), so this PR changes onboarding UX only, not runtime Bluetooth behaviour.bypassDeviceCheck()already let any device through.Test verification (RED -> GREEN)
RED before implementation:
GREEN with fix:
Revert proof:
Final checks:
The README commit is docs-only; the build and unit tests were re-run on it with no regression against
main.