From 3efaa516ca675c63d2172c553db4c617bfbc6e5a Mon Sep 17 00:00:00 2001 From: Grisha Kruglov Date: Thu, 26 Mar 2020 23:18:32 -0700 Subject: [PATCH] Part 2: Do not eagerly initilize account manager within HomeActivity Instead of always kicking off accountManager's init and telling it to sync right away in 'onResume', we move these tasks to some abstract point later on, whenever account manager is available. --- app/src/main/java/org/mozilla/fenix/HomeActivity.kt | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/app/src/main/java/org/mozilla/fenix/HomeActivity.kt b/app/src/main/java/org/mozilla/fenix/HomeActivity.kt index cbc22a76f..b26f6e8b0 100644 --- a/app/src/main/java/org/mozilla/fenix/HomeActivity.kt +++ b/app/src/main/java/org/mozilla/fenix/HomeActivity.kt @@ -146,13 +146,13 @@ open class HomeActivity : LocaleAwareAppCompatActivity() { override fun onResume() { super.onResume() - lifecycleScope.launch { - with(components.backgroundServices) { + components.backgroundServices.accountManagerAvailableQueue.runIfReadyOrQueue { + lifecycleScope.launch { // Make sure accountManager is initialized. - accountManager.initAsync().await() + components.backgroundServices.accountManager.initAsync().await() // If we're authenticated, kick-off a sync and a device state refresh. - accountManager.authenticatedAccount()?.let { - accountManager.syncNowAsync(SyncReason.Startup, debounce = true) + components.backgroundServices.accountManager.authenticatedAccount()?.let { + components.backgroundServices.accountManager.syncNowAsync(SyncReason.Startup, debounce = true) } } }