Skip to content

Commit d0d9097

Browse files
authored
chore(onboarding): skip contact permission screen during onboarding (#881)
Flip skipContacts default to true and make initialStack respect the flag so the contact permission step is no longer shown. All supporting code is preserved for easy re-enablement by reverting the default.
1 parent e41d023 commit d0d9097

3 files changed

Lines changed: 10 additions & 7 deletions

File tree

apps/flipcash/core/src/main/kotlin/com/flipcash/app/core/AppRoute.kt

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -72,7 +72,7 @@ sealed interface AppRoute : NavKey, Parcelable {
7272
val seed: String? = null,
7373
val fromDeeplink: Boolean = false,
7474
val resumeAt: ResumePoint = ResumePoint.Login,
75-
val skipContacts: Boolean = false,
75+
val skipContacts: Boolean = true,
7676
) : AppRoute, FlowRoute {
7777
enum class Phase { Account, Permissions }
7878
enum class ResumePoint { Login, AccessKey, AccessKeyThenPurchase, PostAccessKey }
@@ -86,7 +86,10 @@ sealed interface AppRoute : NavKey, Parcelable {
8686
listOf(OnboardingStep.Start(), OnboardingStep.AccessKey, OnboardingStep.Purchase)
8787
ResumePoint.PostAccessKey -> emptyList()
8888
}
89-
Phase.Permissions -> listOf(OnboardingStep.ContactPermission, OnboardingStep.NotificationPermission)
89+
Phase.Permissions -> buildList {
90+
if (!skipContacts) add(OnboardingStep.ContactPermission)
91+
add(OnboardingStep.NotificationPermission)
92+
}
9093
}
9194
}
9295

apps/flipcash/features/login/src/main/kotlin/com/flipcash/app/login/OnboardingFlowScreen.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -233,7 +233,7 @@ private fun AccountPhaseFlowHost(
233233

234234
internal fun resolvePostAccountRoute(
235235
result: OnboardingResult,
236-
skipContacts: Boolean = false,
236+
skipContacts: Boolean = true,
237237
): AppRoute? {
238238
val permissionsRoute = AppRoute.OnboardingFlow(
239239
phase = AppRoute.OnboardingFlow.Phase.Permissions,

apps/flipcash/features/login/src/test/kotlin/com/flipcash/app/login/OnboardingRoutingTest.kt

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ class OnboardingRoutingTest {
1818
)
1919
val flow = assertIs<AppRoute.OnboardingFlow>(route)
2020
assertEquals(AppRoute.OnboardingFlow.Phase.Permissions, flow.phase)
21-
assertEquals(false, flow.skipContacts)
21+
assertEquals(true, flow.skipContacts)
2222
}
2323

2424
// -- LoggedIn routes to permissions --
@@ -30,7 +30,7 @@ class OnboardingRoutingTest {
3030
)
3131
val flow = assertIs<AppRoute.OnboardingFlow>(route)
3232
assertEquals(AppRoute.OnboardingFlow.Phase.Permissions, flow.phase)
33-
assertEquals(false, flow.skipContacts)
33+
assertEquals(true, flow.skipContacts)
3434
}
3535

3636
// -- skipContacts is forwarded --
@@ -39,11 +39,11 @@ class OnboardingRoutingTest {
3939
fun `skipContacts is forwarded to permissions route`() {
4040
val route = resolvePostAccountRoute(
4141
result = OnboardingResult.ProceedToVerification,
42-
skipContacts = true,
42+
skipContacts = false,
4343
)
4444
val flow = assertIs<AppRoute.OnboardingFlow>(route)
4545
assertEquals(AppRoute.OnboardingFlow.Phase.Permissions, flow.phase)
46-
assertEquals(true, flow.skipContacts)
46+
assertEquals(false, flow.skipContacts)
4747
}
4848

4949
// -- Completed (no-op) --

0 commit comments

Comments
 (0)