diff --git a/app/build.gradle b/app/build.gradle index e3370b4ad1..1d5fe9060d 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -538,6 +538,7 @@ dependencies { implementation Deps.mozilla_support_extensions implementation Deps.mozilla_support_base + implementation Deps.mozilla_support_rusterrors implementation Deps.mozilla_support_images implementation Deps.mozilla_support_ktx implementation Deps.mozilla_support_rustlog diff --git a/app/src/main/java/org/mozilla/fenix/FenixApplication.kt b/app/src/main/java/org/mozilla/fenix/FenixApplication.kt index ee54213beb..396eb082ce 100644 --- a/app/src/main/java/org/mozilla/fenix/FenixApplication.kt +++ b/app/src/main/java/org/mozilla/fenix/FenixApplication.kt @@ -42,6 +42,7 @@ import mozilla.components.service.fxa.manager.SyncEnginesStorage import mozilla.components.service.glean.Glean import mozilla.components.service.glean.config.Configuration import mozilla.components.service.glean.net.ConceptFetchHttpUploader +import mozilla.components.support.rusterrors.initializeRustErrors import mozilla.components.support.base.facts.register import mozilla.components.support.base.log.Log import mozilla.components.support.base.log.logger.Logger @@ -398,8 +399,13 @@ open class FenixApplication : LocaleAwareApplication(), Provider { // Give the generated FxNimbus a closure to lazily get the Nimbus object FxNimbus.initialize { components.analytics.experiments } return GlobalScope.async(Dispatchers.IO) { + initializeRustErrors(components.analytics.crashReporter) // ... but RustHttpConfig.setClient() and RustLog.enable() can be called later. RustHttpConfig.setClient(lazy { components.core.client }) + // Once application-services has switched to using the new + // error reporting system, RustLog shouldn't input a CrashReporter + // anymore. + // (https://github.com/mozilla/application-services/issues/4981). RustLog.enable(components.analytics.crashReporter) // We want to ensure Nimbus is initialized as early as possible so we can // experiment on features close to startup. diff --git a/buildSrc/src/main/java/Dependencies.kt b/buildSrc/src/main/java/Dependencies.kt index 4a7de8c960..61a458a54c 100644 --- a/buildSrc/src/main/java/Dependencies.kt +++ b/buildSrc/src/main/java/Dependencies.kt @@ -164,6 +164,7 @@ object Deps { const val mozilla_lib_publicsuffixlist = "org.mozilla.components:lib-publicsuffixlist:${Versions.mozilla_android_components}" const val mozilla_support_base = "org.mozilla.components:support-base:${Versions.mozilla_android_components}" + const val mozilla_support_rusterrors = "org.mozilla.components:support-rusterrors:${Versions.mozilla_android_components}" const val mozilla_support_images = "org.mozilla.components:support-images:${Versions.mozilla_android_components}" const val mozilla_support_ktx = "org.mozilla.components:support-ktx:${Versions.mozilla_android_components}" const val mozilla_support_rusthttp = "org.mozilla.components:support-rusthttp:${Versions.mozilla_android_components}"