Update README with coroutine Job cancellation for EspFlasher

This commit is contained in:
eddy 2026-07-26 22:58:28 +02:00
commit 2bea06d14b

View file

@ -402,7 +402,7 @@ sylvia-touch-relay/
- De HMAC key wordt in de app opgeslagen via `EncryptedSharedPreferences` (AES256-GCM) via `PrefsHelper`. Dit versleutelt de key at-rest, in tegenstelling tot gewone SharedPreferences waarbij waarden plaintext op schijf staan.
- Bij geweigerde BLE-permissies wordt de HOLD-knop uitgeschakeld en toont de app "Permissies geweigerd — open Instellingen" met een link naar de systeem-instellingen.
- De BLE-scan wordt in `onPause` betrouwbaar gestopt via `handler.removeCallbacks(scanRunnable)`, wat voorkomt dat scans doordraaien op de achtergrond.
- Het firmware flash-proces is annuleerbaar: `EspFlasher` gebruikt een `@Volatile cancelled` flag met checkpoints in de flash-lus. `SettingsActivity.onDestroy` roept `flasher?.cancel()` aan.
- Het firmware flash-proces is annuleerbaar via coroutine Job cancellation. De annuleerknop en `onDestroy` roepen `flasherJob?.cancel()` aan, wat de `CancellationException` doorgeeft aan de actieve coroutine. Checkpoints via `ensureActive()` in de flash-lus stoppen het proces direct.
- USB systeem-broadcasts (`ACTION_USB_DEVICE_ATTACHED`/`DETACHED`) worden geregistreerd met `RECEIVER_EXPORTED` voor compatibiliteit met Android 14+ (API 34). De custom `ACTION_USB_PERMISSION` broadcast gebruikt `RECEIVER_NOT_EXPORTED` (app-intern).
## Licentie