From 5ee6c1f2581437c05bf844a72d635d3b5c3ce65d Mon Sep 17 00:00:00 2001 From: Pat Manning Date: Thu, 14 Nov 2024 14:45:59 +0000 Subject: Update dimensions of ShortcutHelper. Fix text wrapping for large font. Increase width of bottom sheet and top padding to match new specs. Fix: 373524471 Fix: 370085832 Flag: EXEMPT Bugfix. Test: ComposeDialogScreenshotTest Change-Id: I210ed42eb58c59373b90d068ef4dd8d7a7b3380f --- .../statusbar/phone/SystemUIDialogFactoryExt.kt | 2 +- .../shortcut/ui/composable/ShortcutHelper.kt | 56 ++++++++++++++-------- .../shortcut/ui/composable/ShortcutHelperUtils.kt | 2 +- 3 files changed, 38 insertions(+), 22 deletions(-) diff --git a/packages/SystemUI/compose/features/src/com/android/systemui/statusbar/phone/SystemUIDialogFactoryExt.kt b/packages/SystemUI/compose/features/src/com/android/systemui/statusbar/phone/SystemUIDialogFactoryExt.kt index 163f4b36f472..78e605601b76 100644 --- a/packages/SystemUI/compose/features/src/com/android/systemui/statusbar/phone/SystemUIDialogFactoryExt.kt +++ b/packages/SystemUI/compose/features/src/com/android/systemui/statusbar/phone/SystemUIDialogFactoryExt.kt @@ -307,6 +307,6 @@ private fun draggableTopPadding(): Dp { private object DraggableBottomSheet { val DefaultTopPadding = 64.dp - val LargeScreenTopPadding = 72.dp + val LargeScreenTopPadding = 56.dp val MaxWidth = 640.dp } diff --git a/packages/SystemUI/src/com/android/systemui/keyboard/shortcut/ui/composable/ShortcutHelper.kt b/packages/SystemUI/src/com/android/systemui/keyboard/shortcut/ui/composable/ShortcutHelper.kt index 41e69297f7c6..3666de460d91 100644 --- a/packages/SystemUI/src/com/android/systemui/keyboard/shortcut/ui/composable/ShortcutHelper.kt +++ b/packages/SystemUI/src/com/android/systemui/keyboard/shortcut/ui/composable/ShortcutHelper.kt @@ -72,6 +72,7 @@ import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TopAppBarDefaults import androidx.compose.runtime.Composable +import androidx.compose.runtime.CompositionLocalProvider import androidx.compose.runtime.LaunchedEffect import androidx.compose.runtime.getValue import androidx.compose.runtime.mutableStateOf @@ -90,6 +91,7 @@ import androidx.compose.ui.input.key.Key import androidx.compose.ui.input.key.key import androidx.compose.ui.input.key.onKeyEvent import androidx.compose.ui.platform.LocalContext +import androidx.compose.ui.platform.LocalDensity import androidx.compose.ui.platform.LocalFocusManager import androidx.compose.ui.res.painterResource import androidx.compose.ui.res.stringResource @@ -99,6 +101,7 @@ import androidx.compose.ui.semantics.semantics import androidx.compose.ui.text.SpanStyle import androidx.compose.ui.text.buildAnnotatedString import androidx.compose.ui.text.withStyle +import androidx.compose.ui.unit.Density import androidx.compose.ui.unit.Dp import androidx.compose.ui.unit.dp import androidx.compose.ui.unit.sp @@ -377,15 +380,19 @@ private fun ShortcutHelperTwoPane( Column(modifier = modifier.fillMaxSize().padding(horizontal = 24.dp)) { Row(modifier = Modifier.fillMaxWidth(), verticalAlignment = Alignment.CenterVertically) { - Box(modifier = Modifier.padding(start = 202.dp).width(412.dp)) { - TitleBar(isCustomizing) - } - Spacer(modifier = Modifier.weight(1f)) - if (isShortcutCustomizerFlagEnabled) { - if (isCustomizing) { - DoneButton(onClick = { isCustomizing = false }) + // Keep title centered whether customize button is visible or not. + Box(modifier = Modifier.fillMaxWidth(), contentAlignment = Alignment.CenterEnd) { + Box(modifier = Modifier.fillMaxWidth(), contentAlignment = Alignment.Center) { + TitleBar(isCustomizing) + } + if (isShortcutCustomizerFlagEnabled) { + if (isCustomizing) { + DoneButton(onClick = { isCustomizing = false }) + } else { + CustomizeButton(onClick = { isCustomizing = true }) + } } else { - CustomizeButton(onClick = { isCustomizing = true }) + Spacer(modifier = Modifier.width(if (isCustomizing) 69.dp else 133.dp)) } } } @@ -550,7 +557,7 @@ private fun Shortcut( .padding(8.dp) ) { Row( - modifier = Modifier.width(128.dp).align(Alignment.CenterVertically), + modifier = Modifier.width(128.dp).align(Alignment.CenterVertically).weight(0.333f), horizontalArrangement = Arrangement.spacedBy(16.dp), verticalAlignment = Alignment.CenterVertically, ) { @@ -561,7 +568,7 @@ private fun Shortcut( } Spacer(modifier = Modifier.width(24.dp)) ShortcutKeyCombinations( - modifier = Modifier.weight(1f), + modifier = Modifier.weight(.666f), shortcut = shortcut, isCustomizing = isCustomizing, onAddShortcutRequested = { onCustomizationRequested(shortcut.label) }, @@ -791,16 +798,25 @@ private fun StartSidePanel( selectedCategory: ShortcutCategoryType?, onCategoryClicked: (ShortcutCategoryUi) -> Unit, ) { - Column(modifier) { - ShortcutsSearchBar(onSearchQueryChanged) - Spacer(modifier = Modifier.heightIn(8.dp)) - CategoriesPanelTwoPane(categories, selectedCategory, onCategoryClicked) - Spacer(modifier = Modifier.weight(1f)) - KeyboardSettings( - horizontalPadding = 24.dp, - verticalPadding = 24.dp, - onKeyboardSettingsClicked, - ) + CompositionLocalProvider( + // Restrict system font scale increases up to a max so categories display correctly. + LocalDensity provides + Density( + density = LocalDensity.current.density, + fontScale = LocalDensity.current.fontScale.coerceIn(1f, 1.5f), + ) + ) { + Column(modifier) { + ShortcutsSearchBar(onSearchQueryChanged) + Spacer(modifier = Modifier.heightIn(8.dp)) + CategoriesPanelTwoPane(categories, selectedCategory, onCategoryClicked) + Spacer(modifier = Modifier.weight(1f)) + KeyboardSettings( + horizontalPadding = 24.dp, + verticalPadding = 24.dp, + onKeyboardSettingsClicked, + ) + } } } diff --git a/packages/SystemUI/src/com/android/systemui/keyboard/shortcut/ui/composable/ShortcutHelperUtils.kt b/packages/SystemUI/src/com/android/systemui/keyboard/shortcut/ui/composable/ShortcutHelperUtils.kt index e295564a740f..f9904f6f62bc 100644 --- a/packages/SystemUI/src/com/android/systemui/keyboard/shortcut/ui/composable/ShortcutHelperUtils.kt +++ b/packages/SystemUI/src/com/android/systemui/keyboard/shortcut/ui/composable/ShortcutHelperUtils.kt @@ -49,5 +49,5 @@ fun getWidth(): Dp { object ShortcutHelperBottomSheet { val DefaultWidth = 412.dp val LargeScreenWidthPortrait = 704.dp - val LargeScreenWidthLandscape = 864.dp + val LargeScreenWidthLandscape = 960.dp } -- cgit v1.2.3-59-g8ed1b