Skip to content

Commit 51365de

Browse files
committed
(android) Lock screen orientation in scanner view
1 parent 5f04d97 commit 51365de

File tree

1 file changed

+11
-0
lines changed
  • phoenix-android/src/main/kotlin/fr/acinq/phoenix/android/components/scanner

1 file changed

+11
-0
lines changed

phoenix-android/src/main/kotlin/fr/acinq/phoenix/android/components/scanner/ScannerView.kt

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@ package fr.acinq.phoenix.android.components.scanner
2020
import android.Manifest
2121
import android.annotation.SuppressLint
2222
import android.content.Intent
23+
import android.content.pm.ActivityInfo
2324
import android.net.Uri
2425
import android.provider.Settings
2526
import androidx.camera.core.CameraSelector
@@ -42,6 +43,7 @@ import androidx.compose.foundation.layout.padding
4243
import androidx.compose.foundation.systemGestureExclusion
4344
import androidx.compose.material.MaterialTheme
4445
import androidx.compose.runtime.Composable
46+
import androidx.compose.runtime.DisposableEffect
4547
import androidx.compose.runtime.LaunchedEffect
4648
import androidx.compose.runtime.getValue
4749
import androidx.compose.runtime.mutableStateOf
@@ -65,6 +67,8 @@ import fr.acinq.phoenix.android.components.Button
6567
import fr.acinq.phoenix.android.components.Card
6668
import fr.acinq.phoenix.android.components.FilledButton
6769
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
6872
import fr.acinq.phoenix.android.utils.images.ZxingQrCodeAnalyzer
6973
import java.util.concurrent.Executors
7074

@@ -102,6 +106,13 @@ fun BoxScope.ScannerView(
102106
onScannedText(currentAttempt)
103107
}
104108

109+
DisposableEffect(context) {
110+
context.findActivitySafe()?.requestedOrientation = ActivityInfo.SCREEN_ORIENTATION_LOCKED
111+
onDispose {
112+
context.findActivitySafe()?.requestedOrientation = ActivityInfo.SCREEN_ORIENTATION_UNSPECIFIED
113+
}
114+
}
115+
105116
AndroidView(
106117
modifier = Modifier.fillMaxSize(),
107118
factory = { ctx ->

0 commit comments

Comments
 (0)