@@ -47,7 +47,7 @@ import androidx.compose.ui.unit.dp
4747import androidx.compose.ui.viewinterop.AndroidView
4848import androidx.lifecycle.compose.LocalLifecycleOwner
4949import com.google.accompanist.permissions.ExperimentalPermissionsApi
50- import com.google.accompanist.permissions.PermissionStatus
50+ import com.google.accompanist.permissions.isGranted
5151import com.google.accompanist.permissions.rememberPermissionState
5252import com.google.mlkit.vision.barcode.BarcodeScannerOptions
5353import com.google.mlkit.vision.barcode.BarcodeScanning
@@ -138,9 +138,8 @@ fun SendRecipientScreen(
138138 .build()
139139 }
140140
141- // Camera binding - only initialize once
142- LaunchedEffect (Unit ) {
143- if (! isCameraInitialized) {
141+ LaunchedEffect (cameraPermissionState.status, isCameraInitialized) {
142+ if (cameraPermissionState.status.isGranted && ! isCameraInitialized) {
144143 delay(TRANSITION_SCREEN_MS )
145144 imageAnalysis.setAnalyzer(Executors .newSingleThreadExecutor(), analyzer)
146145
@@ -233,7 +232,7 @@ fun SendRecipientScreen(
233232 },
234233 onClickPaste = { onEvent(SendEvent .Paste ) },
235234 onClickManual = { onEvent(SendEvent .EnterManually ) },
236- cameraPermissionGranted = cameraPermissionState.status is PermissionStatus . Granted ,
235+ cameraPermissionGranted = cameraPermissionState.status.isGranted ,
237236 onRequestPermission = { context.startActivityAppSettings() },
238237 modifier = modifier
239238 )
0 commit comments