Skip to content

Commit 067020f

Browse files
authored
feat: Screen slide transition (#2396)
1 parent 2aef678 commit 067020f

File tree

1 file changed

+31
-3
lines changed

1 file changed

+31
-3
lines changed

app/src/main/java/app/revanced/manager/MainActivity.kt

Lines changed: 31 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,8 @@ import androidx.activity.compose.setContent
99
import androidx.activity.enableEdgeToEdge
1010
import androidx.activity.result.contract.ActivityResultContracts
1111
import androidx.compose.animation.ExperimentalAnimationApi
12+
import androidx.compose.animation.slideInHorizontally
13+
import androidx.compose.animation.slideOutHorizontally
1214
import androidx.compose.foundation.isSystemInDarkTheme
1315
import androidx.compose.runtime.Composable
1416
import androidx.compose.runtime.getValue
@@ -23,9 +25,31 @@ import androidx.navigation.compose.composable
2325
import androidx.navigation.compose.navigation
2426
import androidx.navigation.compose.rememberNavController
2527
import androidx.navigation.toRoute
26-
import app.revanced.manager.ui.model.navigation.*
27-
import app.revanced.manager.ui.screen.*
28-
import app.revanced.manager.ui.screen.settings.*
28+
import app.revanced.manager.ui.model.navigation.AppSelector
29+
import app.revanced.manager.ui.model.navigation.ComplexParameter
30+
import app.revanced.manager.ui.model.navigation.Dashboard
31+
import app.revanced.manager.ui.model.navigation.InstalledApplicationInfo
32+
import app.revanced.manager.ui.model.navigation.Patcher
33+
import app.revanced.manager.ui.model.navigation.SelectedApplicationInfo
34+
import app.revanced.manager.ui.model.navigation.Settings
35+
import app.revanced.manager.ui.model.navigation.Update
36+
import app.revanced.manager.ui.screen.AppSelectorScreen
37+
import app.revanced.manager.ui.screen.DashboardScreen
38+
import app.revanced.manager.ui.screen.InstalledAppInfoScreen
39+
import app.revanced.manager.ui.screen.PatcherScreen
40+
import app.revanced.manager.ui.screen.PatchesSelectorScreen
41+
import app.revanced.manager.ui.screen.RequiredOptionsScreen
42+
import app.revanced.manager.ui.screen.SelectedAppInfoScreen
43+
import app.revanced.manager.ui.screen.SettingsScreen
44+
import app.revanced.manager.ui.screen.UpdateScreen
45+
import app.revanced.manager.ui.screen.settings.AboutSettingsScreen
46+
import app.revanced.manager.ui.screen.settings.AdvancedSettingsScreen
47+
import app.revanced.manager.ui.screen.settings.ContributorScreen
48+
import app.revanced.manager.ui.screen.settings.DeveloperOptionsScreen
49+
import app.revanced.manager.ui.screen.settings.DownloadsSettingsScreen
50+
import app.revanced.manager.ui.screen.settings.GeneralSettingsScreen
51+
import app.revanced.manager.ui.screen.settings.ImportExportSettingsScreen
52+
import app.revanced.manager.ui.screen.settings.LicensesScreen
2953
import app.revanced.manager.ui.screen.settings.update.ChangelogsScreen
3054
import app.revanced.manager.ui.screen.settings.update.UpdatesSettingsScreen
3155
import app.revanced.manager.ui.theme.ReVancedManagerTheme
@@ -89,6 +113,10 @@ private fun ReVancedManager(vm: MainViewModel) {
89113
NavHost(
90114
navController = navController,
91115
startDestination = Dashboard,
116+
enterTransition = { slideInHorizontally(initialOffsetX = { it }) },
117+
exitTransition = { slideOutHorizontally(targetOffsetX = { -it / 3 }) },
118+
popEnterTransition = { slideInHorizontally(initialOffsetX = { -it / 3 }) },
119+
popExitTransition = { slideOutHorizontally(targetOffsetX = { it }) },
92120
) {
93121
composable<Dashboard> {
94122
DashboardScreen(

0 commit comments

Comments
 (0)