Add tracking event for default list preference

pull/384/head
Alex Baker 10 years ago
parent 16e117719f
commit d48f11d70c

@ -20,4 +20,8 @@ public class Tracker {
public void reportException(Exception e) { public void reportException(Exception e) {
} }
public void reportEvent(Tracking.Events setDefaultList) {
}
} }

@ -19,9 +19,11 @@ public class Tracker {
private final GoogleAnalytics analytics; private final GoogleAnalytics analytics;
private final com.google.android.gms.analytics.Tracker tracker; private final com.google.android.gms.analytics.Tracker tracker;
private final StandardExceptionParser exceptionParser; private final StandardExceptionParser exceptionParser;
private Context context;
@Inject @Inject
public Tracker(@ForApplication Context context) { public Tracker(@ForApplication Context context) {
this.context = context;
analytics = GoogleAnalytics.getInstance(context); analytics = GoogleAnalytics.getInstance(context);
tracker = analytics.newTracker(R.xml.analytics); tracker = analytics.newTracker(R.xml.analytics);
tracker.setAppVersion(Integer.toString(BuildConfig.VERSION_CODE)); tracker.setAppVersion(Integer.toString(BuildConfig.VERSION_CODE));
@ -46,4 +48,12 @@ public class Tracker {
.setFatal(false) .setFatal(false)
.build()); .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());
}
} }

@ -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;
}
}
}

@ -11,6 +11,8 @@ import com.todoroo.astrid.api.FilterWithCustomIntent;
import com.todoroo.astrid.core.BuiltInFilterExposer; import com.todoroo.astrid.core.BuiltInFilterExposer;
import org.tasks.R; import org.tasks.R;
import org.tasks.analytics.Tracker;
import org.tasks.analytics.Tracking;
import org.tasks.injection.ForApplication; import org.tasks.injection.ForApplication;
import javax.inject.Inject; import javax.inject.Inject;
@ -27,11 +29,13 @@ public class DefaultFilterProvider {
private final Context context; private final Context context;
private final Preferences preferences; private final Preferences preferences;
private Tracker tracker;
@Inject @Inject
public DefaultFilterProvider(@ForApplication Context context, Preferences preferences) { public DefaultFilterProvider(@ForApplication Context context, Preferences preferences, Tracker tracker) {
this.context = context; this.context = context;
this.preferences = preferences; this.preferences = preferences;
this.tracker = tracker;
} }
public Filter getDefaultFilter() { public Filter getDefaultFilter() {
@ -58,6 +62,7 @@ public class DefaultFilterProvider {
} }
public void setDefaultFilter(Filter filter) { 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_name, filter.listingTitle);
preferences.setString(R.string.p_default_list_sql, filter.getSqlQuery()); preferences.setString(R.string.p_default_list_sql, filter.getSqlQuery());
preferences.setInt(R.string.p_default_list_type, getFilterType(filter)); preferences.setInt(R.string.p_default_list_type, getFilterType(filter));

@ -288,4 +288,7 @@
<string name="p_default_list_class">default_list_class</string> <string name="p_default_list_class">default_list_class</string>
<string name="p_default_list_extras">default_list_extras</string> <string name="p_default_list_extras">default_list_extras</string>
<string name="tracking_category_preferences">Preferences</string>
<string name="tracking_action_set">Set</string>
</resources> </resources>

Loading…
Cancel
Save