Skip to content

Commit d230ce0

Browse files
Fix Student QA V5 - Part 2 - 4. finding (ToDo list Preferences page gap at the bottom issue.)
1 parent e84477a commit d230ce0

File tree

2 files changed

+26
-3
lines changed

2 files changed

+26
-3
lines changed

libs/pandautils/src/main/java/com/instructure/pandautils/compose/composables/FullScreenDialog.kt

Lines changed: 16 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,14 +20,15 @@ package com.instructure.pandautils.compose.composables
2020
import android.view.WindowManager
2121
import androidx.compose.foundation.layout.Box
2222
import androidx.compose.foundation.layout.WindowInsets
23+
import androidx.compose.foundation.layout.asPaddingValues
2324
import androidx.compose.foundation.layout.displayCutout
2425
import androidx.compose.foundation.layout.fillMaxSize
2526
import androidx.compose.foundation.layout.padding
2627
import androidx.compose.foundation.layout.systemBars
2728
import androidx.compose.foundation.layout.union
28-
import androidx.compose.foundation.layout.windowInsetsPadding
2929
import androidx.compose.runtime.Composable
3030
import androidx.compose.ui.Modifier
31+
import androidx.compose.ui.platform.LocalLayoutDirection
3132
import androidx.compose.ui.platform.LocalView
3233
import androidx.compose.ui.res.dimensionResource
3334
import androidx.compose.ui.unit.dp
@@ -60,10 +61,23 @@ fun FullScreenDialog(
6061
// Enable drawing behind system bars
6162
addFlags(WindowManager.LayoutParams.FLAG_LAYOUT_IN_SCREEN)
6263
addFlags(WindowManager.LayoutParams.FLAG_LAYOUT_NO_LIMITS)
64+
65+
// Ensure the window extends to full screen height
66+
setLayout(
67+
WindowManager.LayoutParams.MATCH_PARENT,
68+
WindowManager.LayoutParams.MATCH_PARENT
69+
)
6370
}
71+
val layoutDirection = LocalLayoutDirection.current
72+
val insets = WindowInsets.systemBars.union(WindowInsets.displayCutout).asPaddingValues()
6473
var modifier = Modifier
6574
.fillMaxSize()
66-
.windowInsetsPadding(WindowInsets.systemBars.union(WindowInsets.displayCutout))
75+
.padding(
76+
top = insets.calculateTopPadding(),
77+
start = insets.calculateLeftPadding(layoutDirection),
78+
end = insets.calculateRightPadding(layoutDirection)
79+
// Intentionally not applying bottom padding so content background extends behind navigation bar
80+
)
6781
if (ApiPrefs.isMasquerading) {
6882
modifier = modifier.padding(
6983
top = dimensionResource(R.dimen.masqueradeButtonSize),

libs/pandautils/src/main/java/com/instructure/pandautils/features/todolist/filter/ToDoFilterScreen.kt

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,11 +17,15 @@ package com.instructure.pandautils.features.todolist.filter
1717

1818
import androidx.compose.foundation.clickable
1919
import androidx.compose.foundation.layout.Column
20+
import androidx.compose.foundation.layout.PaddingValues
2021
import androidx.compose.foundation.layout.Row
2122
import androidx.compose.foundation.layout.Spacer
23+
import androidx.compose.foundation.layout.WindowInsets
24+
import androidx.compose.foundation.layout.asPaddingValues
2225
import androidx.compose.foundation.layout.defaultMinSize
2326
import androidx.compose.foundation.layout.fillMaxSize
2427
import androidx.compose.foundation.layout.fillMaxWidth
28+
import androidx.compose.foundation.layout.navigationBars
2529
import androidx.compose.foundation.layout.padding
2630
import androidx.compose.foundation.layout.size
2731
import androidx.compose.foundation.layout.width
@@ -97,6 +101,7 @@ fun ToDoFilterScreen(
97101
}
98102
)
99103
},
104+
contentWindowInsets = WindowInsets(0, 0, 0, 0),
100105
modifier = modifier
101106
) { padding ->
102107
ToDoFilterContent(
@@ -113,7 +118,11 @@ fun ToDoFilterContent(
113118
uiState: ToDoFilterUiState,
114119
modifier: Modifier = Modifier
115120
) {
116-
LazyColumn(modifier = modifier.testTag("ToDoFilterContent")) {
121+
val navigationBarPadding = WindowInsets.navigationBars.asPaddingValues()
122+
LazyColumn(
123+
modifier = modifier.testTag("ToDoFilterContent"),
124+
contentPadding = PaddingValues(bottom = navigationBarPadding.calculateBottomPadding())
125+
) {
117126
item {
118127
SectionHeader(title = stringResource(id = R.string.todoFilterVisibleItems))
119128
}

0 commit comments

Comments
 (0)