For #5258 - Pop AccountProblemFragment if signed out
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…
Reference in New Issue