From 6291288c42b38f7c225efbd3821532b11b784406 Mon Sep 17 00:00:00 2001 From: GG Bond Date: Sun, 26 Nov 2023 23:06:36 +0800 Subject: [PATCH] Lowering default navAnim duration to 500ms --- .../kotlin/androidx/navigation/compose/NavHost.kt | 2 +- .../kotlin/com/hippo/ehviewer/ui/ConfigureActivity.kt | 3 +-- .../main/kotlin/com/hippo/ehviewer/ui/MainActivity.kt | 3 +-- app/src/main/kotlin/com/hippo/ehviewer/ui/Theme.kt | 11 +++++++++++ 4 files changed, 14 insertions(+), 5 deletions(-) diff --git a/app/src/main/kotlin/androidx/navigation/compose/NavHost.kt b/app/src/main/kotlin/androidx/navigation/compose/NavHost.kt index d1f307d12..fb40114d5 100644 --- a/app/src/main/kotlin/androidx/navigation/compose/NavHost.kt +++ b/app/src/main/kotlin/androidx/navigation/compose/NavHost.kt @@ -293,7 +293,7 @@ public fun NavHost( LaunchedEffect(backStackEntry) { try { - animatedFraction.animateTo(1f, animationSpec = tween(700, easing = LinearEasing)) { + animatedFraction.animateTo(1f, animationSpec = tween(500, easing = LinearEasing)) { seekToFraction(transitionState.currentState, backStackEntry) } } finally { diff --git a/app/src/main/kotlin/com/hippo/ehviewer/ui/ConfigureActivity.kt b/app/src/main/kotlin/com/hippo/ehviewer/ui/ConfigureActivity.kt index e500bf5ef..f36d43f10 100644 --- a/app/src/main/kotlin/com/hippo/ehviewer/ui/ConfigureActivity.kt +++ b/app/src/main/kotlin/com/hippo/ehviewer/ui/ConfigureActivity.kt @@ -17,7 +17,6 @@ import com.hippo.ehviewer.ui.destinations.SignInScreenDestination import com.hippo.ehviewer.ui.tools.LocalWindowSizeClass import com.hippo.ehviewer.util.findActivity import com.ramcosta.composedestinations.DestinationsNavHost -import com.ramcosta.composedestinations.animations.defaults.RootNavGraphDefaultAnimations import com.ramcosta.composedestinations.annotation.Destination import com.ramcosta.composedestinations.rememberNavHostEngine @@ -35,7 +34,7 @@ class ConfigureActivity : EhActivity() { } else { BaseScreenDestination }, - engine = rememberNavHostEngine(rootDefaultAnimations = RootNavGraphDefaultAnimations.ACCOMPANIST_FADING), + engine = rememberNavHostEngine(rootDefaultAnimations = ehNavAnim), ) } } diff --git a/app/src/main/kotlin/com/hippo/ehviewer/ui/MainActivity.kt b/app/src/main/kotlin/com/hippo/ehviewer/ui/MainActivity.kt index 55a784732..3adb54ab1 100644 --- a/app/src/main/kotlin/com/hippo/ehviewer/ui/MainActivity.kt +++ b/app/src/main/kotlin/com/hippo/ehviewer/ui/MainActivity.kt @@ -121,7 +121,6 @@ import com.hippo.ehviewer.util.addTextToClipboard import com.hippo.ehviewer.util.getParcelableExtraCompat import com.hippo.ehviewer.util.getUrlFromClipboard import com.ramcosta.composedestinations.DestinationsNavHost -import com.ramcosta.composedestinations.animations.defaults.RootNavGraphDefaultAnimations import com.ramcosta.composedestinations.rememberNavHostEngine import com.ramcosta.composedestinations.utils.currentDestinationAsState import eu.kanade.tachiyomi.util.lang.launchUI @@ -375,7 +374,7 @@ class MainActivity : EhActivity() { DestinationsNavHost( navGraph = NavGraphs.root, startRoute = navItems[Settings.launchPage].first, - engine = rememberNavHostEngine(rootDefaultAnimations = RootNavGraphDefaultAnimations.ACCOMPANIST_FADING), + engine = rememberNavHostEngine(rootDefaultAnimations = ehNavAnim), navController = navController, ) } diff --git a/app/src/main/kotlin/com/hippo/ehviewer/ui/Theme.kt b/app/src/main/kotlin/com/hippo/ehviewer/ui/Theme.kt index a6c6b378a..7fa81c78f 100644 --- a/app/src/main/kotlin/com/hippo/ehviewer/ui/Theme.kt +++ b/app/src/main/kotlin/com/hippo/ehviewer/ui/Theme.kt @@ -2,6 +2,9 @@ package com.hippo.ehviewer.ui import androidx.activity.ComponentActivity import androidx.activity.compose.setContent +import androidx.compose.animation.core.tween +import androidx.compose.animation.fadeIn +import androidx.compose.animation.fadeOut import androidx.compose.runtime.Composable import androidx.compose.runtime.CompositionLocalProvider import androidx.compose.runtime.remember @@ -9,6 +12,7 @@ import androidx.compose.ui.platform.ComposeView import com.google.accompanist.themeadapter.material3.Mdc3Theme import com.hippo.ehviewer.ui.tools.DialogState import com.hippo.ehviewer.ui.tools.LocalDialogState +import com.ramcosta.composedestinations.animations.defaults.RootNavGraphDefaultAnimations // To make sure compose theme and legacy view theme are in sync, we only use Mdc3Theme @@ -31,3 +35,10 @@ inline fun ComponentActivity.setMD3Content(crossinline content: @Composable () - } } } + +val ehNavAnim by lazy { + RootNavGraphDefaultAnimations( + enterTransition = { fadeIn(animationSpec = tween(500)) }, + exitTransition = { fadeOut(animationSpec = tween(500)) }, + ) +}