From 192426f289c2e2ae5cfc1cbdbe5ed22682d4dbe0 Mon Sep 17 00:00:00 2001 From: Alex Baker Date: Tue, 5 Jul 2016 14:22:03 -0500 Subject: [PATCH] Add analytic events * Track tag colors * Track font size, title length, built-in filters --- src/amazon/java/org/tasks/analytics/Tracker.java | 12 ++++++++++-- src/generic/java/org/tasks/analytics/Tracker.java | 4 ++++ src/googleplay/java/org/tasks/analytics/Tracker.java | 12 ++++++++++-- .../todoroo/astrid/actfm/TagSettingsActivity.java | 4 ++++ .../org/tasks/activities/ImportTaskActivity.java | 1 + src/main/java/org/tasks/analytics/Tracking.java | 4 +++- .../org/tasks/preferences/AppearancePreferences.java | 6 +++++- src/main/res/values/keys.xml | 1 + 8 files changed, 38 insertions(+), 6 deletions(-) diff --git a/src/amazon/java/org/tasks/analytics/Tracker.java b/src/amazon/java/org/tasks/analytics/Tracker.java index faa2e9684..7a56f0f7d 100644 --- a/src/amazon/java/org/tasks/analytics/Tracker.java +++ b/src/amazon/java/org/tasks/analytics/Tracker.java @@ -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); } diff --git a/src/generic/java/org/tasks/analytics/Tracker.java b/src/generic/java/org/tasks/analytics/Tracker.java index 1d8626d01..be0da64a1 100644 --- a/src/generic/java/org/tasks/analytics/Tracker.java +++ b/src/generic/java/org/tasks/analytics/Tracker.java @@ -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) { + + } } diff --git a/src/googleplay/java/org/tasks/analytics/Tracker.java b/src/googleplay/java/org/tasks/analytics/Tracker.java index c199451f9..e4b48e7c7 100644 --- a/src/googleplay/java/org/tasks/analytics/Tracker.java +++ b/src/googleplay/java/org/tasks/analytics/Tracker.java @@ -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); } diff --git a/src/main/java/com/todoroo/astrid/actfm/TagSettingsActivity.java b/src/main/java/com/todoroo/astrid/actfm/TagSettingsActivity.java index 42fa658b5..a424fbcc3 100644 --- a/src/main/java/com/todoroo/astrid/actfm/TagSettingsActivity.java +++ b/src/main/java/com/todoroo/astrid/actfm/TagSettingsActivity.java @@ -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(); } diff --git a/src/main/java/org/tasks/activities/ImportTaskActivity.java b/src/main/java/org/tasks/activities/ImportTaskActivity.java index 803c56369..b0b3a4535 100644 --- a/src/main/java/org/tasks/activities/ImportTaskActivity.java +++ b/src/main/java/org/tasks/activities/ImportTaskActivity.java @@ -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; diff --git a/src/main/java/org/tasks/analytics/Tracking.java b/src/main/java/org/tasks/analytics/Tracking.java index 2115a5260..f2b34813c 100644 --- a/src/main/java/org/tasks/analytics/Tracking.java +++ b/src/main/java/org/tasks/analytics/Tracking.java @@ -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; diff --git a/src/main/java/org/tasks/preferences/AppearancePreferences.java b/src/main/java/org/tasks/preferences/AppearancePreferences.java index 1cfc4b25f..b3c3491bb 100644 --- a/src/main/java/org/tasks/preferences/AppearancePreferences.java +++ b/src/main/java/org/tasks/preferences/AppearancePreferences.java @@ -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; } diff --git a/src/main/res/values/keys.xml b/src/main/res/values/keys.xml index cadee829b..a63e90ae9 100644 --- a/src/main/res/values/keys.xml +++ b/src/main/res/values/keys.xml @@ -285,6 +285,7 @@ Preferences Widget Timer + Tags IAB Gtask Add