Skip to content

Commit ca3ff9e

Browse files
committed
Implement feature flag for onboarding
1 parent 4382061 commit ca3ff9e

File tree

4 files changed

+21
-9
lines changed

4 files changed

+21
-9
lines changed

app/build.gradle

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,9 @@ android {
3333
}
3434

3535
buildTypes {
36+
create("onboarding") {
37+
buildConfigField("boolean", "ONBOARDING_FLAG", "true")
38+
}
3639
release {
3740
minifyEnabled false
3841
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
@@ -46,6 +49,7 @@ android {
4649
"GOOGLE_AUTH_CLIENT_ID", secretsProperties["GOOGLE_AUTH_CLIENT_ID"]
4750
)
4851
signingConfig signingConfigs.debug
52+
buildConfigField("boolean", "ONBOARDING_FLAG", "false")
4953
}
5054
}
5155
compileOptions {

app/src/main/java/com/cornellappdev/uplift/ui/MainNavigationWrapper.kt

Lines changed: 9 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,6 @@ import androidx.compose.runtime.getValue
1616
import androidx.compose.ui.Alignment
1717
import androidx.compose.ui.Modifier
1818
import androidx.compose.ui.graphics.Color
19-
import androidx.compose.ui.platform.LocalContext
2019
import androidx.compose.ui.res.painterResource
2120
import androidx.compose.ui.text.font.FontWeight
2221
import androidx.compose.ui.text.style.TextAlign
@@ -40,17 +39,17 @@ import com.cornellappdev.uplift.ui.screens.gyms.GymDetailScreen
4039
import com.cornellappdev.uplift.ui.screens.gyms.HomeScreen
4140
import com.cornellappdev.uplift.ui.screens.onboarding.ProfileCreationScreen
4241
import com.cornellappdev.uplift.ui.screens.onboarding.SignInPromptScreen
43-
import com.cornellappdev.uplift.ui.screens.reminders.CapacityReminderScreen
4442
import com.cornellappdev.uplift.ui.screens.profile.ProfileScreen
4543
import com.cornellappdev.uplift.ui.screens.profile.SettingsScreen
44+
import com.cornellappdev.uplift.ui.screens.reminders.CapacityReminderScreen
4645
import com.cornellappdev.uplift.ui.screens.reminders.MainReminderScreen
4746
import com.cornellappdev.uplift.ui.screens.report.ReportIssueScreen
4847
import com.cornellappdev.uplift.ui.screens.report.ReportSubmittedScreen
4948
import com.cornellappdev.uplift.ui.viewmodels.classes.ClassDetailViewModel
5049
import com.cornellappdev.uplift.ui.viewmodels.gyms.GymDetailViewModel
5150
import com.cornellappdev.uplift.ui.viewmodels.nav.RootNavigationViewModel
52-
import com.cornellappdev.uplift.ui.viewmodels.profile.CheckInMode
5351
import com.cornellappdev.uplift.ui.viewmodels.profile.CheckInViewModel
52+
import com.cornellappdev.uplift.util.ONBOARDING_FLAG
5453
import com.cornellappdev.uplift.util.PRIMARY_BLACK
5554
import com.cornellappdev.uplift.util.PRIMARY_YELLOW
5655
import com.cornellappdev.uplift.util.montserratFamily
@@ -72,7 +71,7 @@ fun MainNavigationWrapper(
7271
classDetailViewModel: ClassDetailViewModel = hiltViewModel(),
7372
rootNavigationViewModel: RootNavigationViewModel = hiltViewModel(),
7473

75-
) {
74+
) {
7675

7776
val checkInViewModel: CheckInViewModel = hiltViewModel()
7877
val rootNavigationUiState = rootNavigationViewModel.collectUiStateValue()
@@ -92,13 +91,17 @@ fun MainNavigationWrapper(
9291
)
9392
val shimmer = rememberShimmer(shimmerBounds = ShimmerBounds.Window, theme = yourShimmerTheme)
9493

95-
val items = listOf(
94+
var items = listOf(
9695
BottomNavScreens.Home,
9796
BottomNavScreens.Classes,
9897
BottomNavScreens.Profile
9998
// TODO: Add new items when activities and profile are implemented.
10099
)
101100

101+
if (!ONBOARDING_FLAG) {
102+
items = items.filterNot { it == BottomNavScreens.Profile }
103+
}
104+
102105
systemUiController.setStatusBarColor(PRIMARY_YELLOW)
103106

104107
//TODO: Try to consolidate launched effects into one with consumeIn function that takes in coroutine scope
@@ -262,7 +265,7 @@ fun MainNavigationWrapper(
262265
end = 9.dp,
263266
bottom = it.calculateBottomPadding() + 13.dp
264267
)
265-
){
268+
) {
266269
CheckInPopUp(
267270
gymName = checkInUiState.gymName,
268271
currentTimeText = checkInUiState.timeText,

app/src/main/java/com/cornellappdev/uplift/ui/viewmodels/nav/RootNavigationViewModel.kt

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,9 +2,10 @@ package com.cornellappdev.uplift.ui.viewmodels.nav
22

33
import androidx.lifecycle.viewModelScope
44
import com.cornellappdev.uplift.data.repositories.UserInfoRepository
5-
import com.cornellappdev.uplift.ui.nav.RootNavigationRepository
65
import com.cornellappdev.uplift.ui.UpliftRootRoute
6+
import com.cornellappdev.uplift.ui.nav.RootNavigationRepository
77
import com.cornellappdev.uplift.ui.viewmodels.UpliftViewModel
8+
import com.cornellappdev.uplift.util.ONBOARDING_FLAG
89
import com.cornellappdev.uplift.util.UIEvent
910
import dagger.hilt.android.lifecycle.HiltViewModel
1011
import kotlinx.coroutines.launch
@@ -55,7 +56,7 @@ class RootNavigationViewModel @Inject constructor(
5556
}
5657
applyMutation {
5758
copy(
58-
startDestination = if (hasSkipped || hasUser) UpliftRootRoute.Home else UpliftRootRoute.Onboarding
59+
startDestination = if (hasSkipped || hasUser || !ONBOARDING_FLAG) UpliftRootRoute.Home else UpliftRootRoute.Onboarding
5960
)
6061
}
6162
}

app/src/main/java/com/cornellappdev/uplift/util/Constants.kt

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
11
package com.cornellappdev.uplift.util
22

3+
import com.cornellappdev.uplift.BuildConfig
4+
35
const val defaultGymUrl =
46
"https://raw.githubusercontent.com/cuappdev/assets/master/uplift/gyms/helen-newman.jpg"
57

@@ -15,4 +17,6 @@ const val defaultClassUrl =
1517
const val HELEN_NEWMAN_ID = 1792236
1618
const val NOYES_ID = 10423374
1719
const val MORRISON_ID = 9537684
18-
const val TEAGLE_ID = 3454585
20+
const val TEAGLE_ID = 3454585
21+
22+
const val ONBOARDING_FLAG = BuildConfig.ONBOARDING_FLAG

0 commit comments

Comments
 (0)