1
0
Fork 0

For #5258 - Pop AccountProblemFragment if signed out

master
Emily Kager 2019-09-16 14:17:01 -07:00 committed by Emily Kager
parent 8a9340fd9d
commit 2b71af4087
1 changed files with 5 additions and 4 deletions

View File

@ -10,6 +10,7 @@ import androidx.lifecycle.lifecycleScope
import androidx.navigation.fragment.findNavController import androidx.navigation.fragment.findNavController
import androidx.preference.Preference import androidx.preference.Preference
import androidx.preference.PreferenceFragmentCompat import androidx.preference.PreferenceFragmentCompat
import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.launch import kotlinx.coroutines.launch
import mozilla.components.concept.sync.AccountObserver import mozilla.components.concept.sync.AccountObserver
import mozilla.components.concept.sync.AuthType import mozilla.components.concept.sync.AuthType
@ -45,14 +46,13 @@ class AccountProblemFragment : PreferenceFragmentCompat(), AccountObserver {
(activity as AppCompatActivity).supportActionBar?.show() (activity as AppCompatActivity).supportActionBar?.show()
val accountManager = requireComponents.backgroundServices.accountManager val accountManager = requireComponents.backgroundServices.accountManager
accountManager.register(this, owner = this)
// We may have fixed our auth problem, in which case close this fragment. // We may have fixed our auth problem, in which case close this fragment.
if (accountManager.authenticatedAccount() != null && !accountManager.accountNeedsReauth()) { if (accountManager.authenticatedAccount() != null && !accountManager.accountNeedsReauth()) {
findNavController().popBackStack() findNavController().popBackStack()
return return
} }
accountManager.register(this, owner = this)
} }
override fun onCreatePreferences(savedInstanceState: Bundle?, rootKey: String?) { override fun onCreatePreferences(savedInstanceState: Bundle?, rootKey: String?) {
@ -73,8 +73,9 @@ class AccountProblemFragment : PreferenceFragmentCompat(), AccountObserver {
override fun onLoggedOut() = closeFragment() override fun onLoggedOut() = closeFragment()
private fun closeFragment() { private fun closeFragment() {
lifecycleScope.launch { lifecycleScope.launch(Dispatchers.Main) {
findNavController().popBackStack() findNavController()
.popBackStack(R.id.accountProblemFragment, true)
} }
} }
} }