Move locale restoration on startup to the visual completeness queue to prevent perf impact (#19315)

upstream-sync
Elise Richards 3 years ago committed by GitHub
parent 6cbc35b7d8
commit cf9a84eed5
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

@ -172,7 +172,6 @@ open class FenixApplication : LocaleAwareApplication(), Provider {
initializeWebExtensionSupport() initializeWebExtensionSupport()
restoreBrowserState() restoreBrowserState()
restoreDownloads() restoreDownloads()
restoreLocale()
// Just to make sure it is impossible for any application-services pieces // Just to make sure it is impossible for any application-services pieces
// to invoke parts of itself that require complete megazord initialization // to invoke parts of itself that require complete megazord initialization
@ -225,10 +224,6 @@ open class FenixApplication : LocaleAwareApplication(), Provider {
components.useCases.downloadUseCases.restoreDownloads() components.useCases.downloadUseCases.restoreDownloads()
} }
private fun restoreLocale() {
components.useCases.localeUseCases.restore()
}
private fun initVisualCompletenessQueueAndQueueTasks() { private fun initVisualCompletenessQueueAndQueueTasks() {
val queue = components.performance.visualCompletenessQueue.queue val queue = components.performance.visualCompletenessQueue.queue
@ -274,6 +269,14 @@ open class FenixApplication : LocaleAwareApplication(), Provider {
} }
} }
fun queueRestoreLocale() {
components.performance.visualCompletenessQueue.queue.runIfReadyOrQueue {
GlobalScope.launch(Dispatchers.IO) {
components.useCases.localeUseCases.restore()
}
}
}
initQueue() initQueue()
// We init these items in the visual completeness queue to avoid them initing in the critical // We init these items in the visual completeness queue to avoid them initing in the critical
@ -281,6 +284,7 @@ open class FenixApplication : LocaleAwareApplication(), Provider {
queueInitStorageAndServices() queueInitStorageAndServices()
queueMetrics() queueMetrics()
queueReviewPrompt() queueReviewPrompt()
queueRestoreLocale()
} }
private fun startMetricsIfEnabled() { private fun startMetricsIfEnabled() {

Loading…
Cancel
Save