For #5258 - Pop AccountProblemFragment if signed out

nightly-build-test
Emily Kager 5 years ago committed by Emily Kager
parent 8a9340fd9d
commit 2b71af4087

@ -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)
}
}
}

Loading…
Cancel
Save