summaryrefslogtreecommitdiffstats
path: root/mobile/android/focus-android/app/src/main/java/org/mozilla/focus/FocusApplication.kt
diff options
context:
space:
mode:
Diffstat (limited to 'mobile/android/focus-android/app/src/main/java/org/mozilla/focus/FocusApplication.kt')
-rw-r--r--mobile/android/focus-android/app/src/main/java/org/mozilla/focus/FocusApplication.kt21
1 files changed, 17 insertions, 4 deletions
diff --git a/mobile/android/focus-android/app/src/main/java/org/mozilla/focus/FocusApplication.kt b/mobile/android/focus-android/app/src/main/java/org/mozilla/focus/FocusApplication.kt
index 0aa99630df..65ba6c9677 100644
--- a/mobile/android/focus-android/app/src/main/java/org/mozilla/focus/FocusApplication.kt
+++ b/mobile/android/focus-android/app/src/main/java/org/mozilla/focus/FocusApplication.kt
@@ -8,6 +8,8 @@ import android.content.Context
import android.os.Build
import android.os.StrictMode
import android.util.Log.INFO
+import androidx.annotation.OpenForTesting
+import androidx.annotation.VisibleForTesting
import androidx.appcompat.app.AppCompatDelegate
import androidx.lifecycle.ProcessLifecycleOwner
import androidx.preference.PreferenceManager
@@ -68,8 +70,8 @@ open class FocusApplication : LocaleAwareApplication(), Provider, CoroutineScope
setTheme(this)
components.engine.warmUp()
- components.metrics.initialize(this)
- FactsProcessor.initialize()
+ initializeTelemetry()
+
finishSetupMegazord()
ProfilerMarkerFactProcessor.create { components.engine.profiler }.register()
@@ -121,6 +123,11 @@ open class FocusApplication : LocaleAwareApplication(), Provider, CoroutineScope
FocusNimbus.initialize { nimbus }
}
+ protected open fun initializeTelemetry() {
+ components.metrics.initialize(this)
+ FactsProcessor.initialize()
+ }
+
/**
* Initiate Megazord sequence! Megazord Battle Mode!
*
@@ -144,8 +151,12 @@ open class FocusApplication : LocaleAwareApplication(), Provider, CoroutineScope
RustLog.enable()
}
+ /**
+ * Finish Megazord setup sequence.
+ */
@OptIn(DelicateCoroutinesApi::class) // GlobalScope usage
- private fun finishSetupMegazord() {
+ @OpenForTesting
+ open fun finishSetupMegazord() {
GlobalScope.launch(Dispatchers.IO) {
// We need to use an unwrapped client because native components do not support private
// requests.
@@ -219,7 +230,9 @@ open class FocusApplication : LocaleAwareApplication(), Provider, CoroutineScope
StrictMode.setVmPolicy(vmPolicyBuilder.build())
}
- private fun initializeWebExtensionSupport() {
+ @VisibleForTesting
+ @OpenForTesting
+ internal open fun initializeWebExtensionSupport() {
WebExtensionSupport.initialize(
components.engine,
components.store,