Fix calendar widget animation
This commit is contained in:
parent
417c2e2972
commit
f7f0e54f2e
@ -48,6 +48,7 @@ import androidx.lifecycle.Lifecycle
|
|||||||
import androidx.lifecycle.compose.LocalLifecycleOwner
|
import androidx.lifecycle.compose.LocalLifecycleOwner
|
||||||
import androidx.lifecycle.repeatOnLifecycle
|
import androidx.lifecycle.repeatOnLifecycle
|
||||||
import androidx.lifecycle.viewmodel.compose.viewModel
|
import androidx.lifecycle.viewmodel.compose.viewModel
|
||||||
|
import de.mm20.launcher2.Quadruple
|
||||||
import de.mm20.launcher2.ui.R
|
import de.mm20.launcher2.ui.R
|
||||||
import de.mm20.launcher2.ui.component.InnerCard
|
import de.mm20.launcher2.ui.component.InnerCard
|
||||||
import de.mm20.launcher2.ui.component.MissingPermissionBanner
|
import de.mm20.launcher2.ui.component.MissingPermissionBanner
|
||||||
@ -126,12 +127,10 @@ fun CalendarWidget(
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
val events by viewModel.calendarEvents
|
val events by viewModel.calendarEvents
|
||||||
|
val nextEvents by viewModel.nextEvents
|
||||||
val runningEvents by viewModel.hiddenPastEvents
|
val runningEvents by viewModel.hiddenPastEvents
|
||||||
val hasPermission by viewModel.hasPermission.collectAsState()
|
val hasPermission by viewModel.hasPermission.collectAsState()
|
||||||
Column(
|
Column {
|
||||||
modifier = Modifier
|
|
||||||
.animateContentSize()
|
|
||||||
) {
|
|
||||||
if (hasPermission == false) {
|
if (hasPermission == false) {
|
||||||
MissingPermissionBanner(
|
MissingPermissionBanner(
|
||||||
modifier = Modifier
|
modifier = Modifier
|
||||||
@ -143,10 +142,11 @@ fun CalendarWidget(
|
|||||||
)
|
)
|
||||||
}
|
}
|
||||||
AnimatedContent(
|
AnimatedContent(
|
||||||
Triple(
|
Quadruple(
|
||||||
selectedDate,
|
selectedDate,
|
||||||
events,
|
events,
|
||||||
runningEvents
|
runningEvents,
|
||||||
|
nextEvents
|
||||||
),
|
),
|
||||||
transitionSpec = {
|
transitionSpec = {
|
||||||
when {
|
when {
|
||||||
@ -182,7 +182,7 @@ fun CalendarWidget(
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
) { (_, events, runningEvents) ->
|
) { (_, events, runningEvents, nextEvents) ->
|
||||||
Column(
|
Column(
|
||||||
modifier = Modifier
|
modifier = Modifier
|
||||||
.padding(horizontal = 12.dp)
|
.padding(horizontal = 12.dp)
|
||||||
@ -208,7 +208,6 @@ fun CalendarWidget(
|
|||||||
}
|
}
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
val nextEvents by viewModel.nextEvents
|
|
||||||
if (nextEvents.isNotEmpty()) {
|
if (nextEvents.isNotEmpty()) {
|
||||||
Text(
|
Text(
|
||||||
stringResource(R.string.calendar_widget_next_events),
|
stringResource(R.string.calendar_widget_next_events),
|
||||||
|
|||||||
8
core/base/src/main/java/de/mm20/launcher2/Tuples.kt
Normal file
8
core/base/src/main/java/de/mm20/launcher2/Tuples.kt
Normal file
@ -0,0 +1,8 @@
|
|||||||
|
package de.mm20.launcher2
|
||||||
|
|
||||||
|
data class Quadruple<out A, out B, out C, out D>(
|
||||||
|
val first: A,
|
||||||
|
val second: B,
|
||||||
|
val third: C,
|
||||||
|
val fourth: D
|
||||||
|
)
|
||||||
Loading…
x
Reference in New Issue
Block a user