From dae42a745151b3a1c31ed8b162658aa969b78edd Mon Sep 17 00:00:00 2001 From: Jeff Boek Date: Mon, 11 Mar 2019 11:27:40 -0700 Subject: [PATCH] Fixes #945 - Ties leanplum to telemetry toggle --- app/src/main/java/org/mozilla/fenix/LeanplumHelper.kt | 3 +++ .../org/mozilla/fenix/settings/DataChoicesFragment.kt | 6 ++++++ app/src/main/java/org/mozilla/fenix/utils/Settings.kt | 8 ++++---- app/src/main/res/xml/data_choices_preferences.xml | 8 ++++---- 4 files changed, 17 insertions(+), 8 deletions(-) diff --git a/app/src/main/java/org/mozilla/fenix/LeanplumHelper.kt b/app/src/main/java/org/mozilla/fenix/LeanplumHelper.kt index 8a0201fcc..ee47f516a 100644 --- a/app/src/main/java/org/mozilla/fenix/LeanplumHelper.kt +++ b/app/src/main/java/org/mozilla/fenix/LeanplumHelper.kt @@ -7,9 +7,12 @@ package org.mozilla.fenix import com.leanplum.Leanplum import com.leanplum.LeanplumActivityHelper import com.leanplum.annotations.Parser +import org.mozilla.fenix.utils.Settings object LeanplumHelper { fun setupLeanplumIfNeeded(application: FenixApplication) { + if (!Settings.getInstance(application).isTelemetryEnabled) { return } + Leanplum.setApplicationContext(application) Parser.parseVariables(application) LeanplumActivityHelper.enableLifecycleCallbacks(application) diff --git a/app/src/main/java/org/mozilla/fenix/settings/DataChoicesFragment.kt b/app/src/main/java/org/mozilla/fenix/settings/DataChoicesFragment.kt index c61f99f81..3b5fbe549 100644 --- a/app/src/main/java/org/mozilla/fenix/settings/DataChoicesFragment.kt +++ b/app/src/main/java/org/mozilla/fenix/settings/DataChoicesFragment.kt @@ -7,7 +7,9 @@ package org.mozilla.fenix.settings import android.os.Bundle import androidx.appcompat.app.AppCompatActivity import androidx.preference.PreferenceFragmentCompat +import androidx.preference.SwitchPreference import org.mozilla.fenix.R +import org.mozilla.fenix.utils.Settings class DataChoicesFragment : PreferenceFragmentCompat() { @@ -19,5 +21,9 @@ class DataChoicesFragment : PreferenceFragmentCompat() { override fun onCreatePreferences(savedInstanceState: Bundle?, rootKey: String?) { setPreferencesFromResource(R.xml.data_choices_preferences, rootKey) + + findPreference(getString(R.string.pref_key_telemetry)).apply { + isChecked = Settings.getInstance(context).isTelemetryEnabled + } } } diff --git a/app/src/main/java/org/mozilla/fenix/utils/Settings.kt b/app/src/main/java/org/mozilla/fenix/utils/Settings.kt index a155d37b7..daa4b99c4 100644 --- a/app/src/main/java/org/mozilla/fenix/utils/Settings.kt +++ b/app/src/main/java/org/mozilla/fenix/utils/Settings.kt @@ -34,10 +34,10 @@ class Settings private constructor(context: Context) { PreferenceManager.getDefaultSharedPreferences(context) val defaultSearchEngineName: String - get() = preferences.getString( - appContext.getPreferenceKey(R.string.pref_key_search_engine), - "" - ) ?: "" + get() = preferences.getString(appContext.getPreferenceKey(R.string.pref_key_search_engine), "") ?: "" + + val isTelemetryEnabled: Boolean + get() = preferences.getBoolean(appContext.getPreferenceKey(R.string.pref_key_telemetry), true) fun setDefaultSearchEngineByName(name: String) { preferences.edit() diff --git a/app/src/main/res/xml/data_choices_preferences.xml b/app/src/main/res/xml/data_choices_preferences.xml index 6ba69b4f3..fa7152b2e 100644 --- a/app/src/main/res/xml/data_choices_preferences.xml +++ b/app/src/main/res/xml/data_choices_preferences.xml @@ -5,15 +5,15 @@ \ No newline at end of file