diff options
Diffstat (limited to 'android/app/src')
| -rw-r--r-- | android/app/src/main/kotlin/net/mullvad/mullvadvpn/ui/AccountFragment.kt | 30 | ||||
| -rw-r--r-- | android/app/src/main/kotlin/net/mullvad/mullvadvpn/ui/MainActivity.kt | 10 |
2 files changed, 11 insertions, 29 deletions
diff --git a/android/app/src/main/kotlin/net/mullvad/mullvadvpn/ui/AccountFragment.kt b/android/app/src/main/kotlin/net/mullvad/mullvadvpn/ui/AccountFragment.kt index 4b5fda7bbe..04e52ea518 100644 --- a/android/app/src/main/kotlin/net/mullvad/mullvadvpn/ui/AccountFragment.kt +++ b/android/app/src/main/kotlin/net/mullvad/mullvadvpn/ui/AccountFragment.kt @@ -4,7 +4,6 @@ import android.os.Bundle import android.view.LayoutInflater import android.view.View import android.view.ViewGroup -import androidx.fragment.app.FragmentManager import androidx.lifecycle.Lifecycle import androidx.lifecycle.flowWithLifecycle import androidx.lifecycle.lifecycleScope @@ -90,7 +89,7 @@ class AccountFragment : ServiceDependentFragment(OnNoService.GoBack) { } view.findViewById<Button>(R.id.logout).setOnClickAction("logout", jobTracker) { - logout() + accountCache.logout() } accountNumberView = view.findViewById<CopyableInformationView>(R.id.account_number).apply { @@ -172,33 +171,6 @@ class AccountFragment : ServiceDependentFragment(OnNoService.GoBack) { RedeemVoucherDialogFragment().show(transaction, null) } - private suspend fun logout() { - accountCache.logout() - clearBackStack() - goToLoginScreen() - } - - private fun clearBackStack() { - parentFragmentManager.apply { - val firstEntry = getBackStackEntryAt(0) - - popBackStack(firstEntry.id, FragmentManager.POP_BACK_STACK_INCLUSIVE) - } - } - - private fun goToLoginScreen() { - parentFragmentManager.beginTransaction().apply { - setCustomAnimations( - R.anim.do_nothing, - R.anim.fragment_exit_to_bottom, - R.anim.do_nothing, - R.anim.do_nothing - ) - replace(R.id.main_fragment, LoginFragment()) - commit() - } - } - private fun addSpacesToAccountNumber(rawAccountNumber: String): String { return rawAccountNumber .asSequence() diff --git a/android/app/src/main/kotlin/net/mullvad/mullvadvpn/ui/MainActivity.kt b/android/app/src/main/kotlin/net/mullvad/mullvadvpn/ui/MainActivity.kt index 204635a161..c5efb3e984 100644 --- a/android/app/src/main/kotlin/net/mullvad/mullvadvpn/ui/MainActivity.kt +++ b/android/app/src/main/kotlin/net/mullvad/mullvadvpn/ui/MainActivity.kt @@ -203,6 +203,7 @@ open class MainActivity : FragmentActivity() { } private fun openLoginView() { + clearBackStack() supportFragmentManager.beginTransaction().apply { replace(R.id.main_fragment, LoginFragment()) commit() @@ -222,6 +223,15 @@ open class MainActivity : FragmentActivity() { } } + fun clearBackStack() { + supportFragmentManager.apply { + if (backStackEntryCount > 0) { + val firstEntry = getBackStackEntryAt(0) + popBackStack(firstEntry.id, FragmentManager.POP_BACK_STACK_INCLUSIVE) + } + } + } + companion object { private const val ZERO_DEBOUNCE_DELAY_MILLISECONDS = 0L private const val UNKNOWN_STATE_DEBOUNCE_DELAY_MILLISECONDS = 2000L |
