diff --git a/components/service/experiments/src/test/java/mozilla/components/service/experiments/debug/ExperimentsDebugActivityTest.kt b/components/service/experiments/src/test/java/mozilla/components/service/experiments/debug/ExperimentsDebugActivityTest.kt index 73674ca6099..f064ac7bbd6 100644 --- a/components/service/experiments/src/test/java/mozilla/components/service/experiments/debug/ExperimentsDebugActivityTest.kt +++ b/components/service/experiments/src/test/java/mozilla/components/service/experiments/debug/ExperimentsDebugActivityTest.kt @@ -12,12 +12,16 @@ import androidx.test.core.app.ApplicationProvider import androidx.test.ext.junit.runners.AndroidJUnit4 import androidx.work.testing.WorkManagerTestInitHelper import kotlinx.coroutines.runBlocking +import mozilla.components.concept.fetch.Client +import mozilla.components.lib.fetch.httpurlconnection.HttpURLConnectionClient import mozilla.components.service.experiments.Configuration import mozilla.components.service.experiments.Experiment import mozilla.components.service.experiments.Experiments import mozilla.components.service.experiments.ExperimentsSnapshot import mozilla.components.service.experiments.ExperimentsUpdater import mozilla.components.service.glean.Glean +import mozilla.components.service.glean.config.Configuration as GleanConfiguration +import mozilla.components.service.glean.net.ConceptFetchHttpUploader import org.junit.Assert.assertEquals import org.junit.Assert.assertFalse import org.junit.Assert.assertNotNull @@ -42,7 +46,9 @@ class ExperimentsDebugActivityTest { fun setup() { WorkManagerTestInitHelper.initializeTestWorkManager(context) - Glean.initialize(context, uploadEnabled = true) + val httpClient = ConceptFetchHttpUploader(lazy { HttpURLConnectionClient() as Client }) + val config = GleanConfiguration(httpClient = httpClient) + Glean.initialize(context, uploadEnabled = true, configuration = config) // This makes sure we have a "launch" intent in our package, otherwise // it will fail looking for it in `GleanDebugActivityTest`. diff --git a/samples/browser/src/main/java/org/mozilla/samples/browser/SampleApplication.kt b/samples/browser/src/main/java/org/mozilla/samples/browser/SampleApplication.kt index 39398ca20f1..d33a1660e00 100644 --- a/samples/browser/src/main/java/org/mozilla/samples/browser/SampleApplication.kt +++ b/samples/browser/src/main/java/org/mozilla/samples/browser/SampleApplication.kt @@ -6,8 +6,12 @@ package org.mozilla.samples.browser import android.app.Application import mozilla.components.browser.session.Session +import mozilla.components.concept.fetch.Client import mozilla.components.feature.addons.update.GlobalAddonDependencyProvider +import mozilla.components.lib.fetch.httpurlconnection.HttpURLConnectionClient import mozilla.components.service.glean.Glean +import mozilla.components.service.glean.config.Configuration +import mozilla.components.service.glean.net.ConceptFetchHttpUploader import mozilla.components.support.base.facts.Facts import mozilla.components.support.base.facts.processor.LogFactProcessor import mozilla.components.support.base.log.Log @@ -31,10 +35,12 @@ class SampleApplication : Application() { return } + val httpClient = ConceptFetchHttpUploader(lazy { HttpURLConnectionClient() as Client }) + val config = Configuration(httpClient = httpClient) // IMPORTANT: the following lines initialize the Glean SDK but disable upload // of pings. If, for testing purposes, upload is required to be on, change the // next line to `uploadEnabled = true`. - Glean.initialize(applicationContext, uploadEnabled = false) + Glean.initialize(applicationContext, uploadEnabled = false, configuration = config) Facts.registerProcessor(LogFactProcessor()) diff --git a/samples/crash/build.gradle b/samples/crash/build.gradle index 6d0da0f2a41..f97a54ee831 100644 --- a/samples/crash/build.gradle +++ b/samples/crash/build.gradle @@ -30,6 +30,7 @@ android { dependencies { implementation project(':lib-crash') + implementation project(':lib-fetch-httpurlconnection') implementation project(':service-glean') implementation project(':support-base') diff --git a/samples/crash/src/main/java/org/mozilla/samples/crash/CrashApplication.kt b/samples/crash/src/main/java/org/mozilla/samples/crash/CrashApplication.kt index a1f8d6ac993..e72ac62ca56 100644 --- a/samples/crash/src/main/java/org/mozilla/samples/crash/CrashApplication.kt +++ b/samples/crash/src/main/java/org/mozilla/samples/crash/CrashApplication.kt @@ -14,12 +14,16 @@ import kotlinx.coroutines.GlobalScope import kotlinx.coroutines.launch import mozilla.components.support.base.log.Log import mozilla.components.support.base.log.sink.AndroidLogSink +import mozilla.components.concept.fetch.Client import mozilla.components.lib.crash.Crash import mozilla.components.lib.crash.CrashReporter import mozilla.components.lib.crash.service.CrashReporterService import mozilla.components.lib.crash.service.GleanCrashReporterService +import mozilla.components.lib.fetch.httpurlconnection.HttpURLConnectionClient import mozilla.components.service.glean.Glean import mozilla.components.support.base.crash.Breadcrumb +import mozilla.components.service.glean.config.Configuration +import mozilla.components.service.glean.net.ConceptFetchHttpUploader import java.util.UUID class CrashApplication : Application() { @@ -49,7 +53,9 @@ class CrashApplication : Application() { ).install(this) // Initialize Glean for recording by the GleanCrashReporterService - Glean.initialize(applicationContext, uploadEnabled = true) + val httpClient = ConceptFetchHttpUploader(lazy { HttpURLConnectionClient() as Client }) + val config = Configuration(httpClient = httpClient) + Glean.initialize(applicationContext, uploadEnabled = true, configuration = config) } companion object { diff --git a/samples/glean/build.gradle b/samples/glean/build.gradle index 67bd9d26e5d..beaaa54e066 100644 --- a/samples/glean/build.gradle +++ b/samples/glean/build.gradle @@ -50,6 +50,7 @@ dependencies { implementation project(':service-glean') implementation project(':service-experiments') implementation project(':support-base') + implementation project(':lib-fetch-httpurlconnection') implementation Dependencies.kotlin_stdlib implementation Dependencies.kotlin_coroutines diff --git a/samples/glean/src/main/java/org/mozilla/samples/glean/GleanApplication.kt b/samples/glean/src/main/java/org/mozilla/samples/glean/GleanApplication.kt index 05648e46320..9c3e1717c14 100644 --- a/samples/glean/src/main/java/org/mozilla/samples/glean/GleanApplication.kt +++ b/samples/glean/src/main/java/org/mozilla/samples/glean/GleanApplication.kt @@ -6,7 +6,11 @@ package org.mozilla.samples.glean import android.app.Application import android.content.Intent +import mozilla.components.concept.fetch.Client +import mozilla.components.lib.fetch.httpurlconnection.HttpURLConnectionClient import mozilla.components.service.glean.Glean +import mozilla.components.service.glean.config.Configuration +import mozilla.components.service.glean.net.ConceptFetchHttpUploader import mozilla.components.service.experiments.Experiments import mozilla.components.support.base.log.Log import mozilla.components.support.base.log.sink.AndroidLogSink @@ -28,7 +32,9 @@ class GleanApplication : Application() { // Initialize the Glean library. Ideally, this is the first thing that // must be done right after enabling logging. - Glean.initialize(applicationContext, uploadEnabled = true) + val httpClient = ConceptFetchHttpUploader(lazy { HttpURLConnectionClient() as Client }) + val config = Configuration(httpClient = httpClient) + Glean.initialize(applicationContext, uploadEnabled = true, configuration = config) // Initialize the Experiments library and pass in the callback that will generate a // broadcast Intent to signal the application that experiments have been updated. This is