@@ -20,6 +20,7 @@ package fr.acinq.phoenix.android.components.scanner
20
20
import android.Manifest
21
21
import android.annotation.SuppressLint
22
22
import android.content.Intent
23
+ import android.content.pm.ActivityInfo
23
24
import android.net.Uri
24
25
import android.provider.Settings
25
26
import androidx.camera.core.CameraSelector
@@ -42,6 +43,7 @@ import androidx.compose.foundation.layout.padding
42
43
import androidx.compose.foundation.systemGestureExclusion
43
44
import androidx.compose.material.MaterialTheme
44
45
import androidx.compose.runtime.Composable
46
+ import androidx.compose.runtime.DisposableEffect
45
47
import androidx.compose.runtime.LaunchedEffect
46
48
import androidx.compose.runtime.getValue
47
49
import androidx.compose.runtime.mutableStateOf
@@ -65,6 +67,8 @@ import fr.acinq.phoenix.android.components.Button
65
67
import fr.acinq.phoenix.android.components.Card
66
68
import fr.acinq.phoenix.android.components.FilledButton
67
69
import fr.acinq.phoenix.android.components.TextWithIcon
70
+ import fr.acinq.phoenix.android.utils.extensions.findActivity
71
+ import fr.acinq.phoenix.android.utils.extensions.findActivitySafe
68
72
import fr.acinq.phoenix.android.utils.images.ZxingQrCodeAnalyzer
69
73
import java.util.concurrent.Executors
70
74
@@ -102,6 +106,13 @@ fun BoxScope.ScannerView(
102
106
onScannedText(currentAttempt)
103
107
}
104
108
109
+ DisposableEffect (context) {
110
+ context.findActivitySafe()?.requestedOrientation = ActivityInfo .SCREEN_ORIENTATION_LOCKED
111
+ onDispose {
112
+ context.findActivitySafe()?.requestedOrientation = ActivityInfo .SCREEN_ORIENTATION_UNSPECIFIED
113
+ }
114
+ }
115
+
105
116
AndroidView (
106
117
modifier = Modifier .fillMaxSize(),
107
118
factory = { ctx ->
0 commit comments