Skip to content

Commit

Permalink
Removed accompanist animation.
Browse files Browse the repository at this point in the history
  • Loading branch information
nassdk committed Jan 30, 2022
1 parent 73a9aca commit 7c72835
Show file tree
Hide file tree
Showing 5 changed files with 14 additions and 76 deletions.
13 changes: 4 additions & 9 deletions app/src/main/java/com/nassdk/aero/AppGraph.kt
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,8 @@ package com.nassdk.aero

import androidx.compose.animation.ExperimentalAnimationApi
import androidx.compose.runtime.Composable
import com.google.accompanist.navigation.animation.AnimatedNavHost
import com.google.accompanist.navigation.animation.rememberAnimatedNavController
import androidx.navigation.compose.NavHost
import androidx.navigation.compose.rememberNavController
import com.nassdk.aero.mediators.MediatorManager
import com.nassdk.common.extensions.aeroComposable
import com.nassdk.common.extensions.composeViewModel
Expand All @@ -13,7 +13,6 @@ import com.nassdk.flights.presentation.ARG_FLIGHT_ENTITY
import com.nassdk.flights.presentation.FlightsScreen
import com.nassdk.flow.presentation.FlowScreen
import com.nassdk.navigation.Screens
import com.nassdk.navigation.TransitionType
import com.nassdk.profile.domain.entity.SettingsBundle
import com.nassdk.profile.presentation.profile.ProfileScreen
import com.nassdk.profile.presentation.settings.SettingsScreen
Expand All @@ -25,16 +24,15 @@ fun MainGraph(
settingsState: SettingsBundle,
onSettingsChanged: (SettingsBundle) -> Unit,
) {
val navController = rememberAnimatedNavController()
val navController = rememberNavController()

AnimatedNavHost(
NavHost(
navController = navController,
startDestination = Screens.Splash.route,
builder = {

aeroComposable(
target = Screens.Splash,
transitionType = TransitionType.NONE,
content = {

val viewModel = composeViewModel {
Expand Down Expand Up @@ -76,14 +74,12 @@ fun MainGraph(

aeroComposable(
target = Screens.Flow,
transitionType = TransitionType.NONE,
content = {
FlowScreen(
isDarkMode = settingsState.isDarkMode,
flowGraphBuilder = {
aeroComposable(
target = Screens.Flights,
transitionType = TransitionType.NONE,
content = {

val viewModel = composeViewModel {
Expand All @@ -99,7 +95,6 @@ fun MainGraph(

aeroComposable(
target = Screens.Profile,
transitionType = TransitionType.NONE,
content = { ProfileScreen(navController = navController) }
)
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -39,13 +39,14 @@ internal class DependenciesConfigurator : ProjectConfigurator {

implementDependency(dependency = Deps.appCompat)
implementDependency(dependency = Deps.coreKtx)
implementDependency(dependency = Deps.accompanistNavAnimation)
implementDependency(dependency = Deps.accompanistPlaceholder)
implementDependency(dependency = Deps.composeConstraint)
implementDependency(dependency = Deps.composeMaterial)
implementDependency(dependency = Deps.composeTooling)
implementDependency(dependency = Deps.composeUi)
implementDependency(dependency = Deps.navigation)
implementDependency(dependency = Deps.coroutinesAndroid)
implementDependency(dependency = Deps.lifecycle)
implementDependency(dependency = Deps.okhttp)
implementDependency(dependency = Deps.okhttpLogging)
implementDependency(dependency = Deps.retrofit)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,14 +4,15 @@ object Deps {
const val appCompat = "androidx.appcompat:appcompat:1.4.1"
const val coreKtx = "androidx.core:core-ktx:1.7.0"
const val composeActivity = "androidx.activity:activity-ktx:1.4.0"
const val navigation = "androidx.navigation:navigation-compose:2.4.0"
const val dataStore = "androidx.datastore:datastore-preferences:1.0.0"
const val composeUi = "androidx.compose.ui:ui:1.0.5"
const val composeTooling = "androidx.compose.ui:ui-tooling-preview:1.0.5"
const val composeMaterial = "androidx.compose.material:material:1.0.5"
const val composeConstraint = "androidx.constraintlayout:constraintlayout-compose:1.0.0-beta02"
const val accompanistNavAnimation = "com.google.accompanist:accompanist-navigation-animation:0.24.1-alpha"
const val accompanistSystemUiController = "com.google.accompanist:accompanist-systemuicontroller:0.24.1-alpha"
const val accompanistPlaceholder = "com.google.accompanist:accompanist-placeholder-material:0.24.1-alpha"
const val lifecycle = "androidx.lifecycle:lifecycle-viewmodel-ktx:2.4.0"
const val dagger = "com.google.dagger:dagger:2.40.5"
const val daggerCompiler = "com.google.dagger:dagger-compiler:2.40.5"
const val timber = "com.jakewharton.timber:timber:4.7.1"
Expand Down
63 changes: 2 additions & 61 deletions core/common/src/main/java/com/nassdk/common/extensions/NavExt.kt
Original file line number Diff line number Diff line change
@@ -1,14 +1,6 @@
package com.nassdk.common.extensions

import androidx.compose.animation.AnimatedVisibilityScope
import androidx.compose.animation.EnterTransition
import androidx.compose.animation.ExitTransition
import androidx.compose.animation.ExperimentalAnimationApi
import androidx.compose.animation.core.tween
import androidx.compose.animation.slideInHorizontally
import androidx.compose.animation.slideInVertically
import androidx.compose.animation.slideOutHorizontally
import androidx.compose.animation.slideOutVertically
import androidx.compose.runtime.Composable
import androidx.core.net.toUri
import androidx.navigation.NamedNavArgument
Expand All @@ -20,12 +12,8 @@ import androidx.navigation.NavDestination
import androidx.navigation.NavGraphBuilder
import androidx.navigation.NavOptions
import androidx.navigation.Navigator
import com.google.accompanist.navigation.animation.composable
import androidx.navigation.compose.composable
import com.nassdk.navigation.NavTarget
import com.nassdk.navigation.TransitionType

private const val ANIMATION_DURATION = 350
private const val ANIMATION_OFFSET = 1000

fun NavController.navigate(
target: NavTarget,
Expand All @@ -49,60 +37,13 @@ fun NavGraphBuilder.aeroComposable(
target: NavTarget,
arguments: List<NamedNavArgument> = emptyList(),
deepLinks: List<NavDeepLink> = emptyList(),
transitionType: TransitionType = TransitionType.HORIZONTAL,
content: @Composable AnimatedVisibilityScope.(NavBackStackEntry) -> Unit,
content: @Composable (NavBackStackEntry) -> Unit,
) {
composable(
route = target.route,
arguments = arguments,
deepLinks = deepLinks,
enterTransition = { getEnterTransition(type = transitionType) },
exitTransition = { getPopExitTransition(type = transitionType) },
popEnterTransition = null,
popExitTransition = null,
content = content
)
}

private fun getEnterTransition(type: TransitionType): EnterTransition? {

return when (type) {
TransitionType.HORIZONTAL -> {
slideInHorizontally(
initialOffsetX = { ANIMATION_OFFSET },
animationSpec = tween(durationMillis = ANIMATION_DURATION)
)
}

TransitionType.VERTICAL -> {
slideInVertically(
initialOffsetY = { ANIMATION_OFFSET },
animationSpec = tween(durationMillis = ANIMATION_DURATION)
)
}

else -> null
}
}

private fun getPopExitTransition(type: TransitionType): ExitTransition? {

return when (type) {
TransitionType.HORIZONTAL -> {
slideOutHorizontally(
targetOffsetX = { ANIMATION_OFFSET },
animationSpec = tween(durationMillis = ANIMATION_DURATION)
)
}

TransitionType.VERTICAL -> {
slideOutVertically(
targetOffsetY = { ANIMATION_OFFSET },
animationSpec = tween(durationMillis = ANIMATION_DURATION)
)
}

else -> null
}
}

Original file line number Diff line number Diff line change
Expand Up @@ -14,9 +14,9 @@ import androidx.compose.ui.Modifier
import androidx.compose.ui.res.painterResource
import androidx.compose.ui.res.stringResource
import androidx.navigation.NavGraphBuilder
import androidx.navigation.compose.NavHost
import androidx.navigation.compose.currentBackStackEntryAsState
import com.google.accompanist.navigation.animation.AnimatedNavHost
import com.google.accompanist.navigation.animation.rememberAnimatedNavController
import androidx.navigation.compose.rememberNavController
import com.google.accompanist.systemuicontroller.rememberSystemUiController
import com.nassdk.flow.domain.TabItem
import com.nassdk.navigation.Screens
Expand All @@ -30,7 +30,7 @@ fun FlowScreen(
flowGraphBuilder: NavGraphBuilder.() -> Unit,
isDarkMode: Boolean,
) {
val navController = rememberAnimatedNavController()
val navController = rememberNavController()
val navItems = arrayOf(TabItem.FLIGHTS, TabItem.PROFILE)

val navBackStackEntry by navController.currentBackStackEntryAsState()
Expand Down Expand Up @@ -88,7 +88,7 @@ fun FlowScreen(
},
content = { padding ->

AnimatedNavHost(
NavHost(
navController = navController,
startDestination = Screens.Flights.route,
modifier = Modifier.padding(paddingValues = padding),
Expand Down

0 comments on commit 7c72835

Please sign in to comment.