From 74787f949cbddf9a8f09de50c40d47b46aef0e62 Mon Sep 17 00:00:00 2001 From: ThomasSession Date: Fri, 13 Sep 2024 11:49:12 +1000 Subject: [PATCH] Making sure camera perm updates in QR and new string for rationale dialog --- .../thoughtcrime/securesms/permissions/RationaleDialog.kt | 2 +- .../java/org/thoughtcrime/securesms/ui/components/QR.kt | 8 ++++++-- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/app/src/main/java/org/thoughtcrime/securesms/permissions/RationaleDialog.kt b/app/src/main/java/org/thoughtcrime/securesms/permissions/RationaleDialog.kt index e1b5d3f03c..08e8954dce 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/permissions/RationaleDialog.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/permissions/RationaleDialog.kt @@ -65,7 +65,7 @@ object RationaleDialog { text(message) } button(R.string.theContinue) { onPositive.run() } - button(R.string.notNow) { onNegative.run() } + button(R.string.cancel) { onNegative.run() } } } } diff --git a/app/src/main/java/org/thoughtcrime/securesms/ui/components/QR.kt b/app/src/main/java/org/thoughtcrime/securesms/ui/components/QR.kt index ea996b59ce..a3b508f481 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/ui/components/QR.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/ui/components/QR.kt @@ -49,6 +49,9 @@ import androidx.compose.ui.unit.dp import androidx.compose.ui.viewinterop.AndroidView import androidx.core.app.ActivityCompat import androidx.core.content.ContextCompat +import com.google.accompanist.permissions.ExperimentalPermissionsApi +import com.google.accompanist.permissions.isGranted +import com.google.accompanist.permissions.rememberPermissionState import com.google.zxing.BinaryBitmap import com.google.zxing.ChecksumException import com.google.zxing.FormatException @@ -75,6 +78,7 @@ import java.util.concurrent.Executors private const val TAG = "NewMessageFragment" +@OptIn(ExperimentalPermissionsApi::class) @Composable fun QRScannerScreen( errors: Flow, @@ -93,11 +97,11 @@ fun QRScannerScreen( val context = LocalContext.current val permission = Manifest.permission.CAMERA + val cameraPermissionState = rememberPermissionState(permission) var showCameraPermissionDialog by remember { mutableStateOf(false) } - if (ContextCompat.checkSelfPermission(context, permission) - == PackageManager.PERMISSION_GRANTED) { + if (cameraPermissionState.status.isGranted) { ScanQrCode(errors, onScan) } else { Column(