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 reportEvent(Tracking.Events setDefaultList) {
}
}

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

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

@ -288,4 +288,7 @@
<string name="p_default_list_class">default_list_class</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>

Loading…
Cancel
Save