diff --git a/app/src/main/java/com/fox2code/mmm/MainActivity.java b/app/src/main/java/com/fox2code/mmm/MainActivity.java index b83c849..c937df9 100644 --- a/app/src/main/java/com/fox2code/mmm/MainActivity.java +++ b/app/src/main/java/com/fox2code/mmm/MainActivity.java @@ -385,6 +385,23 @@ public class MainActivity extends FoxActivity implements SwipeRefreshLayout.OnRe } ExternalHelper.INSTANCE.refreshHelper(this); this.initMode = false; + // add preference listener to set isMatomoAllowed + SharedPreferences.OnSharedPreferenceChangeListener listener = (sharedPreferences, key) -> { + if (key.equals("pref_analytics_enabled")) { + MainApplication.getINSTANCE().isMatomoAllowed = sharedPreferences.getBoolean(key, false); + MainApplication.getINSTANCE().getTracker().setOptOut(MainApplication.getINSTANCE().isMatomoAllowed); + Timber.d("Matomo is allowed change: %s", MainApplication.getINSTANCE().isMatomoAllowed); + } + if (MainApplication.getINSTANCE().isMatomoAllowed) { + String value = sharedPreferences.getString(key, null); + // then log + if (value != null) { + TrackHelper.track().event("pref_changed", key + "=" + value).with(MainApplication.getINSTANCE().getTracker()); + } + } + Timber.d("Preference changed: %s", key); + }; + MainApplication.getPreferences("mmm").registerOnSharedPreferenceChangeListener(listener); } private void cardIconifyUpdate() { diff --git a/app/src/main/java/com/fox2code/mmm/MainApplication.java b/app/src/main/java/com/fox2code/mmm/MainApplication.java index 4f99395..d836a7d 100644 --- a/app/src/main/java/com/fox2code/mmm/MainApplication.java +++ b/app/src/main/java/com/fox2code/mmm/MainApplication.java @@ -430,14 +430,6 @@ public class MainApplication extends FoxApplication implements androidx.work.Con // analytics Timber.d("Initializing matomo"); isMatomoAllowed = isMatomoAllowed(); - // add preference listener to set isMatomoAllowed - getPreferences("mmm").registerOnSharedPreferenceChangeListener((sharedPreferences, key) -> { - if (key.equals("pref_analytics_enabled")) { - isMatomoAllowed = sharedPreferences.getBoolean(key, false); - tracker.setOptOut(isMatomoAllowed); - Timber.d("Matomo is allowed change: %s", isMatomoAllowed); - } - }); getTracker(); if (!isMatomoAllowed) { Timber.d("Matomo is not allowed"); diff --git a/app/src/main/java/com/fox2code/mmm/SetupActivity.java b/app/src/main/java/com/fox2code/mmm/SetupActivity.java index 1459321..00b1e78 100644 --- a/app/src/main/java/com/fox2code/mmm/SetupActivity.java +++ b/app/src/main/java/com/fox2code/mmm/SetupActivity.java @@ -167,6 +167,8 @@ public class SetupActivity extends FoxActivity implements LanguageActivity { Timber.d("Got editor: %s", editor); // Set the Automatic update check pref editor.putBoolean("pref_background_update_check", ((MaterialSwitch) Objects.requireNonNull(view.findViewById(R.id.setup_background_update_check))).isChecked()); + // require wifi pref + editor.putBoolean("pref_background_update_check_wifi", ((MaterialSwitch) Objects.requireNonNull(view.findViewById(R.id.setup_background_update_check_require_wifi))).isChecked()); // Set the crash reporting pref editor.putBoolean("pref_crash_reporting", ((MaterialSwitch) Objects.requireNonNull(view.findViewById(R.id.setup_crash_reporting))).isChecked()); // Set the crash reporting PII pref diff --git a/app/src/main/java/com/fox2code/mmm/settings/SettingsActivity.java b/app/src/main/java/com/fox2code/mmm/settings/SettingsActivity.java index 64d8da5..4811169 100644 --- a/app/src/main/java/com/fox2code/mmm/settings/SettingsActivity.java +++ b/app/src/main/java/com/fox2code/mmm/settings/SettingsActivity.java @@ -215,17 +215,6 @@ public class SettingsActivity extends FoxActivity implements LanguageActivity { assert preferenceManager != null; setPreferencesFromResource(R.xml.root_preferences, rootKey); applyMaterial3(getPreferenceScreen()); - - // track enabled prefs - dataStore.getSharedPreferences().registerOnSharedPreferenceChangeListener((sharedPreferences, key) -> { - // use trackHelper to log key and value - // get key and value first - String value = sharedPreferences.getString(key, null); - // then log - if (value != null) { - TrackHelper.track().event("pref_changed", key + "=" + value).with(MainApplication.getINSTANCE().getTracker()); - } - }); // track all non empty values SharedPreferences sharedPreferences = dataStore.getSharedPreferences(); // disabled until EncryptedSharedPreferences fixes getAll()