From 2b71af4087336e0b1a85792c449cd0eb83142c5e Mon Sep 17 00:00:00 2001 From: Emily Kager Date: Mon, 16 Sep 2019 14:17:01 -0700 Subject: [PATCH] For #5258 - Pop AccountProblemFragment if signed out --- .../org/mozilla/fenix/settings/AccountProblemFragment.kt | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/app/src/main/java/org/mozilla/fenix/settings/AccountProblemFragment.kt b/app/src/main/java/org/mozilla/fenix/settings/AccountProblemFragment.kt index 59ad22be0a..b80b18433e 100644 --- a/app/src/main/java/org/mozilla/fenix/settings/AccountProblemFragment.kt +++ b/app/src/main/java/org/mozilla/fenix/settings/AccountProblemFragment.kt @@ -10,6 +10,7 @@ import androidx.lifecycle.lifecycleScope import androidx.navigation.fragment.findNavController import androidx.preference.Preference import androidx.preference.PreferenceFragmentCompat +import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.launch import mozilla.components.concept.sync.AccountObserver import mozilla.components.concept.sync.AuthType @@ -45,14 +46,13 @@ class AccountProblemFragment : PreferenceFragmentCompat(), AccountObserver { (activity as AppCompatActivity).supportActionBar?.show() val accountManager = requireComponents.backgroundServices.accountManager + accountManager.register(this, owner = this) // We may have fixed our auth problem, in which case close this fragment. if (accountManager.authenticatedAccount() != null && !accountManager.accountNeedsReauth()) { findNavController().popBackStack() return } - - accountManager.register(this, owner = this) } override fun onCreatePreferences(savedInstanceState: Bundle?, rootKey: String?) { @@ -73,8 +73,9 @@ class AccountProblemFragment : PreferenceFragmentCompat(), AccountObserver { override fun onLoggedOut() = closeFragment() private fun closeFragment() { - lifecycleScope.launch { - findNavController().popBackStack() + lifecycleScope.launch(Dispatchers.Main) { + findNavController() + .popBackStack(R.id.accountProblemFragment, true) } } }