diff --git a/app/src/main/java/io/legado/app/ui/main/MainActivity.kt b/app/src/main/java/io/legado/app/ui/main/MainActivity.kt index 0556407de..f4d406875 100644 --- a/app/src/main/java/io/legado/app/ui/main/MainActivity.kt +++ b/app/src/main/java/io/legado/app/ui/main/MainActivity.kt @@ -184,6 +184,7 @@ open class MainActivity : BaseComposeActivity(), VariableDialog.Callback { override fun onNewIntent(intent: Intent) { super.onNewIntent(intent) setIntent(intent) + if (!intent.hasExplicitStartRoute()) return routeEvents.tryEmit(MainNavigator.resolveStartRoute(intent)) } @@ -204,7 +205,7 @@ open class MainActivity : BaseComposeActivity(), VariableDialog.Callback { val startRoutes = remember { val resolved = MainNavigator.resolveStartRoute(intent) - val hasExplicitStartRoute = intent?.hasExtra(MainIntent.EXTRA_START_ROUTE) == true + val hasExplicitStartRoute = intent?.hasExplicitStartRoute() == true when { !hasExplicitStartRoute && restoredReadBookRoute != null -> { arrayOf(MainRouteHome, restoredReadBookRoute!!) @@ -414,6 +415,10 @@ open class MainActivity : BaseComposeActivity(), VariableDialog.Callback { ) } + private fun Intent.hasExplicitStartRoute(): Boolean { + return hasExtra(MainIntent.EXTRA_START_ROUTE) + } + override fun dispatchKeyEvent(event: KeyEvent): Boolean { val keyCode = event.keyCode val isDown = event.action == KeyEvent.ACTION_DOWN