Skip to content

Commit

Permalink
KM-5242: Hide login with purchase receipt button on non-Google builds
Browse files Browse the repository at this point in the history
  • Loading branch information
kp-stefan-klug committed Aug 9, 2024
1 parent 100c296 commit 1e3b3af
Show file tree
Hide file tree
Showing 4 changed files with 21 additions and 13 deletions.
3 changes: 3 additions & 0 deletions features/login/build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -57,10 +57,13 @@ dependencies {
coreLibraryDesugaring(desugarJdkLibs)

implementAccount()

implementation(project(":core:payments"))
implementation(project(":core:router"))
implementation(project(":core:utils"))
implementation(project(":core:vpnconnect"))

implementation(project(":capabilities:buildconfig"))
implementation(project(":capabilities:ui"))

// prefs
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -45,6 +45,6 @@ private val localLoginModule = module {
single { GetUserLoggedInUseCase(get()) }
viewModel { LoginUsernameViewModel(get(), get()) }
viewModel { LoginPasswordViewModel(get()) }
viewModel { LoginViewModel(get(), get(), get(), get(), get()) }
viewModel { LoginViewModel(get(), get(), get(), get(), get(), get()) }
viewModel { LoginWithEmailViewModel(get(), get()) }
}
Original file line number Diff line number Diff line change
Expand Up @@ -148,18 +148,20 @@ fun LoginScreen(navController: NavController) = Screen {
)
}

Text(
text = stringResource(id = com.kape.ui.R.string.login_with_receipt).toUpperCase(
Locale.current,
),
color = LocalColors.current.primary,
modifier = Modifier
.align(CenterHorizontally)
.padding(16.dp, 16.dp, 16.dp, 8.dp)
.clickable {
viewModel.loginWithReceipt(currentContext.packageName)
},
)
if (viewModel.shouldShowLoginWithReceiptButton) {
Text(
text = stringResource(id = com.kape.ui.R.string.login_with_receipt).toUpperCase(
Locale.current,
),
color = LocalColors.current.primary,
modifier = Modifier
.align(CenterHorizontally)
.padding(16.dp, 16.dp, 16.dp, 8.dp)
.clickable {
viewModel.loginWithReceipt(currentContext.packageName)
},
)
}
Text(
text = stringResource(id = com.kape.ui.R.string.login_with_magic_link).toUpperCase(
Locale.current,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@ package com.kape.login.ui.vm

import androidx.lifecycle.ViewModel
import androidx.lifecycle.viewModelScope
import com.kape.buildconfig.data.BuildConfigProvider
import com.kape.login.domain.mobile.GetUserLoggedInUseCase
import com.kape.login.domain.mobile.LoginUseCase
import com.kape.login.utils.FAILED
Expand All @@ -26,12 +27,14 @@ class LoginViewModel(
private val userLoggedInUseCase: GetUserLoggedInUseCase,
private val vpnSubscriptionPaymentProvider: VpnSubscriptionPaymentProvider,
private val router: Router,
private val buildConfigProvider: BuildConfigProvider,
networkConnectionListener: NetworkConnectionListener,
) : ViewModel(), KoinComponent {

private val _state = MutableStateFlow(IDLE)
val loginState: StateFlow<LoginScreenState> = _state
val isConnected = networkConnectionListener.isConnected
val shouldShowLoginWithReceiptButton: Boolean = buildConfigProvider.isGoogleFlavor()

private lateinit var packageName: String

Expand Down

0 comments on commit 1e3b3af

Please sign in to comment.