From 5b0d9d927cfc8152890a7e3e37944d22a15f7924 Mon Sep 17 00:00:00 2001 From: Vincent Breitmoser Date: Tue, 17 Jul 2018 20:18:36 +0200 Subject: [PATCH] Fix potential issue with disabled analytics --- .../keychain/analytics/AnalyticsManager.java | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/analytics/AnalyticsManager.java b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/analytics/AnalyticsManager.java index 073e81f3c..adc44b65a 100644 --- a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/analytics/AnalyticsManager.java +++ b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/analytics/AnalyticsManager.java @@ -82,6 +82,10 @@ public class AnalyticsManager implements OnSharedPreferenceChangeListener { // we generally only track booleans. never snoop around in the user's string settings!! @Override public void onSharedPreferenceChanged(SharedPreferences sharedPreferences, String key) { + if (piwikTracker == null) { + return; + } + // small exception: check if the user uses a custom keyserver, or one of the well-known ones if (Pref.KEY_SERVERS.equals(key)) { Timber.d("Tracking pref %s", key); @@ -103,8 +107,8 @@ public class AnalyticsManager implements OnSharedPreferenceChangeListener { } // unpack an enum if (Pref.THEME.equals(key)) { - String value = sharedPreferences.getString(key, "empty"); - TrackHelper.track().interaction("pref_" + key, value).with(piwikTracker); + String value = sharedPreferences.getString(Pref.THEME, "empty"); + TrackHelper.track().interaction("pref_" + Pref.THEME, value).with(piwikTracker); return; } // all other values we track are individual booleans