diff --git a/app/src/main/kotlin/com/hippo/ehviewer/ui/screen/DownloadsScreen.kt b/app/src/main/kotlin/com/hippo/ehviewer/ui/screen/DownloadsScreen.kt index 63ba50d41..194baa01a 100644 --- a/app/src/main/kotlin/com/hippo/ehviewer/ui/screen/DownloadsScreen.kt +++ b/app/src/main/kotlin/com/hippo/ehviewer/ui/screen/DownloadsScreen.kt @@ -64,6 +64,7 @@ import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember import androidx.compose.runtime.rememberUpdatedState import androidx.compose.runtime.saveable.rememberSaveable +import androidx.compose.runtime.saveable.rememberSerializable import androidx.compose.runtime.setValue import androidx.compose.runtime.snapshotFlow import androidx.compose.ui.Alignment @@ -118,7 +119,6 @@ import com.hippo.ehviewer.ui.tools.awaitSelectItemWithCheckBox import com.hippo.ehviewer.ui.tools.awaitSingleChoice import com.hippo.ehviewer.ui.tools.rememberHapticFeedback import com.hippo.ehviewer.ui.tools.rememberInVM -import com.hippo.ehviewer.ui.tools.rememberSerializable import com.hippo.ehviewer.ui.tools.thenIf import com.hippo.ehviewer.util.mapToLongArray import com.hippo.ehviewer.util.takeAndClear diff --git a/app/src/main/kotlin/com/hippo/ehviewer/ui/tools/State.kt b/app/src/main/kotlin/com/hippo/ehviewer/ui/tools/State.kt index c83a56697..aacfbef6e 100644 --- a/app/src/main/kotlin/com/hippo/ehviewer/ui/tools/State.kt +++ b/app/src/main/kotlin/com/hippo/ehviewer/ui/tools/State.kt @@ -5,12 +5,8 @@ import androidx.compose.runtime.MutableState import androidx.compose.runtime.getValue import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember -import androidx.compose.runtime.saveable.rememberSaveable import androidx.compose.runtime.setValue -import androidx.savedstate.serialization.SavedStateConfiguration import kotlin.reflect.KMutableProperty0 -import kotlinx.serialization.KSerializer -import kotlinx.serialization.serializer val KMutableProperty0.observed: MutableState @Composable @@ -33,11 +29,3 @@ val MutableState.rememberedAccessor: KMutableProperty0 var value by this@rememberedAccessor }::value } - -@Composable -inline fun rememberSerializable( - vararg inputs: Any?, - stateSerializer: KSerializer = serializer(), - configuration: SavedStateConfiguration = SavedStateConfiguration.DEFAULT, - noinline init: () -> MutableState, -) = rememberSaveable(inputs = inputs, stateSerializer, configuration, init) diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index d17110d27..c35463d1d 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -16,7 +16,7 @@ androidx-room = "2.7.2" androidx-work = "2.10.2" arrow = "2.1.2" coil = "3.2.0" -compose-bom = "2025.06.00" +compose-bom = "2025.06.02" compose-destinations = "2.2.0" kotlin = "2.2.0" kotlinx-coroutines = "1.10.2" @@ -70,7 +70,8 @@ coil-network = { module = "io.coil-kt.coil3:coil-network-ktor3" } compose-bom = { module = "androidx.compose:compose-bom-alpha", version.ref = "compose-bom" } compose-foundation = { module = "androidx.compose.foundation:foundation" } compose-material-icons-extended = { module = "androidx.compose.material:material-icons-extended" } -compose-material3 = { module = "androidx.compose.material3:material3" } +# https://issuetracker.google.com/427778135 +compose-material3 = { module = "androidx.compose.material3:material3-android", version = { strictly = "1.4.0-alpha15" } } compose-material3-adaptive = { module = "androidx.compose.material3.adaptive:adaptive" } compose-ui-tooling = { module = "androidx.compose.ui:ui-tooling" } compose-ui-tooling-preview = { module = "androidx.compose.ui:ui-tooling-preview" }