From d48f11d70c77560cb0733528c0d387653399468a Mon Sep 17 00:00:00 2001 From: Alex Baker Date: Fri, 26 Feb 2016 17:11:38 -0600 Subject: [PATCH] Add tracking event for default list preference --- .../java/org/tasks/analytics/Tracker.java | 4 ++++ .../java/org/tasks/analytics/Tracker.java | 10 ++++++++++ .../java/org/tasks/analytics/Tracking.java | 20 +++++++++++++++++++ .../preferences/DefaultFilterProvider.java | 7 ++++++- src/main/res/values/keys.xml | 3 +++ 5 files changed, 43 insertions(+), 1 deletion(-) create mode 100644 src/main/java/org/tasks/analytics/Tracking.java diff --git a/src/generic/java/org/tasks/analytics/Tracker.java b/src/generic/java/org/tasks/analytics/Tracker.java index f8cce9162..1fbac4202 100644 --- a/src/generic/java/org/tasks/analytics/Tracker.java +++ b/src/generic/java/org/tasks/analytics/Tracker.java @@ -20,4 +20,8 @@ public class Tracker { public void reportException(Exception e) { } + + public void reportEvent(Tracking.Events setDefaultList) { + + } } diff --git a/src/googleplay/java/org/tasks/analytics/Tracker.java b/src/googleplay/java/org/tasks/analytics/Tracker.java index b283cc637..f85ac1287 100644 --- a/src/googleplay/java/org/tasks/analytics/Tracker.java +++ b/src/googleplay/java/org/tasks/analytics/Tracker.java @@ -19,9 +19,11 @@ public class Tracker { private final GoogleAnalytics analytics; private final com.google.android.gms.analytics.Tracker tracker; private final StandardExceptionParser exceptionParser; + private Context context; @Inject public Tracker(@ForApplication Context context) { + this.context = context; analytics = GoogleAnalytics.getInstance(context); tracker = analytics.newTracker(R.xml.analytics); tracker.setAppVersion(Integer.toString(BuildConfig.VERSION_CODE)); @@ -46,4 +48,12 @@ public class Tracker { .setFatal(false) .build()); } + + public void reportEvent(Tracking.Events event) { + tracker.send(new HitBuilders.EventBuilder() + .setCategory(context.getString(event.category)) + .setAction(context.getString(event.action)) + .setLabel(context.getString(event.label)) + .build()); + } } diff --git a/src/main/java/org/tasks/analytics/Tracking.java b/src/main/java/org/tasks/analytics/Tracking.java new file mode 100644 index 000000000..a6366cc3e --- /dev/null +++ b/src/main/java/org/tasks/analytics/Tracking.java @@ -0,0 +1,20 @@ +package org.tasks.analytics; + +import org.tasks.R; + +public class Tracking { + + public enum Events { + SET_DEFAULT_LIST(R.string.tracking_category_preferences, R.string.tracking_action_set, R.string.p_default_list_name); + + public final int category; + public final int action; + public final int label; + + Events(int category, int action, int label) { + this.category = category; + this.action = action; + this.label = label; + } + } +} diff --git a/src/main/java/org/tasks/preferences/DefaultFilterProvider.java b/src/main/java/org/tasks/preferences/DefaultFilterProvider.java index 79c426a42..335143564 100644 --- a/src/main/java/org/tasks/preferences/DefaultFilterProvider.java +++ b/src/main/java/org/tasks/preferences/DefaultFilterProvider.java @@ -11,6 +11,8 @@ import com.todoroo.astrid.api.FilterWithCustomIntent; import com.todoroo.astrid.core.BuiltInFilterExposer; import org.tasks.R; +import org.tasks.analytics.Tracker; +import org.tasks.analytics.Tracking; import org.tasks.injection.ForApplication; import javax.inject.Inject; @@ -27,11 +29,13 @@ public class DefaultFilterProvider { private final Context context; private final Preferences preferences; + private Tracker tracker; @Inject - public DefaultFilterProvider(@ForApplication Context context, Preferences preferences) { + public DefaultFilterProvider(@ForApplication Context context, Preferences preferences, Tracker tracker) { this.context = context; this.preferences = preferences; + this.tracker = tracker; } public Filter getDefaultFilter() { @@ -58,6 +62,7 @@ public class DefaultFilterProvider { } public void setDefaultFilter(Filter filter) { + tracker.reportEvent(Tracking.Events.SET_DEFAULT_LIST); preferences.setString(R.string.p_default_list_name, filter.listingTitle); preferences.setString(R.string.p_default_list_sql, filter.getSqlQuery()); preferences.setInt(R.string.p_default_list_type, getFilterType(filter)); diff --git a/src/main/res/values/keys.xml b/src/main/res/values/keys.xml index 4d9567ee1..5cd989a42 100644 --- a/src/main/res/values/keys.xml +++ b/src/main/res/values/keys.xml @@ -288,4 +288,7 @@ default_list_class default_list_extras + Preferences + Set +