PagingSourceFactory capture mutableState only, Resolve #491

This commit is contained in:
GG Bond authored and Vladimir Dostoyevskiy committed 2023-12-14 12:46:42 +08:00
1 parent c6247230da
commit b02fb2d1d7
2 files changed
+6 -4

No files matched your search

@@ -122,10 +122,11 @@ fun FavouritesScreen(navigator: DestinationsNavigator) {
val data = rememberInVM(urlBuilder.favCat == FavListUrlBuilder.FAV_CAT_LOCAL) {
if (urlBuilder.favCat == FavListUrlBuilder.FAV_CAT_LOCAL) {
Pager(PagingConfig(20, jumpThreshold = 40)) {
if (keyword.isBlank()) {
val keywordNow = urlBuilder.keyword.orEmpty()
if (keywordNow.isBlank()) {
EhDB.localFavLazyList
} else {
EhDB.searchLocalFav(keyword)
EhDB.searchLocalFav(keywordNow)
}
}
} else {
@@ -1,6 +1,7 @@
package com.hippo.ehviewer.ui.tools
import androidx.compose.runtime.Composable
import androidx.compose.runtime.DisallowComposableCalls
import androidx.compose.runtime.DisposableEffect
import androidx.compose.runtime.State
import androidx.compose.runtime.currentCompositeKeyHash
@@ -15,9 +16,9 @@ class StateMapViewModel : ViewModel() {
}
@Composable
fun <T : Any> rememberInVM(
inline fun <T : Any> rememberInVM(
vararg inputs: Any?,
init: ViewModel.() -> T,
crossinline init: @DisallowComposableCalls ViewModel.() -> T,
): T {
val vm: StateMapViewModel = viewModel()
val key = currentCompositeKeyHash