From 921ef709d6312fac75c352cf38b6fbe19ec457bb Mon Sep 17 00:00:00 2001 From: andrekir Date: Thu, 25 Jul 2024 18:06:44 -0300 Subject: [PATCH] refactor: use `PendingIntentCompat` for `UsbManager` --- .../mesh/repository/usb/UsbManager.kt | 18 ++++++++++-------- .../geeksville/mesh/util/CompatExtensions.kt | 6 ------ 2 files changed, 10 insertions(+), 14 deletions(-) diff --git a/app/src/main/java/com/geeksville/mesh/repository/usb/UsbManager.kt b/app/src/main/java/com/geeksville/mesh/repository/usb/UsbManager.kt index 350082257..a3faabf6b 100644 --- a/app/src/main/java/com/geeksville/mesh/repository/usb/UsbManager.kt +++ b/app/src/main/java/com/geeksville/mesh/repository/usb/UsbManager.kt @@ -1,13 +1,12 @@ package com.geeksville.mesh.repository.usb -import android.app.PendingIntent import android.content.BroadcastReceiver import android.content.Context import android.content.Intent import android.content.IntentFilter import android.hardware.usb.UsbDevice import android.hardware.usb.UsbManager -import com.geeksville.mesh.util.PendingIntentCompat +import androidx.core.app.PendingIntentCompat import com.geeksville.mesh.util.registerReceiverCompat import kotlinx.coroutines.channels.awaitClose import kotlinx.coroutines.flow.Flow @@ -21,16 +20,19 @@ internal fun UsbManager.requestPermission( ): Flow = callbackFlow { val receiver = object : BroadcastReceiver() { override fun onReceive(context: Context, intent: Intent) { - val granted = intent.getBooleanExtra(UsbManager.EXTRA_PERMISSION_GRANTED, false) - trySend(granted) - close() + if (ACTION_USB_PERMISSION == intent.action) { + val granted = intent.getBooleanExtra(UsbManager.EXTRA_PERMISSION_GRANTED, false) + trySend(granted) + close() + } } } - val permissionIntent = PendingIntent.getBroadcast( + val permissionIntent = PendingIntentCompat.getBroadcast( context, 0, - Intent(ACTION_USB_PERMISSION), - PendingIntentCompat.FLAG_MUTABLE + Intent(ACTION_USB_PERMISSION).apply { `package` = context.packageName }, + 0, + true ) val filter = IntentFilter(ACTION_USB_PERMISSION) context.registerReceiverCompat(receiver, filter) diff --git a/app/src/main/java/com/geeksville/mesh/util/CompatExtensions.kt b/app/src/main/java/com/geeksville/mesh/util/CompatExtensions.kt index 4ab39e67e..e5e89264b 100644 --- a/app/src/main/java/com/geeksville/mesh/util/CompatExtensions.kt +++ b/app/src/main/java/com/geeksville/mesh/util/CompatExtensions.kt @@ -18,12 +18,6 @@ import androidx.core.content.IntentCompat import androidx.core.os.ParcelCompat object PendingIntentCompat { - val FLAG_MUTABLE = if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.S) { - PendingIntent.FLAG_MUTABLE - } else { - 0 - } - val FLAG_IMMUTABLE = if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.S) { PendingIntent.FLAG_IMMUTABLE } else {