diff --git a/android/app/src/main/kotlin/me/kavishdevar/librepods/presentation/navigation/SwipeBack.kt b/android/app/src/main/kotlin/me/kavishdevar/librepods/presentation/navigation/SwipeBack.kt index 66e115f04..93d0930cf 100644 --- a/android/app/src/main/kotlin/me/kavishdevar/librepods/presentation/navigation/SwipeBack.kt +++ b/android/app/src/main/kotlin/me/kavishdevar/librepods/presentation/navigation/SwipeBack.kt @@ -166,7 +166,8 @@ private fun SwipeBackSceneContent( } } - PredictiveBackHandler { progressFlow -> + // only intercept back when there is a screen to go back to, otherwise let the activity handle it (exit the app) + PredictiveBackHandler(enabled = previousEntry != null) { progressFlow -> try { progressFlow.collect { backEvent -> if (previousEntry == null) return@collect diff --git a/android/app/src/main/kotlin/me/kavishdevar/librepods/presentation/screens/onboarding/OnboardingScreen.kt b/android/app/src/main/kotlin/me/kavishdevar/librepods/presentation/screens/onboarding/OnboardingScreen.kt index 7e16b0d0b..b40cb73e6 100644 --- a/android/app/src/main/kotlin/me/kavishdevar/librepods/presentation/screens/onboarding/OnboardingScreen.kt +++ b/android/app/src/main/kotlin/me/kavishdevar/librepods/presentation/screens/onboarding/OnboardingScreen.kt @@ -72,7 +72,7 @@ fun OnboardingScreen( val animationScope = rememberCoroutineScope() - BackHandler { + BackHandler(enabled = state.canScrollBackward) { animationScope.launch { if (state.canScrollBackward) { val targetItem = if (isSupported && state.currentItem == 3) 1 else state.currentItem - 1