Slide 49
Slide 49 text
@Composable
fun LibraryScreen(...) {
val (state, onStateChanged) = rememberSaveable(stateSaver = Saver) {
mutableStateOf(LibraryState(SortType.A_TO_Z, ListType.Grid))
}
Scaffold(...) {
MaterialMotion(...) {
LibraryContents(...)
}
}
}
LibraryScreen (with transition + saveable)
val Saver = run {
val sortTypeKey = "SortType"
val listTypeKey = "ListType"
mapSaver(
save = { mapOf(
sortTypeKey to it.sortType,
listTypeKey to it.listType,
)},
restore = { LibraryState(
it[sortTypeKey] as SortType,
it[listTypeKey] as ListType,
)}
)
}