Add analytic events

* Track tag colors
* Track font size, title length, built-in filters
pull/437/head
Alex Baker 10 years ago
parent 593314e8a2
commit 192426f289

@ -59,9 +59,17 @@ public class Tracker {
}
public void reportEvent(Tracking.Events event, String label) {
reportEvent(event.category, event.action, label);
}
public void reportEvent(Tracking.Events event, int action, String label) {
reportEvent(event.category, action, label);
}
private void reportEvent(int category, int action, String label) {
HitBuilders.EventBuilder eventBuilder = new HitBuilders.EventBuilder()
.setCategory(context.getString(event.category))
.setAction(context.getString(event.action));
.setCategory(context.getString(category))
.setAction(context.getString(action));
if (!Strings.isNullOrEmpty(label)) {
eventBuilder.setLabel(label);
}

@ -32,4 +32,8 @@ public class Tracker {
public void reportEvent(Tracking.Events event, String string) {
}
public void reportEvent(Tracking.Events setPreference, int resId, String s) {
}
}

@ -60,9 +60,17 @@ public class Tracker {
}
public void reportEvent(Tracking.Events event, String label) {
reportEvent(event.category, event.action, label);
}
public void reportEvent(Tracking.Events event, int action, String label) {
reportEvent(event.category, action, label);
}
private void reportEvent(int category, int action, String label) {
HitBuilders.EventBuilder eventBuilder = new HitBuilders.EventBuilder()
.setCategory(context.getString(event.category))
.setAction(context.getString(event.action));
.setCategory(context.getString(category))
.setAction(context.getString(action));
if (!Strings.isNullOrEmpty(label)) {
eventBuilder.setLabel(label);
}

@ -30,6 +30,8 @@ import com.todoroo.astrid.tags.TagService;
import com.todoroo.astrid.tags.TaskToTagMetadata;
import org.tasks.R;
import org.tasks.analytics.Tracker;
import org.tasks.analytics.Tracking;
import org.tasks.billing.PurchaseHelper;
import org.tasks.billing.PurchaseHelperCallback;
import org.tasks.dialogs.DialogBuilder;
@ -73,6 +75,7 @@ public class TagSettingsActivity extends ThemedInjectingAppCompatActivity implem
@Inject ThemeCache themeCache;
@Inject PurchaseHelper purchaseHelper;
@Inject ThemeColor themeColor;
@Inject Tracker tracker;
@BindView(R.id.tag_name) EditText tagName;
@BindView(R.id.toolbar) Toolbar toolbar;
@ -259,6 +262,7 @@ public class TagSettingsActivity extends ThemedInjectingAppCompatActivity implem
@Override
public void themePicked(ThemePickerDialog.ColorPalette palette, int index) {
tracker.reportEvent(Tracking.Events.SET_TAG_COLOR, Integer.toString(index));
selectedTheme = index;
updateTheme();
}

@ -6,6 +6,7 @@ import android.os.Bundle;
import com.todoroo.astrid.backup.TasksXmlImporter;
import org.tasks.analytics.Tracker;
import org.tasks.files.FileExplore;
import org.tasks.injection.ActivityComponent;
import org.tasks.injection.InjectingAppCompatActivity;

@ -10,12 +10,14 @@ public class Tracking {
SET_THEME(R.string.tracking_category_preferences, R.string.p_theme),
SET_COLOR(R.string.tracking_category_preferences, R.string.p_theme_color),
SET_ACCENT(R.string.tracking_category_preferences, R.string.p_theme_accent),
SET_TAG_COLOR(R.string.tracking_category_tags, R.string.p_theme_color),
WIDGET_ADD(R.string.tracking_category_widget, R.string.tracking_action_add),
TIMER_START(R.string.tracking_category_timer, R.string.tracking_action_start),
GTASK_ENABLED(R.string.tracking_category_google_tasks, R.string.tracking_action_on),
GTASK_DISABLED(R.string.tracking_category_google_tasks, R.string.tracking_action_off),
GTASK_LOGOUT(R.string.tracking_category_google_tasks, R.string.tracking_action_clear),
GTASK_MOVE(R.string.tracking_category_google_tasks, R.string.tracking_action_move);
GTASK_MOVE(R.string.tracking_category_google_tasks, R.string.tracking_action_move),
SET_PREFERENCE(R.string.tracking_category_preferences, 0);
public final int category;
public final int action;

@ -9,6 +9,8 @@ import com.todoroo.astrid.api.Filter;
import org.tasks.R;
import org.tasks.activities.FilterSelectionActivity;
import org.tasks.analytics.Tracker;
import org.tasks.analytics.Tracking;
import org.tasks.injection.ActivityComponent;
import org.tasks.injection.InjectingPreferenceActivity;
@ -25,6 +27,7 @@ public class AppearancePreferences extends InjectingPreferenceActivity {
@Inject Preferences preferences;
@Inject DefaultFilterProvider defaultFilterProvider;
@Inject Tracker tracker;
private Bundle result;
@ -96,10 +99,11 @@ public class AppearancePreferences extends InjectingPreferenceActivity {
}
}
private void setExtraOnChange(int resId, final String extra) {
private void setExtraOnChange(final int resId, final String extra) {
findPreference(getString(resId)).setOnPreferenceChangeListener(new Preference.OnPreferenceChangeListener() {
@Override
public boolean onPreferenceChange(Preference preference, Object newValue) {
tracker.reportEvent(Tracking.Events.SET_PREFERENCE, resId, newValue.toString());
result.putBoolean(extra, true);
return true;
}

@ -285,6 +285,7 @@
<string name="tracking_category_preferences">Preferences</string>
<string name="tracking_category_widget">Widget</string>
<string name="tracking_category_timer">Timer</string>
<string name="tracking_category_tags">Tags</string>
<string name="tracking_category_iab">IAB</string>
<string name="tracking_category_google_tasks">Gtask</string>
<string name="tracking_action_add">Add</string>

Loading…
Cancel
Save