From 4417ff1a4392eb10992391cb9baaf22a1d87ce5b Mon Sep 17 00:00:00 2001 From: Vincent Breitmoser Date: Tue, 17 Jul 2018 20:16:37 +0200 Subject: [PATCH] Fix simple crash in analytics --- .../java/org/sufficientlysecure/keychain/Constants.java | 2 +- .../keychain/analytics/AnalyticsManager.java | 7 +++++++ 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/Constants.java b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/Constants.java index 317d9f5cd..52b420f35 100644 --- a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/Constants.java +++ b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/Constants.java @@ -177,7 +177,7 @@ public final class Constants { } // we generally only track booleans. never snoop around in the user's string settings!! - public static final List ANALYTICS_PREFS = Arrays.asList(USE_NORMAL_PROXY, USE_TOR_PROXY, THEME, + public static final List ANALYTICS_PREFS = Arrays.asList(USE_NORMAL_PROXY, USE_TOR_PROXY, SYNC_CONTACTS, SYNC_KEYSERVER, ENABLE_WIFI_SYNC_ONLY, EXPERIMENTAL_ENABLE_KEYBASE, EXPERIMENTAL_ENABLE_LINKED_IDENTITIES, EXPERIMENTAL_USB_ALLOW_UNTESTED, PASSPHRASE_CACHE_SUBS, SEARCH_KEYSERVER, SEARCH_KEYBASE, SEARCH_WEB_KEY_DIRECTORY, 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 bb3574d56..073e81f3c 100644 --- a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/analytics/AnalyticsManager.java +++ b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/analytics/AnalyticsManager.java @@ -101,6 +101,13 @@ public class AnalyticsManager implements OnSharedPreferenceChangeListener { TrackHelper.track().interaction("pref_" + Pref.KEY_SERVERS, coarseGranularityKeyserver).with(piwikTracker); return; } + // unpack an enum + if (Pref.THEME.equals(key)) { + String value = sharedPreferences.getString(key, "empty"); + TrackHelper.track().interaction("pref_" + key, value).with(piwikTracker); + return; + } + // all other values we track are individual booleans if (Pref.ANALYTICS_PREFS.contains(key)) { Timber.d("Tracking pref %s", key); if (!sharedPreferences.contains(key)) {