Skip to content

Release Android BLE clients when the app engine closes - #158

Merged
TobiasRoeddiger merged 1 commit into
2.5.0from
codex/android-engine-ble-cleanup
Oct 5, 2026
Merged

TobiasRoeddiger merged 1 commit into
2.5.0from
codex/android-engine-ble-cleanup

Conversation

@TobiasRoeddiger

@TobiasRoeddiger TobiasRoeddiger commented Oct 5, 2026 •

Copy link
Copy Markdown
Member

Closing OpenWearables with Android Back and reopening it in the same process left both earphones stuck in repeated MTU timeouts: cached GATT clients still delivered callbacks to the destroyed Flutter engine.

Require universal_ble 2.3.0 and enable its Android closeGattOnDetach option so the next engine creates fresh clients. No custom plugin changes.

Validation: 49 library tests and analysis pass. On the Pixel 9a with both firmware 2.3.0 earphones, three same-process Back/reopen cycles and one force-stop/relaunch all reconnect and deliver fresh temperature samples from both ears, without re-pairing.

Two Back/reopen trials recovered after one 10-second MTU timeout. This fixes the persistent stale-client failure; the remaining intermittent MTU callback race is tracked separately.

@github-actions

github-actions Bot commented Oct 5, 2026

Copy link
Copy Markdown

Visit the preview URL for this PR (updated for commit 6c76ca1):

https://open-earable-lib-web-example--pr158-codex-android-engi-gkidjcww.web.app

(expires Mon, 02 Nov 2026 05:44:11 GMT)

🔥 via Firebase Hosting GitHub Action 🌎

Sign: 7f6db4d9d00b851ad49af109fa949061904b3151

@TobiasRoeddiger
TobiasRoeddiger merged commit 3b56e89 into 2.5.0 Oct 5, 2026
4 checks passed
@TobiasRoeddiger TobiasRoeddiger mentioned this pull request Oct 6, 2026
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.

1 participant