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.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)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue