Skip to content

Commit b89d6d9

Browse files
committed
android: fix support for A11 and lower
1 parent 6985aa4 commit b89d6d9

File tree

2 files changed

+24
-10
lines changed

2 files changed

+24
-10
lines changed

android/app/src/main/AndroidManifest.xml

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,6 @@
11
<?xml version="1.0" encoding="utf-8"?>
22
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
3-
xmlns:tools="http://schemas.android.com/tools"
4-
android:sharedUserId="android.uid.system"
5-
android:sharedUserMaxSdkVersion="32"
6-
tools:targetApi="33">
3+
xmlns:tools="http://schemas.android.com/tools">
74

85
<uses-feature
96
android:name="android.hardware.telephony"
@@ -33,6 +30,9 @@
3330
<uses-permission android:name="android.permission.INTERNET" />
3431
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
3532

33+
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"
34+
android:maxSdkVersion="30" />
35+
3636
<protected-broadcast android:name="batterywidget.impl.action.update_bluetooth_data" />
3737

3838
<application

android/app/src/main/java/me/kavishdevar/librepods/MainActivity.kt

Lines changed: 20 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,7 @@ import android.content.Intent
2727
import android.content.ServiceConnection
2828
import android.content.SharedPreferences
2929
import android.net.Uri
30+
import android.os.Build
3031
import android.os.Bundle
3132
import android.os.IBinder
3233
import android.provider.Settings
@@ -183,17 +184,30 @@ fun Main() {
183184
var canDrawOverlays by remember { mutableStateOf(Settings.canDrawOverlays(context)) }
184185
val overlaySkipped = remember { mutableStateOf(context.getSharedPreferences("settings", MODE_PRIVATE).getBoolean("overlay_permission_skipped", false)) }
185186

186-
val permissionState = rememberMultiplePermissionsState(
187-
permissions = listOf(
187+
val bluetoothPermissions = if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.S) {
188+
listOf(
188189
"android.permission.BLUETOOTH_CONNECT",
189190
"android.permission.BLUETOOTH_SCAN",
190191
"android.permission.BLUETOOTH",
191192
"android.permission.BLUETOOTH_ADMIN",
192-
"android.permission.BLUETOOTH_ADVERTISE",
193-
"android.permission.POST_NOTIFICATIONS",
194-
"android.permission.READ_PHONE_STATE",
195-
"android.permission.ANSWER_PHONE_CALLS",
193+
"android.permission.BLUETOOTH_ADVERTISE"
194+
)
195+
} else {
196+
listOf(
197+
"android.permission.BLUETOOTH",
198+
"android.permission.BLUETOOTH_ADMIN",
199+
"android.permission.ACCESS_FINE_LOCATION"
196200
)
201+
}
202+
val otherPermissions = listOf(
203+
"android.permission.POST_NOTIFICATIONS",
204+
"android.permission.READ_PHONE_STATE",
205+
"android.permission.ANSWER_PHONE_CALLS"
206+
)
207+
val allPermissions = bluetoothPermissions + otherPermissions
208+
209+
val permissionState = rememberMultiplePermissionsState(
210+
permissions = allPermissions
197211
)
198212
val airPodsService = remember { mutableStateOf<AirPodsService?>(null) }
199213

0 commit comments

Comments
 (0)