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
+