chore(#211): scope location perms to maxSdkVersion=30 (legacy BLE scan only)

Bound ACCESS_FINE_LOCATION and ACCESS_COARSE_LOCATION to maxSdkVersion=30,
mirroring the already-bounded BLUETOOTH/BLUETOOTH_ADMIN. On Android 12+ the
app scans with BLUETOOTH_SCAN + neverForLocation and reads no phone location
(no location dependency or API usage in lib/), so location is only needed for
legacy scanning on API <=30. Cleaner permission profile + Data Safety story
for the Play submission (#159).

Epic #210. Test gate #212 (closed-beta hardware validation).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
pull/215/head
Strycher 1 week ago
parent 3b7c52655c
commit cf9207b7c5

@ -7,9 +7,9 @@
<uses-permission android:name="android.permission.BLUETOOTH_SCAN" android:usesPermissionFlags="neverForLocation"/>
<uses-permission android:name="android.permission.BLUETOOTH_CONNECT"/>
<uses-permission android:name="android.permission.BLUETOOTH_ADVERTISE"/>
<!-- Location permission (required for BLE scanning on Android 11 and below) -->
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/>
<!-- Location permission (required for BLE scanning on Android 11 and below only; bounded so Android 12+ requests no location) -->
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" android:maxSdkVersion="30"/>
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" android:maxSdkVersion="30"/>
<!-- Notification permission (required for Android 13+) -->
<uses-permission android:name="android.permission.POST_NOTIFICATIONS"/>
<!-- Foreground service permission for background BLE -->

Loading…
Cancel
Save

Powered by TurnKey Linux.