From 6435a503cada23799c73e4dc1b3eee2fa1c8ffa7 Mon Sep 17 00:00:00 2001 From: Emily Kager Date: Fri, 25 Oct 2019 11:21:42 -0700 Subject: [PATCH] For #6219 - Reset default setting if user opts out of experiments --- .../main/java/org/mozilla/fenix/ExperimentsManager.kt | 10 ++++++++++ .../main/java/org/mozilla/fenix/FenixApplication.kt | 4 ++++ 2 files changed, 14 insertions(+) diff --git a/app/src/main/java/org/mozilla/fenix/ExperimentsManager.kt b/app/src/main/java/org/mozilla/fenix/ExperimentsManager.kt index 1a4246b2c..48eff0033 100644 --- a/app/src/main/java/org/mozilla/fenix/ExperimentsManager.kt +++ b/app/src/main/java/org/mozilla/fenix/ExperimentsManager.kt @@ -10,6 +10,16 @@ import org.mozilla.fenix.ext.components import org.mozilla.fenix.ext.settings object ExperimentsManager { + fun optOutEtpExperiment(context: Context) { + // If a user can see the ETP categories we don't want to change their settings + if (FeatureFlags.etpCategories) return + // Release user has opted out of ETP experiment, reset them to current default (strict) + context.settings().setUseStrictTrackingProtection() + context.components.useCases.settingsUseCases.updateTrackingProtection( + context.components.core.createTrackingProtectionPolicy() + ) + } + fun initEtpExperiment(context: Context) { // When the `fenix-etp-5651` experiment is active, set up ETP settings and GV policy. // Note that this will not take effect the first time the application has launched, diff --git a/app/src/main/java/org/mozilla/fenix/FenixApplication.kt b/app/src/main/java/org/mozilla/fenix/FenixApplication.kt index d24815f5d..4c5ef885e 100644 --- a/app/src/main/java/org/mozilla/fenix/FenixApplication.kt +++ b/app/src/main/java/org/mozilla/fenix/FenixApplication.kt @@ -87,6 +87,10 @@ open class FenixApplication : Application() { httpClient = lazy(LazyThreadSafetyMode.NONE) { components.core.client } ) ) + } else { + // We should make a better way to opt out for when we have more experiments + // See https://github.com/mozilla-mobile/fenix/issues/6278 + ExperimentsManager.optOutEtpExperiment(this) } // When the `fenix-test-2019-08-05` experiment is active, record its branch in Glean