From e7ff34d3dd252bf9fc0c21034ab5a71d8cfe727d Mon Sep 17 00:00:00 2001 From: sam Date: Mon, 13 Jul 2026 00:10:13 +0200 Subject: [PATCH] Fix edge-to-edge insets on camera and crop overlays Co-Authored-By: Claude Opus 4.8 --- .../main/java/eu/geyskens/pdfscan/ui/screens/CameraScreen.kt | 5 ++++- .../main/java/eu/geyskens/pdfscan/ui/screens/CropScreen.kt | 3 ++- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/app/src/main/java/eu/geyskens/pdfscan/ui/screens/CameraScreen.kt b/app/src/main/java/eu/geyskens/pdfscan/ui/screens/CameraScreen.kt index 84b9506..e476f8a 100644 --- a/app/src/main/java/eu/geyskens/pdfscan/ui/screens/CameraScreen.kt +++ b/app/src/main/java/eu/geyskens/pdfscan/ui/screens/CameraScreen.kt @@ -13,8 +13,10 @@ import androidx.compose.foundation.layout.Box import androidx.compose.foundation.layout.Row import androidx.compose.foundation.layout.fillMaxSize import androidx.compose.foundation.layout.fillMaxWidth +import androidx.compose.foundation.layout.navigationBarsPadding import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.size +import androidx.compose.foundation.layout.statusBarsPadding import androidx.compose.foundation.shape.CircleShape import androidx.compose.material.icons.Icons import androidx.compose.material.icons.filled.Check @@ -118,7 +120,7 @@ private fun CameraContent(vm: ScanViewModel, navController: androidx.navigation. // Top bar: settings. IconButton( onClick = { navController.navigate(Routes.SETTINGS) }, - modifier = Modifier.align(Alignment.TopEnd).padding(8.dp), + modifier = Modifier.align(Alignment.TopEnd).statusBarsPadding().padding(8.dp), ) { Icon(Icons.Filled.Settings, contentDescription = "Instellingen", tint = Color.White) } @@ -129,6 +131,7 @@ private fun CameraContent(vm: ScanViewModel, navController: androidx.navigation. .align(Alignment.BottomCenter) .fillMaxWidth() .background(Color(0x66000000)) + .navigationBarsPadding() .padding(24.dp), horizontalArrangement = Arrangement.SpaceBetween, verticalAlignment = Alignment.CenterVertically, diff --git a/app/src/main/java/eu/geyskens/pdfscan/ui/screens/CropScreen.kt b/app/src/main/java/eu/geyskens/pdfscan/ui/screens/CropScreen.kt index 9d92168..fae76b9 100644 --- a/app/src/main/java/eu/geyskens/pdfscan/ui/screens/CropScreen.kt +++ b/app/src/main/java/eu/geyskens/pdfscan/ui/screens/CropScreen.kt @@ -13,6 +13,7 @@ import androidx.compose.foundation.layout.fillMaxSize import androidx.compose.foundation.layout.fillMaxWidth import androidx.compose.foundation.layout.offset import androidx.compose.foundation.layout.padding +import androidx.compose.foundation.layout.safeDrawingPadding import androidx.compose.foundation.layout.size import androidx.compose.foundation.shape.CircleShape import androidx.compose.material3.Button @@ -59,7 +60,7 @@ fun CropScreen(vm: ScanViewModel, navController: NavController, pageId: String) var boxSize by remember { mutableStateOf(IntSize.Zero) } val density = LocalDensity.current - Column(Modifier.fillMaxSize().background(Color.Black)) { + Column(Modifier.fillMaxSize().background(Color.Black).safeDrawingPadding()) { Box( modifier = Modifier .weight(1f)