@@ -44,7 +44,11 @@ public final class AndroidCentral: CentralManager {
4444 public var isEnabled : Bool {
4545 get async {
4646 do {
47- try checkPermission ( Permission ( rawValue: JavaClass < Manifest . Permission > ( ) . BLUETOOTH_SCAN) )
47+ if #available( Android 31 , * ) {
48+ try checkPermission ( . bluetoothScan)
49+ } else {
50+ try checkPermission ( . bluetooth)
51+ }
4852 }
4953 catch {
5054 return false
@@ -79,6 +83,12 @@ public final class AndroidCentral: CentralManager {
7983
8084 log ? ( " \( type ( of: self ) ) \( #function) " )
8185
86+ if #available( Android 31 , * ) {
87+ try checkPermission ( . bluetoothScan)
88+ } else {
89+ try checkPermission ( . bluetooth)
90+ }
91+
8292 guard hostController. isEnabled ( )
8393 else { throw AndroidCentralError . bluetoothDisabled }
8494
@@ -535,9 +545,9 @@ public final class AndroidCentral: CentralManager {
535545 // MARK: - Private Methods
536546
537547 private func checkPermission( _ permission: AndroidManifest . Permission ) throws {
538- let granted = try JavaClass < PackageManager > ( ) . PERMISSION_GRANTED
548+ let permissionGranted = try JavaClass < AndroidContent . PackageManager > ( ) . PERMISSION_GRANTED
539549 let status = context. checkSelfPermission ( permission. rawValue)
540- guard status == granted else {
550+ guard status == permissionGranted else {
541551 throw AndroidCentralError . bluetoothDisabled
542552 }
543553 }
0 commit comments