parent
633bc4f2f2
commit
6e06c7fda1
|
@ -156,10 +156,12 @@ open class FenixApplication : LocaleAwareApplication() {
|
||||||
|
|
||||||
private fun initVisualCompletenessQueueAndQueueTasks() {
|
private fun initVisualCompletenessQueueAndQueueTasks() {
|
||||||
val taskQueue = components.performance.visualCompletenessQueue
|
val taskQueue = components.performance.visualCompletenessQueue
|
||||||
registerActivityLifecycleCallbacks(PerformanceActivityLifecycleCallbacks(taskQueue))
|
|
||||||
|
|
||||||
// Enable the service-experiments component to be initialized after visual completeness
|
fun initQueue() {
|
||||||
// for performance wins.
|
registerActivityLifecycleCallbacks(PerformanceActivityLifecycleCallbacks(taskQueue))
|
||||||
|
}
|
||||||
|
|
||||||
|
fun queueInitExperiments() {
|
||||||
if (settings().isExperimentationEnabled) {
|
if (settings().isExperimentationEnabled) {
|
||||||
taskQueue.runIfReadyOrQueue {
|
taskQueue.runIfReadyOrQueue {
|
||||||
Experiments.initialize(
|
Experiments.initialize(
|
||||||
|
@ -179,7 +181,9 @@ open class FenixApplication : LocaleAwareApplication() {
|
||||||
// See https://github.com/mozilla-mobile/fenix/issues/6278
|
// See https://github.com/mozilla-mobile/fenix/issues/6278
|
||||||
ExperimentsManager.optOutSearchWidgetExperiment(this)
|
ExperimentsManager.optOutSearchWidgetExperiment(this)
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
fun queueInitStorageAndServices() {
|
||||||
components.performance.visualCompletenessQueue.runIfReadyOrQueue {
|
components.performance.visualCompletenessQueue.runIfReadyOrQueue {
|
||||||
GlobalScope.launch(Dispatchers.IO) {
|
GlobalScope.launch(Dispatchers.IO) {
|
||||||
logger.info("Running post-visual completeness tasks...")
|
logger.info("Running post-visual completeness tasks...")
|
||||||
|
@ -198,6 +202,14 @@ open class FenixApplication : LocaleAwareApplication() {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
initQueue()
|
||||||
|
|
||||||
|
// We init these items in the visual completeness queue to avoid them initing in the critical
|
||||||
|
// startup path, before the UI finishes drawing (i.e. visual completeness).
|
||||||
|
queueInitExperiments()
|
||||||
|
queueInitStorageAndServices()
|
||||||
|
}
|
||||||
|
|
||||||
private fun startMetricsIfEnabled() {
|
private fun startMetricsIfEnabled() {
|
||||||
if (settings().isTelemetryEnabled) {
|
if (settings().isTelemetryEnabled) {
|
||||||
components.analytics.metrics.start(MetricServiceType.Data)
|
components.analytics.metrics.start(MetricServiceType.Data)
|
||||||
|
|
Loading…
Reference in New Issue