Add screen transitions

This commit is contained in:
Shinokuni 2024-08-13 21:51:20 +02:00
parent fffc3be383
commit 52e8c64d45
2 changed files with 12 additions and 6 deletions

View File

@ -17,9 +17,10 @@ import androidx.compose.runtime.getValue
import androidx.compose.ui.graphics.toArgb
import androidx.core.splashscreen.SplashScreen.Companion.installSplashScreen
import androidx.lifecycle.lifecycleScope
import cafe.adriel.voyager.navigator.CurrentScreen
import cafe.adriel.voyager.core.annotation.ExperimentalVoyagerApi
import cafe.adriel.voyager.navigator.Navigator
import cafe.adriel.voyager.navigator.NavigatorDisposeBehavior
import cafe.adriel.voyager.transitions.SlideTransition
import com.readrops.app.account.selection.AccountSelectionScreen
import com.readrops.app.account.selection.AccountSelectionScreenModel
import com.readrops.app.home.HomeScreen
@ -40,7 +41,7 @@ import org.koin.core.component.get
class MainActivity : ComponentActivity(), KoinComponent {
@OptIn(KoinExperimentalAPI::class)
@OptIn(KoinExperimentalAPI::class, ExperimentalVoyagerApi::class)
override fun onCreate(savedInstanceState: Bundle?) {
installSplashScreen()
super.onCreate(savedInstanceState)
@ -80,14 +81,18 @@ class MainActivity : ComponentActivity(), KoinComponent {
screen = if (accountExists) HomeScreen else AccountSelectionScreen(),
disposeBehavior = NavigatorDisposeBehavior(
// prevent screenModels being recreated when opening a screen from a tab
disposeNestedNavigators = false
disposeNestedNavigators = false,
disposeSteps = false
)
) {
) { navigator ->
LaunchedEffect(Unit) {
handleIntent(intent)
}
CurrentScreen()
SlideTransition(
navigator = navigator,
disposeScreenAfterTransitionEnd = true
)
}
}
}
@ -116,6 +121,7 @@ class MainActivity : ComponentActivity(), KoinComponent {
HomeScreen.openItemScreen(itemId)
}
}
intent.action != null && intent.action == Intent.ACTION_SEND -> {
HomeScreen.openAddFeedDialog(intent.getStringExtra(Intent.EXTRA_TEXT).orEmpty())
}

View File

@ -4,7 +4,7 @@ ksp = "2.0.0-1.0.24"
android_agp = "8.5.1"
compose_bom = "2024.06.00"
voyager = "1.0.0"
voyager = "1.1.0-beta02"
lifecycle = "2.8.4"
coil = "2.7.0"
coroutines = "1.8.1"