From 0b072f75b540424d9c5015b329d3c4695331b335 Mon Sep 17 00:00:00 2001 From: Arturo Mejia Date: Tue, 12 Oct 2021 12:46:48 -0400 Subject: [PATCH] For #21838 wait until experiments have been completely opt-out on the nimbus SDK. (cherry picked from commit 9439a65e1e09b29f2e1a2ddee797da3241a93b14) --- .../mozilla/fenix/settings/studies/StudiesInteractor.kt | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/app/src/main/java/org/mozilla/fenix/settings/studies/StudiesInteractor.kt b/app/src/main/java/org/mozilla/fenix/settings/studies/StudiesInteractor.kt index 46d4d87943..0a0d6e0af4 100644 --- a/app/src/main/java/org/mozilla/fenix/settings/studies/StudiesInteractor.kt +++ b/app/src/main/java/org/mozilla/fenix/settings/studies/StudiesInteractor.kt @@ -6,6 +6,7 @@ package org.mozilla.fenix.settings.studies import androidx.annotation.VisibleForTesting import mozilla.components.service.nimbus.NimbusApi +import org.mozilla.experiments.nimbus.NimbusInterface import org.mozilla.experiments.nimbus.internal.EnrolledExperiment import org.mozilla.fenix.BrowserDirection import org.mozilla.fenix.HomeActivity @@ -36,8 +37,14 @@ class DefaultStudiesInteractor( } override fun removeStudy(experiment: EnrolledExperiment) { + experiments.register(object : NimbusInterface.Observer { + override fun onUpdatesApplied(updated: List) { + // Wait until the experiment is unrolled from nimbus to restart. + killApplication() + } + }) experiments.optOut(experiment.slug) - killApplication() + experiments.applyPendingExperiments() } @VisibleForTesting