From a9f3f7bdf840adc23e6edd8f664abddb6c6e8bb6 Mon Sep 17 00:00:00 2001 From: Luna712 <142361265+Luna712@users.noreply.github.com> Date: Sat, 4 Nov 2023 12:39:19 -0600 Subject: [PATCH] Don't login if pin is not entered --- .../cloudstream3/ui/account/AccountSelectActivity.kt | 7 ++++++- .../cloudstream3/ui/account/AccountViewModel.kt | 9 +++++++-- 2 files changed, 13 insertions(+), 3 deletions(-) diff --git a/app/src/main/java/com/lagradost/cloudstream3/ui/account/AccountSelectActivity.kt b/app/src/main/java/com/lagradost/cloudstream3/ui/account/AccountSelectActivity.kt index c34c8563..d1c8b422 100644 --- a/app/src/main/java/com/lagradost/cloudstream3/ui/account/AccountSelectActivity.kt +++ b/app/src/main/java/com/lagradost/cloudstream3/ui/account/AccountSelectActivity.kt @@ -60,7 +60,12 @@ class AccountSelectActivity : AppCompatActivity() { // Handle the selected account accountSelectCallback = { viewModel.handleAccountSelect(it,this@AccountSelectActivity) - navigateToMainActivity() + observe(viewModel.isAllowedLogin) { isAllowedLogin -> + if (isAllowedLogin) { + // We are allowed to continue to MainActivity + navigateToMainActivity() + } + } }, accountCreateCallback = { viewModel.handleAccountUpdate(it, this@AccountSelectActivity) }, accountEditCallback = { diff --git a/app/src/main/java/com/lagradost/cloudstream3/ui/account/AccountViewModel.kt b/app/src/main/java/com/lagradost/cloudstream3/ui/account/AccountViewModel.kt index a051e618..1fbe036f 100644 --- a/app/src/main/java/com/lagradost/cloudstream3/ui/account/AccountViewModel.kt +++ b/app/src/main/java/com/lagradost/cloudstream3/ui/account/AccountViewModel.kt @@ -16,6 +16,9 @@ class AccountViewModel : ViewModel() { private val _isEditing = MutableLiveData(false) val isEditing: LiveData = _isEditing + private val _isAllowedLogin = MutableLiveData(false) + val isAllowedLogin: LiveData = _isAllowedLogin + fun handleAccountUpdate(context: Context) { _accounts.postValue(getAccounts(context)) } @@ -63,11 +66,13 @@ class AccountViewModel : ViewModel() { false ) { pin -> if (pin == null) return@showPinInputDialog - // Pin is correct, proceed to main activity + // Pin is correct, proceed + _isAllowedLogin.postValue(true) setAccount(account, true) } } else { - // No PIN set for the selected account, proceed to main activity + // No PIN set for the selected account, proceed + _isAllowedLogin.postValue(true) setAccount(account, true) } }