From f7f0e54f2ed0e0634d713c6c5676a28bcd46e8c4 Mon Sep 17 00:00:00 2001 From: MM20 <15646950+MM2-0@users.noreply.github.com> Date: Thu, 16 May 2024 23:22:10 +0200 Subject: [PATCH] Fix calendar widget animation --- .../launcher/widgets/calendar/CalendarWidget.kt | 15 +++++++-------- .../src/main/java/de/mm20/launcher2/Tuples.kt | 8 ++++++++ 2 files changed, 15 insertions(+), 8 deletions(-) create mode 100644 core/base/src/main/java/de/mm20/launcher2/Tuples.kt diff --git a/app/ui/src/main/java/de/mm20/launcher2/ui/launcher/widgets/calendar/CalendarWidget.kt b/app/ui/src/main/java/de/mm20/launcher2/ui/launcher/widgets/calendar/CalendarWidget.kt index bc496491..6307f4c8 100644 --- a/app/ui/src/main/java/de/mm20/launcher2/ui/launcher/widgets/calendar/CalendarWidget.kt +++ b/app/ui/src/main/java/de/mm20/launcher2/ui/launcher/widgets/calendar/CalendarWidget.kt @@ -48,6 +48,7 @@ import androidx.lifecycle.Lifecycle import androidx.lifecycle.compose.LocalLifecycleOwner import androidx.lifecycle.repeatOnLifecycle import androidx.lifecycle.viewmodel.compose.viewModel +import de.mm20.launcher2.Quadruple import de.mm20.launcher2.ui.R import de.mm20.launcher2.ui.component.InnerCard import de.mm20.launcher2.ui.component.MissingPermissionBanner @@ -126,12 +127,10 @@ fun CalendarWidget( } } val events by viewModel.calendarEvents + val nextEvents by viewModel.nextEvents val runningEvents by viewModel.hiddenPastEvents val hasPermission by viewModel.hasPermission.collectAsState() - Column( - modifier = Modifier - .animateContentSize() - ) { + Column { if (hasPermission == false) { MissingPermissionBanner( modifier = Modifier @@ -143,10 +142,11 @@ fun CalendarWidget( ) } AnimatedContent( - Triple( + Quadruple( selectedDate, events, - runningEvents + runningEvents, + nextEvents ), transitionSpec = { when { @@ -182,7 +182,7 @@ fun CalendarWidget( } } } - ) { (_, events, runningEvents) -> + ) { (_, events, runningEvents, nextEvents) -> Column( modifier = Modifier .padding(horizontal = 12.dp) @@ -208,7 +208,6 @@ fun CalendarWidget( } ) } - val nextEvents by viewModel.nextEvents if (nextEvents.isNotEmpty()) { Text( stringResource(R.string.calendar_widget_next_events), diff --git a/core/base/src/main/java/de/mm20/launcher2/Tuples.kt b/core/base/src/main/java/de/mm20/launcher2/Tuples.kt new file mode 100644 index 00000000..1ed96c98 --- /dev/null +++ b/core/base/src/main/java/de/mm20/launcher2/Tuples.kt @@ -0,0 +1,8 @@ +package de.mm20.launcher2 + +data class Quadruple( + val first: A, + val second: B, + val third: C, + val fourth: D +) \ No newline at end of file