diff --git a/app/src/main/java/com/geeksville/mesh/android/ContextServices.kt b/app/src/main/java/com/geeksville/mesh/android/ContextServices.kt index 3f5837dc..f9aafae8 100644 --- a/app/src/main/java/com/geeksville/mesh/android/ContextServices.kt +++ b/app/src/main/java/com/geeksville/mesh/android/ContextServices.kt @@ -1,6 +1,7 @@ package com.geeksville.mesh.android import android.Manifest +import android.annotation.SuppressLint import android.app.NotificationManager import android.bluetooth.BluetoothManager import android.location.LocationManager @@ -9,7 +10,6 @@ import android.content.Context import android.content.pm.PackageManager import android.hardware.usb.UsbManager import androidx.core.content.ContextCompat -import com.geeksville.mesh.MainActivity import com.geeksville.mesh.R /** @@ -18,14 +18,9 @@ import com.geeksville.mesh.R val Context.bluetoothManager: BluetoothManager? get() = getSystemService(Context.BLUETOOTH_SERVICE).takeIf { hasBluetoothPermission() } as? BluetoothManager? -val Context.deviceManager: CompanionDeviceManager? - get() { - if (GeeksvilleApplication.currentActivity is MainActivity) { - val activity = GeeksvilleApplication.currentActivity - if (hasCompanionDeviceApi()) return activity?.getSystemService(Context.COMPANION_DEVICE_SERVICE) as? CompanionDeviceManager? - } - return null - } +val Context.companionDeviceManager: CompanionDeviceManager? + @SuppressLint("NewApi") + get() = getSystemService(Context.COMPANION_DEVICE_SERVICE).takeIf { hasCompanionDeviceApi() } as? CompanionDeviceManager? val Context.usbManager: UsbManager get() = requireNotNull(getSystemService(Context.USB_SERVICE) as? UsbManager?) { "USB_SERVICE is not available"} diff --git a/app/src/main/java/com/geeksville/mesh/model/BTScanModel.kt b/app/src/main/java/com/geeksville/mesh/model/BTScanModel.kt index 834c4088..e827d8bd 100644 --- a/app/src/main/java/com/geeksville/mesh/model/BTScanModel.kt +++ b/app/src/main/java/com/geeksville/mesh/model/BTScanModel.kt @@ -131,7 +131,6 @@ class BTScanModel @Inject constructor( debug("BTScanModel cleared") } - private val deviceManager get() = context.deviceManager val hasCompanionDeviceApi get() = application.hasCompanionDeviceApi() val hasBluetoothPermission get() = application.hasBluetoothPermission() private val usbManager get() = context.usbManager @@ -373,7 +372,7 @@ class BTScanModel @Inject constructor( @SuppressLint("NewApi") private fun startCompanionScan() { debug("starting companion scan") - deviceManager?.associate( + context.companionDeviceManager?.associate( associationRequest(), @SuppressLint("NewApi") object : CompanionDeviceManager.Callback() {