diff options
Diffstat (limited to 'mobile/android/focus-android/app/src/main/java')
2 files changed, 18 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, diff --git a/mobile/android/focus-android/app/src/main/java/org/mozilla/focus/fragment/BrowserFragment.kt b/mobile/android/focus-android/app/src/main/java/org/mozilla/focus/fragment/BrowserFragment.kt index a25f26ef85..0f768c1c4d 100644 --- a/mobile/android/focus-android/app/src/main/java/org/mozilla/focus/fragment/BrowserFragment.kt +++ b/mobile/android/focus-android/app/src/main/java/org/mozilla/focus/fragment/BrowserFragment.kt @@ -310,6 +310,7 @@ class BrowserFragment : SessionFeature( components.store, components.sessionUseCases.goBack, + components.sessionUseCases.goForward, binding.engineView, tab.id, ), |