From b3a36f640b8281a52de83708e4289d000971e134 Mon Sep 17 00:00:00 2001 From: MM20 <15646950+MM2-0@users.noreply.github.com> Date: Tue, 18 Oct 2022 18:17:07 +0200 Subject: [PATCH] Move clock widget out of widget column --- .../launcher2/ui/launcher/PagerScaffold.kt | 33 ++++++++++++----- .../launcher2/ui/launcher/PullDownScaffold.kt | 35 +++++++++++++------ .../ui/launcher/widgets/WidgetColumn.kt | 16 --------- 3 files changed, 50 insertions(+), 34 deletions(-) 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 f30906d3..478ca55f 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 @@ -44,6 +44,7 @@ import de.mm20.launcher2.ui.launcher.search.SearchBarLevel import de.mm20.launcher2.ui.launcher.search.SearchColumn import de.mm20.launcher2.ui.launcher.search.SearchVM import de.mm20.launcher2.ui.launcher.widgets.WidgetColumn +import de.mm20.launcher2.ui.launcher.widgets.clock.ClockWidget import de.mm20.launcher2.ui.utils.rememberNotificationShadeController import kotlinx.coroutines.launch import kotlin.math.roundToInt @@ -290,7 +291,7 @@ fun PagerScaffold( } } - WidgetColumn( + Column( modifier = Modifier .requiredWidth(width) .fillMaxHeight() @@ -299,14 +300,30 @@ fun PagerScaffold( .windowInsetsPadding(WindowInsets.safeDrawing) .padding(horizontal = 8.dp) .padding(top = 8.dp, bottom = 64.dp) - .padding(top = editModePadding), - clockHeight = { clockHeight }, - clockBottomPadding = { clockPadding }, - editMode = isWidgetEditMode, - onEditModeChange = { - viewModel.setWidgetEditMode(it) + .padding(top = editModePadding) + ) { + + AnimatedVisibility(!isWidgetEditMode) { + Box( + modifier = Modifier + .fillMaxWidth() + .then(clockHeight?.let { Modifier.height(it) } ?: Modifier) + .padding(bottom = clockPadding), + contentAlignment = Alignment.BottomCenter + ) { + ClockWidget( + modifier = Modifier.fillMaxWidth() + ) + } } - ) + + WidgetColumn( + editMode = isWidgetEditMode, + onEditModeChange = { + viewModel.setWidgetEditMode(it) + } + ) + } val websearches by searchVM.websearchResults.observeAsState(emptyList()) 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 c94b4e2d..4e529f92 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 @@ -41,6 +41,7 @@ import de.mm20.launcher2.ui.launcher.search.SearchBarLevel import de.mm20.launcher2.ui.launcher.search.SearchColumn import de.mm20.launcher2.ui.launcher.search.SearchVM import de.mm20.launcher2.ui.launcher.widgets.WidgetColumn +import de.mm20.launcher2.ui.launcher.widgets.clock.ClockWidget import kotlinx.coroutines.launch import kotlin.math.roundToInt @@ -307,9 +308,9 @@ fun PullDownScaffold( } } } - WidgetColumn( - modifier = - Modifier + + Column( + modifier = Modifier .graphicsLayer { transformOrigin = TransformOrigin.Center scaleX = 1 - offset @@ -321,14 +322,28 @@ fun PullDownScaffold( .verticalScroll(widgetsScrollState) .windowInsetsPadding(WindowInsets.safeDrawing) .padding(8.dp) - .padding(top = 56.dp), - clockHeight = { clockHeight }, - clockBottomPadding = { clockPadding }, - editMode = isWidgetEditMode, - onEditModeChange = { - viewModel.setWidgetEditMode(it) + .padding(top = 56.dp) + ) { + AnimatedVisibility(!isWidgetEditMode) { + Box( + modifier = Modifier + .fillMaxWidth() + .then(clockHeight?.let { Modifier.height(it) } ?: Modifier) + .padding(bottom = clockPadding), + contentAlignment = Alignment.BottomCenter + ) { + ClockWidget( + modifier = Modifier.fillMaxWidth() + ) + } } - ) + WidgetColumn( + editMode = isWidgetEditMode, + onEditModeChange = { + viewModel.setWidgetEditMode(it) + } + ) + } } } diff --git a/ui/src/main/java/de/mm20/launcher2/ui/launcher/widgets/WidgetColumn.kt b/ui/src/main/java/de/mm20/launcher2/ui/launcher/widgets/WidgetColumn.kt index 77bff548..e986ec10 100644 --- a/ui/src/main/java/de/mm20/launcher2/ui/launcher/widgets/WidgetColumn.kt +++ b/ui/src/main/java/de/mm20/launcher2/ui/launcher/widgets/WidgetColumn.kt @@ -63,8 +63,6 @@ import kotlinx.coroutines.launch @Composable fun WidgetColumn( modifier: Modifier = Modifier, - clockHeight: () -> Dp? = { null }, - clockBottomPadding: () -> Dp = { 0.dp }, editMode: Boolean = false, onEditModeChange: (Boolean) -> Unit, ) { @@ -103,20 +101,6 @@ fun WidgetColumn( ) { val scope = rememberCoroutineScope() var showAddDialog by remember { mutableStateOf(false) } - - AnimatedVisibility(!editMode) { - Box( - modifier = Modifier - .fillMaxWidth() - .then(clockHeight()?.let { Modifier.height(it) } ?: Modifier) - .padding(bottom = clockBottomPadding()), - contentAlignment = Alignment.BottomCenter - ) { - ClockWidget( - modifier = Modifier.fillMaxWidth() - ) - } - } Column { val widgets by viewModel.widgets.observeAsState(emptyList()) val swapThresholds = remember(widgets) {