From d066c3179f3cc3c24643f521b738c7a20e874add Mon Sep 17 00:00:00 2001 From: Alex Baker Date: Thu, 24 Mar 2016 11:21:49 -0500 Subject: [PATCH] Add widget and timer tracking --- src/googleplay/java/org/tasks/analytics/Tracker.java | 11 ++++++----- .../com/todoroo/astrid/activity/TaskEditFragment.java | 2 ++ src/main/java/org/tasks/analytics/Tracking.java | 9 ++++++++- .../java/org/tasks/widget/ShortcutConfigActivity.java | 4 ++++ .../java/org/tasks/widget/WidgetConfigActivity.java | 4 ++++ src/main/res/values/keys.xml | 4 ++++ 6 files changed, 28 insertions(+), 6 deletions(-) diff --git a/src/googleplay/java/org/tasks/analytics/Tracker.java b/src/googleplay/java/org/tasks/analytics/Tracker.java index 376fcfac7..21949b92a 100644 --- a/src/googleplay/java/org/tasks/analytics/Tracker.java +++ b/src/googleplay/java/org/tasks/analytics/Tracker.java @@ -3,7 +3,6 @@ package org.tasks.analytics; import android.content.Context; import com.android.vending.billing.IabResult; -import com.android.vending.billing.Purchase; import com.google.android.gms.analytics.GoogleAnalytics; import com.google.android.gms.analytics.HitBuilders; import com.google.android.gms.analytics.StandardExceptionParser; @@ -52,11 +51,13 @@ public class Tracker { } public void reportEvent(Tracking.Events event) { - tracker.send(new HitBuilders.EventBuilder() + HitBuilders.EventBuilder eventBuilder = new HitBuilders.EventBuilder() .setCategory(context.getString(event.category)) - .setAction(context.getString(event.action)) - .setLabel(context.getString(event.label)) - .build()); + .setAction(context.getString(event.action)); + if (event.label > 0) { + eventBuilder.setLabel(context.getString(event.label)); + } + tracker.send(eventBuilder.build()); } public void reportIabResult(IabResult result, String sku) { diff --git a/src/main/java/com/todoroo/astrid/activity/TaskEditFragment.java b/src/main/java/com/todoroo/astrid/activity/TaskEditFragment.java index 7654e0865..ebe6f84cb 100755 --- a/src/main/java/com/todoroo/astrid/activity/TaskEditFragment.java +++ b/src/main/java/com/todoroo/astrid/activity/TaskEditFragment.java @@ -35,6 +35,7 @@ import com.todoroo.astrid.utility.Flags; import org.tasks.R; import org.tasks.analytics.Tracker; +import org.tasks.analytics.Tracking; import org.tasks.dialogs.DialogBuilder; import org.tasks.fragments.TaskEditControlSetFragmentManager; import org.tasks.injection.ForActivity; @@ -180,6 +181,7 @@ public final class TaskEditFragment extends InjectingFragment implements Toolbar } public Task startTimer() { + tracker.reportEvent(Tracking.Events.TIMER_START); TimerPlugin.startTimer(notificationManager, taskService, context, model); addComment(String.format("%s %s", getString(R.string.TEA_timer_comment_started), diff --git a/src/main/java/org/tasks/analytics/Tracking.java b/src/main/java/org/tasks/analytics/Tracking.java index 2e892d53d..0592a1f98 100644 --- a/src/main/java/org/tasks/analytics/Tracking.java +++ b/src/main/java/org/tasks/analytics/Tracking.java @@ -5,12 +5,19 @@ 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); + SET_DEFAULT_LIST(R.string.tracking_category_preferences, R.string.tracking_action_set, R.string.p_default_list), + WIDGET_ADD_SCROLLABLE(R.string.tracking_category_widget, R.string.tracking_action_add, R.string.app_name), + WIDGET_ADD_SHORTCUT(R.string.tracking_category_widget, R.string.tracking_action_add, R.string.FSA_label), + TIMER_START(R.string.tracking_category_timer, R.string.tracking_action_start); public final int category; public final int action; public final int label; + Events(int category, int action) { + this(category, action, 0); + } + Events(int category, int action, int label) { this.category = category; this.action = action; diff --git a/src/main/java/org/tasks/widget/ShortcutConfigActivity.java b/src/main/java/org/tasks/widget/ShortcutConfigActivity.java index 5c90acdfb..430685c02 100644 --- a/src/main/java/org/tasks/widget/ShortcutConfigActivity.java +++ b/src/main/java/org/tasks/widget/ShortcutConfigActivity.java @@ -10,6 +10,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.InjectingAppCompatActivity; import org.tasks.intents.TaskIntents; @@ -22,6 +24,7 @@ public class ShortcutConfigActivity extends InjectingAppCompatActivity { private static final int REQUEST_FILTER = 1019; @Inject DefaultFilterProvider defaultFilterProvider; + @Inject Tracker tracker; @Override public void onCreate(Bundle icicle) { @@ -36,6 +39,7 @@ public class ShortcutConfigActivity extends InjectingAppCompatActivity { protected void onActivityResult(int requestCode, int resultCode, Intent data) { if (requestCode == REQUEST_FILTER) { if (resultCode == Activity.RESULT_OK) { + tracker.reportEvent(Tracking.Events.WIDGET_ADD_SHORTCUT); Filter filter = data.getParcelableExtra(FilterSelectionActivity.EXTRA_FILTER); String filterId = defaultFilterProvider.getFilterPreferenceValue(filter); Intent shortcutIntent = TaskIntents.getTaskListByIdIntent(this, filterId); diff --git a/src/main/java/org/tasks/widget/WidgetConfigActivity.java b/src/main/java/org/tasks/widget/WidgetConfigActivity.java index b4c57fed9..d5dd5664e 100644 --- a/src/main/java/org/tasks/widget/WidgetConfigActivity.java +++ b/src/main/java/org/tasks/widget/WidgetConfigActivity.java @@ -6,6 +6,8 @@ import android.appwidget.AppWidgetManager; import android.content.Intent; import android.os.Bundle; +import org.tasks.analytics.Tracker; +import org.tasks.analytics.Tracking; import org.tasks.injection.ActivityComponent; import org.tasks.injection.InjectingAppCompatActivity; import org.tasks.preferences.ActivityPreferences; @@ -28,6 +30,7 @@ public class WidgetConfigActivity extends InjectingAppCompatActivity implements private int appWidgetId = AppWidgetManager.INVALID_APPWIDGET_ID; @Inject ActivityPreferences preferences; + @Inject Tracker tracker; @Override public void onCreate(Bundle savedInstanceState) { @@ -63,6 +66,7 @@ public class WidgetConfigActivity extends InjectingAppCompatActivity implements @Override public void ok() { + tracker.reportEvent(Tracking.Events.WIDGET_ADD_SCROLLABLE); Intent resultValue = new Intent(); resultValue.putExtra(AppWidgetManager.EXTRA_APPWIDGET_ID, appWidgetId); setResult(RESULT_OK, resultValue); diff --git a/src/main/res/values/keys.xml b/src/main/res/values/keys.xml index 850c10771..622324fa8 100644 --- a/src/main/res/values/keys.xml +++ b/src/main/res/values/keys.xml @@ -283,8 +283,12 @@ default_list Preferences + Widget + Timer IAB Set + Add + Start tesla_unread_enabled purchased_tesla_unread purchased_tasker