@@ -19,18 +19,23 @@ import androidx.compose.foundation.layout.Column
1919import androidx.compose.foundation.layout.PaddingValues
2020import androidx.compose.foundation.layout.Row
2121import androidx.compose.foundation.layout.Spacer
22+ import androidx.compose.foundation.layout.WindowInsets
2223import androidx.compose.foundation.layout.aspectRatio
2324import androidx.compose.foundation.layout.fillMaxSize
2425import androidx.compose.foundation.layout.fillMaxWidth
2526import androidx.compose.foundation.layout.height
2627import androidx.compose.foundation.layout.padding
2728import androidx.compose.foundation.layout.size
29+ import androidx.compose.foundation.layout.statusBarsPadding
30+ import androidx.compose.foundation.layout.systemBars
31+ import androidx.compose.foundation.layout.systemBarsPadding
2832import androidx.compose.foundation.layout.width
2933import androidx.compose.foundation.lazy.LazyColumn
3034import androidx.compose.foundation.shape.CircleShape
3135import androidx.compose.material3.Button
3236import androidx.compose.material3.ButtonDefaults
3337import androidx.compose.material3.Icon
38+ import androidx.compose.material3.Scaffold
3439import androidx.compose.material3.Text
3540import androidx.compose.runtime.Composable
3641import androidx.compose.runtime.DisposableEffect
@@ -73,10 +78,16 @@ internal fun Ocr(
7378 state : OcrUiState ,
7479 modifier : Modifier = Modifier ,
7580) {
76- ReedFullScreen {
77- when (state.currentUi) {
78- OcrUi .CAMERA -> CameraPreview (state = state, modifier = modifier)
79- OcrUi .RESULT -> TextScanResult (state = state, modifier = modifier)
81+ Scaffold (contentWindowInsets = WindowInsets (0 .dp)) { innerPadding ->
82+ Box (
83+ modifier = modifier
84+ .fillMaxSize()
85+ .padding(innerPadding)
86+ ) {
87+ when (state.currentUi) {
88+ OcrUi .CAMERA -> CameraPreview (state = state, modifier = modifier)
89+ OcrUi .RESULT -> TextScanResult (state = state, modifier = modifier)
90+ }
8091 }
8192 }
8293}
@@ -120,6 +131,20 @@ private fun CameraPreview(
120131 val systemUiController = rememberSystemUiController()
121132 val isDarkTheme = isSystemInDarkTheme()
122133
134+ DisposableEffect (systemUiController) {
135+ systemUiController.setSystemBarsColor(
136+ color = Neutral950 ,
137+ isNavigationBarContrastEnforced = false ,
138+ )
139+ onDispose {
140+ systemUiController.setSystemBarsColor(
141+ color = White ,
142+ darkIcons = ! isDarkTheme,
143+ isNavigationBarContrastEnforced = false ,
144+ )
145+ }
146+ }
147+
123148 LaunchedEffect (Unit ) {
124149 val granted = ContextCompat .checkSelfPermission(context, permission) == PackageManager .PERMISSION_GRANTED
125150 if (granted) {
@@ -141,27 +166,14 @@ private fun CameraPreview(
141166 }
142167 }
143168
144- DisposableEffect (systemUiController) {
145- systemUiController.setSystemBarsColor(
146- color = Neutral950 ,
147- isNavigationBarContrastEnforced = false ,
148- )
149- onDispose {
150- systemUiController.setSystemBarsColor(
151- color = White ,
152- darkIcons = ! isDarkTheme,
153- isNavigationBarContrastEnforced = false ,
154- )
155- }
156- }
157-
158169 Box (
159- modifier = modifier.fillMaxSize(),
170+ modifier = modifier
171+ .fillMaxSize()
172+ .background(Neutral950 )
173+ .statusBarsPadding(),
160174 ) {
161175 Column (
162- modifier = Modifier
163- .fillMaxSize()
164- .background(Neutral950 ),
176+ modifier = Modifier .fillMaxSize(),
165177 horizontalAlignment = Alignment .CenterHorizontally ,
166178 ) {
167179 ReedCloseTopAppBar (
@@ -265,7 +277,8 @@ private fun TextScanResult(
265277 Column (
266278 modifier = modifier
267279 .fillMaxSize()
268- .background(White ),
280+ .background(White )
281+ .systemBarsPadding(),
269282 ) {
270283 ReedCloseTopAppBar (
271284 title = stringResource(R .string.ocr_sentence_selection),
0 commit comments