Redesign PlaylistScreen (#172)

This commit is contained in:
vfsfitvnm
2022-09-27 16:43:59 +02:00
parent 2e3d437c15
commit 83230e3817
21 changed files with 537 additions and 609 deletions

View File

@@ -51,6 +51,30 @@ fun <T> produceSaveableState(
return state
}
@Composable
fun <T> produceSaveableOneShotState(
initialValue: T,
stateSaver: Saver<T, out Any>,
@BuilderInference producer: suspend ProduceStateScope<T>.() -> Unit
): State<T> {
val state = rememberSaveable(stateSaver = stateSaver) {
mutableStateOf(initialValue)
}
var produced by rememberSaveable {
mutableStateOf(false)
}
LaunchedEffect(Unit) {
if (!produced) {
ProduceSaveableStateScope(state, coroutineContext).producer()
produced = true
}
}
return state
}
@Composable
fun <T> produceSaveableOneShotState(
initialValue: T,