RebreakVpnService.onStartCommand crashed with SecurityException because Android 16's validateForegroundServiceType rejects the implicit 2-arg startForeground(). Now passes FOREGROUND_SERVICE_TYPE_SPECIAL_USE explicitly (Google's documented best practice) and guards the call so a failed foreground promotion stops the service cleanly instead of crashing the app. Verified vs reported Galaxy A54 / Android 16 signature (97% of crash events, 1-user crash loop). Bundles pending working-tree work across native/marketing/locales/mac + graphify-out rebuild. gitignore: google-services.json + /screenshots/. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
12 lines
534 B
Markdown
12 lines
534 B
Markdown
# Next Release
|
||
|
||
## Fixes
|
||
|
||
- **Android: fixed crash loop on app open (Samsung / Android 14–16).** The VPN
|
||
protection service crashed with `SecurityException` in `startForeground()`
|
||
because Android 16's `validateForegroundServiceType` rejects the implicit
|
||
2-arg call. We now pass the `specialUse` foreground-service type explicitly
|
||
(Google's documented best practice) and guard the call so a failed
|
||
foreground promotion can never crash the app again. Verified against the
|
||
reported Galaxy A54 / Android 16 crash signature.
|