fix: 将 MainActivity 首启标记消费移到 SideEffect

This commit is contained in:
fansan
2026-06-14 12:29:05 +08:00
parent 6fe839b6e7
commit 584891a84e
@@ -20,6 +20,7 @@ import androidx.compose.animation.scaleOut
import androidx.compose.animation.togetherWith
import androidx.compose.runtime.Composable
import androidx.compose.runtime.LaunchedEffect
import androidx.compose.runtime.SideEffect
import androidx.compose.runtime.remember
import androidx.core.splashscreen.SplashScreen.Companion.installSplashScreen
import androidx.lifecycle.lifecycleScope
@@ -193,16 +194,18 @@ open class MainActivity : BaseComposeActivity(), VariableDialog.Callback {
}
val startRoutes = remember {
val routes = resolveInitialStartRoutes(
resolveInitialStartRoutes(
resolved = MainNavigator.resolveStartRoute(intent),
defaultToRead = OtherConfig.defaultToRead,
isFreshCreate = shouldApplyDefaultToRead,
)
shouldApplyDefaultToRead = false
routes.toTypedArray()
).toTypedArray()
}
val backStack = rememberNavBackStack(*startRoutes)
SideEffect {
shouldApplyDefaultToRead = false
}
LaunchedEffect(backStack) {
routeEvents.collect { route ->
MainNavigator.navigateToRoute(backStack, route)