From fd821c240325c32d869f513721b62ab828552b6c Mon Sep 17 00:00:00 2001 From: Tlaster Date: Tue, 15 Oct 2024 09:00:48 +0900 Subject: [PATCH 1/2] fix tab navigation blink --- .../flare/ui/screen/home/HomeScreen.kt | 23 ++++--------- .../flare/ui/screen/splash/TabSplashScreen.kt | 33 ------------------- 2 files changed, 6 insertions(+), 50 deletions(-) delete mode 100644 app/src/main/java/dev/dimension/flare/ui/screen/splash/TabSplashScreen.kt diff --git a/app/src/main/java/dev/dimension/flare/ui/screen/home/HomeScreen.kt b/app/src/main/java/dev/dimension/flare/ui/screen/home/HomeScreen.kt index 8b61e3954..25c16afba 100644 --- a/app/src/main/java/dev/dimension/flare/ui/screen/home/HomeScreen.kt +++ b/app/src/main/java/dev/dimension/flare/ui/screen/home/HomeScreen.kt @@ -74,7 +74,6 @@ import com.ramcosta.composedestinations.generated.destinations.MeRouteDestinatio import com.ramcosta.composedestinations.generated.destinations.NotificationRouteDestination import com.ramcosta.composedestinations.generated.destinations.ServiceSelectRouteDestination import com.ramcosta.composedestinations.generated.destinations.SettingsRouteDestination -import com.ramcosta.composedestinations.generated.destinations.TabSplashScreenDestination import com.ramcosta.composedestinations.generated.destinations.TimelineRouteDestination import com.ramcosta.composedestinations.navigation.DependenciesContainerBuilder import com.ramcosta.composedestinations.navigation.dependency @@ -125,7 +124,6 @@ import dev.dimension.flare.ui.screen.settings.AccountItem import dev.dimension.flare.ui.screen.settings.TabIcon import dev.dimension.flare.ui.screen.settings.TabTitle import dev.dimension.flare.ui.screen.splash.SplashScreen -import dev.dimension.flare.ui.screen.splash.SplashScreenArgs import dev.dimension.flare.ui.theme.FlareTheme import dev.dimension.flare.ui.theme.MediumAlpha import dev.dimension.flare.ui.theme.screenHorizontalPadding @@ -412,18 +410,13 @@ internal fun HomeScreen( Router( modifier = Modifier.fillMaxSize(), navGraph = NavGraphs.root, - direction = TabSplashScreenDestination, + direction = + getDirection( + tab, + tab.account, + ), ) { dependency(rootNavController) - dependency( - SplashScreenArgs( - getDirection( - tab, - tab.account, - ), - ), - ) -// dependency(tabState) dependency(drawerState) dependency(state.navigationState) } @@ -451,13 +444,9 @@ internal fun HomeScreen( Router( modifier = Modifier.fillMaxSize(), navGraph = NavGraphs.root, - direction = TabSplashScreenDestination, + direction = ServiceSelectRouteDestination, ) { dependency(rootNavController) - dependency( - SplashScreenArgs(ServiceSelectRouteDestination), - ) -// dependency(tabState) dependency(drawerState) dependency(state.navigationState) } diff --git a/app/src/main/java/dev/dimension/flare/ui/screen/splash/TabSplashScreen.kt b/app/src/main/java/dev/dimension/flare/ui/screen/splash/TabSplashScreen.kt deleted file mode 100644 index 18e177c47..000000000 --- a/app/src/main/java/dev/dimension/flare/ui/screen/splash/TabSplashScreen.kt +++ /dev/null @@ -1,33 +0,0 @@ -package dev.dimension.flare.ui.screen.splash - -import androidx.compose.runtime.Composable -import androidx.compose.runtime.LaunchedEffect -import com.ramcosta.composedestinations.annotation.Destination -import com.ramcosta.composedestinations.annotation.RootGraph -import com.ramcosta.composedestinations.generated.destinations.TabSplashScreenDestination -import com.ramcosta.composedestinations.navigation.DestinationsNavigator -import com.ramcosta.composedestinations.spec.Direction -import dev.dimension.flare.ui.component.ThemeWrapper - -@Destination( - wrappers = [ThemeWrapper::class], - start = true, -) -@Composable -internal fun TabSplashScreen( - args: SplashScreenArgs, - navigator: DestinationsNavigator, -) { - LaunchedEffect(Unit) { - navigator.navigate(direction = args.direction) { - popUpTo(TabSplashScreenDestination) { - inclusive = true - } - } - } - SplashScreen() -} - -data class SplashScreenArgs( - val direction: Direction, -) From 184b8e2b1710f72eb899aa234a99d86fcd0d61de Mon Sep 17 00:00:00 2001 From: Tlaster Date: Tue, 15 Oct 2024 09:11:24 +0900 Subject: [PATCH 2/2] fix build --- .../flare/ui/screen/splash/TabSplashScreen.kt | 33 +++++++++++++++++++ 1 file changed, 33 insertions(+) create mode 100644 app/src/main/java/dev/dimension/flare/ui/screen/splash/TabSplashScreen.kt diff --git a/app/src/main/java/dev/dimension/flare/ui/screen/splash/TabSplashScreen.kt b/app/src/main/java/dev/dimension/flare/ui/screen/splash/TabSplashScreen.kt new file mode 100644 index 000000000..4d0be04ad --- /dev/null +++ b/app/src/main/java/dev/dimension/flare/ui/screen/splash/TabSplashScreen.kt @@ -0,0 +1,33 @@ +package dev.dimension.flare.ui.screen.splash + +import androidx.compose.runtime.Composable +import androidx.compose.runtime.LaunchedEffect +import com.ramcosta.composedestinations.annotation.Destination +import com.ramcosta.composedestinations.annotation.RootGraph +import com.ramcosta.composedestinations.generated.destinations.TabSplashScreenDestination +import com.ramcosta.composedestinations.navigation.DestinationsNavigator +import com.ramcosta.composedestinations.spec.Direction +import dev.dimension.flare.ui.component.ThemeWrapper + +@Destination( + wrappers = [ThemeWrapper::class], + start = true, +) +@Composable +internal fun TabSplashScreen( + args: SplashScreenArgs, + navigator: DestinationsNavigator, +) { + LaunchedEffect(Unit) { + navigator.navigate(direction = args.direction) { + popUpTo(TabSplashScreenDestination) { + inclusive = true + } + } + } + SplashScreen() +} + +internal data class SplashScreenArgs( + val direction: Direction, +)