From 0d2b974e0dfe433ad694a6e2f5447d2e74433237 Mon Sep 17 00:00:00 2001 From: MM20 <15646950+MM2-0@users.noreply.github.com> Date: Mon, 11 Jul 2022 12:47:28 +0200 Subject: [PATCH] Fix window insets on devices with display cutouts Fix #111 --- base/src/main/res/values/themes.xml | 1 + .../de/mm20/launcher2/ui/launcher/PagerScaffold.kt | 8 ++++---- .../de/mm20/launcher2/ui/launcher/PullDownScaffold.kt | 10 +++++----- 3 files changed, 10 insertions(+), 9 deletions(-) diff --git a/base/src/main/res/values/themes.xml b/base/src/main/res/values/themes.xml index 65cb71f8..0aa2f702 100644 --- a/base/src/main/res/values/themes.xml +++ b/base/src/main/res/values/themes.xml @@ -48,5 +48,6 @@ false false true + shortEdges \ No newline at end of file diff --git a/ui/src/main/java/de/mm20/launcher2/ui/launcher/PagerScaffold.kt b/ui/src/main/java/de/mm20/launcher2/ui/launcher/PagerScaffold.kt index 6464809c..ca08e8ae 100644 --- a/ui/src/main/java/de/mm20/launcher2/ui/launcher/PagerScaffold.kt +++ b/ui/src/main/java/de/mm20/launcher2/ui/launcher/PagerScaffold.kt @@ -194,7 +194,7 @@ fun PagerScaffold( } } - val insets = WindowInsets.systemBars.asPaddingValues() + val insets = WindowInsets.safeDrawing.asPaddingValues() Box( modifier = modifier @@ -258,7 +258,7 @@ fun PagerScaffold( .fillMaxHeight() .nestedScroll(nestedScrollConnection) .verticalScroll(widgetsScrollState) - .systemBarsPadding() + .windowInsetsPadding(WindowInsets.safeDrawing) .padding(horizontal = 8.dp) .padding(top = 8.dp, bottom = 64.dp) .padding(top = editModePadding), @@ -281,7 +281,7 @@ fun PagerScaffold( .fillMaxHeight() .verticalScroll(searchScrollState, reverseScrolling = true) .imePadding() - .systemBarsPadding() + .windowInsetsPadding(WindowInsets.safeDrawing) .padding(horizontal = 8.dp) .padding(top = 8.dp, bottom = 64.dp) .padding(bottom = webSearchPadding), @@ -327,7 +327,7 @@ fun PagerScaffold( modifier = Modifier .align(Alignment.BottomCenter) .padding(start = 8.dp, end = 8.dp, bottom = 8.dp) - .systemBarsPadding() + .windowInsetsPadding(WindowInsets.safeDrawing) .imePadding() .offset(y = widgetEditModeOffset), level = { searchBarLevel }, focused = focusSearchBar, onFocusChange = { diff --git a/ui/src/main/java/de/mm20/launcher2/ui/launcher/PullDownScaffold.kt b/ui/src/main/java/de/mm20/launcher2/ui/launcher/PullDownScaffold.kt index 3860fde4..341dab53 100644 --- a/ui/src/main/java/de/mm20/launcher2/ui/launcher/PullDownScaffold.kt +++ b/ui/src/main/java/de/mm20/launcher2/ui/launcher/PullDownScaffold.kt @@ -215,7 +215,7 @@ fun PullDownScaffold( } } - val insets = WindowInsets.systemBars.asPaddingValues() + val insets = WindowInsets.safeDrawing.asPaddingValues() Box( modifier = modifier .nestedScroll(nestedScrollConnection) @@ -261,7 +261,7 @@ fun PullDownScaffold( .fillMaxWidth() .requiredHeight(height) .verticalScroll(searchScrollState) - .systemBarsPadding() + .windowInsetsPadding(WindowInsets.safeDrawing) .padding(8.dp) .padding(top = 56.dp) .padding(top = webSearchPadding) @@ -288,7 +288,7 @@ fun PullDownScaffold( .fillMaxWidth() .requiredHeight(height) .verticalScroll(widgetsScrollState) - .systemBarsPadding() + .windowInsetsPadding(WindowInsets.safeDrawing) .padding(8.dp) .padding(top = editModePadding), clockHeight = { clockHeight }, @@ -311,7 +311,7 @@ fun PullDownScaffold( ) { CenterAlignedTopAppBar( modifier = Modifier - .systemBarsPadding(), + .windowInsetsPadding(WindowInsets.safeDrawing), title = { Text(stringResource(R.string.menu_edit_widgets)) }, @@ -344,7 +344,7 @@ fun PullDownScaffold( modifier = Modifier .fillMaxWidth() .wrapContentHeight() - .systemBarsPadding() + .windowInsetsPadding(WindowInsets.safeDrawing) .padding(8.dp) .offset { IntOffset(0, searchBarOffset.value.toInt()) } .offset {