From 51218bc93e2b7a1858d2c811d92ebd337d9e7521 Mon Sep 17 00:00:00 2001 From: Travis Long Date: Mon, 5 Aug 2019 11:14:42 -0500 Subject: [PATCH] Integrate service-experiments component (#4098) --- app/build.gradle | 1 + app/src/main/java/org/mozilla/fenix/FenixApplication.kt | 9 +++++++++ buildSrc/src/main/java/Dependencies.kt | 1 + 3 files changed, 11 insertions(+) diff --git a/app/build.gradle b/app/build.gradle index bf1162814..ed36d4d40 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -332,6 +332,7 @@ dependencies { implementation Deps.mozilla_service_firefox_accounts implementation Deps.mozilla_service_fretboard implementation Deps.mozilla_service_glean + implementation Deps.mozilla_service_experiments 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 fb55fa491..e2d63ea5b 100644 --- a/app/src/main/java/org/mozilla/fenix/FenixApplication.kt +++ b/app/src/main/java/org/mozilla/fenix/FenixApplication.kt @@ -18,6 +18,7 @@ import kotlinx.coroutines.async import kotlinx.coroutines.runBlocking import mozilla.appservices.Megazord import mozilla.components.concept.push.PushProcessor +import mozilla.components.service.experiments.Experiments import mozilla.components.service.fretboard.Fretboard import mozilla.components.service.fretboard.source.kinto.KintoExperimentSource import mozilla.components.service.fretboard.storage.flatfile.FlatFileExperimentStorage @@ -71,6 +72,14 @@ open class FenixApplication : Application() { // on the main process, as it uses Gecko to fetch experiments from the server. experimentLoader = loadExperiments() + // Enable the service-experiments component + Experiments.initialize( + applicationContext, + mozilla.components.service.experiments.Configuration( + httpClient = lazy(LazyThreadSafetyMode.NONE) { components.core.client } + ) + ) + setupLeakCanary() if (Settings.getInstance(this).isTelemetryEnabled) { components.analytics.metrics.start() diff --git a/buildSrc/src/main/java/Dependencies.kt b/buildSrc/src/main/java/Dependencies.kt index 5e0980e49..16593b706 100644 --- a/buildSrc/src/main/java/Dependencies.kt +++ b/buildSrc/src/main/java/Dependencies.kt @@ -128,6 +128,7 @@ object Deps { const val mozilla_service_firefox_accounts = "org.mozilla.components:service-firefox-accounts:${Versions.mozilla_android_components}" const val mozilla_service_fretboard = "org.mozilla.components:service-fretboard:${Versions.mozilla_android_components}" const val mozilla_service_glean = "org.mozilla.components:service-glean:${Versions.mozilla_android_components}" + const val mozilla_service_experiments = "org.mozilla.components:service-experiments:${Versions.mozilla_android_components}" const val mozilla_ui_colors = "org.mozilla.components:ui-colors:${Versions.mozilla_android_components}" const val mozilla_ui_icons = "org.mozilla.components:ui-icons:${Versions.mozilla_android_components}"