From 1a6e1c0b7ff522d2fd92d12726c88de54df88aca Mon Sep 17 00:00:00 2001 From: Grisha Kruglov Date: Thu, 26 Mar 2020 23:18:32 -0700 Subject: [PATCH] [fenix] 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 cbc22a76fd..b26f6e8b01 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) } } }