Add widget and timer tracking

pull/384/head
Alex Baker 8 years ago
parent 1c227e92a5
commit d066c3179f

@ -3,7 +3,6 @@ package org.tasks.analytics;
import android.content.Context; import android.content.Context;
import com.android.vending.billing.IabResult; 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.GoogleAnalytics;
import com.google.android.gms.analytics.HitBuilders; import com.google.android.gms.analytics.HitBuilders;
import com.google.android.gms.analytics.StandardExceptionParser; import com.google.android.gms.analytics.StandardExceptionParser;
@ -52,11 +51,13 @@ public class Tracker {
} }
public void reportEvent(Tracking.Events event) { public void reportEvent(Tracking.Events event) {
tracker.send(new HitBuilders.EventBuilder() HitBuilders.EventBuilder eventBuilder = new HitBuilders.EventBuilder()
.setCategory(context.getString(event.category)) .setCategory(context.getString(event.category))
.setAction(context.getString(event.action)) .setAction(context.getString(event.action));
.setLabel(context.getString(event.label)) if (event.label > 0) {
.build()); eventBuilder.setLabel(context.getString(event.label));
}
tracker.send(eventBuilder.build());
} }
public void reportIabResult(IabResult result, String sku) { public void reportIabResult(IabResult result, String sku) {

@ -35,6 +35,7 @@ import com.todoroo.astrid.utility.Flags;
import org.tasks.R; import org.tasks.R;
import org.tasks.analytics.Tracker; import org.tasks.analytics.Tracker;
import org.tasks.analytics.Tracking;
import org.tasks.dialogs.DialogBuilder; import org.tasks.dialogs.DialogBuilder;
import org.tasks.fragments.TaskEditControlSetFragmentManager; import org.tasks.fragments.TaskEditControlSetFragmentManager;
import org.tasks.injection.ForActivity; import org.tasks.injection.ForActivity;
@ -180,6 +181,7 @@ public final class TaskEditFragment extends InjectingFragment implements Toolbar
} }
public Task startTimer() { public Task startTimer() {
tracker.reportEvent(Tracking.Events.TIMER_START);
TimerPlugin.startTimer(notificationManager, taskService, context, model); TimerPlugin.startTimer(notificationManager, taskService, context, model);
addComment(String.format("%s %s", addComment(String.format("%s %s",
getString(R.string.TEA_timer_comment_started), getString(R.string.TEA_timer_comment_started),

@ -5,12 +5,19 @@ import org.tasks.R;
public class Tracking { public class Tracking {
public enum Events { 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 category;
public final int action; public final int action;
public final int label; public final int label;
Events(int category, int action) {
this(category, action, 0);
}
Events(int category, int action, int label) { Events(int category, int action, int label) {
this.category = category; this.category = category;
this.action = action; this.action = action;

@ -10,6 +10,8 @@ import com.todoroo.astrid.api.Filter;
import org.tasks.R; import org.tasks.R;
import org.tasks.activities.FilterSelectionActivity; import org.tasks.activities.FilterSelectionActivity;
import org.tasks.analytics.Tracker;
import org.tasks.analytics.Tracking;
import org.tasks.injection.ActivityComponent; import org.tasks.injection.ActivityComponent;
import org.tasks.injection.InjectingAppCompatActivity; import org.tasks.injection.InjectingAppCompatActivity;
import org.tasks.intents.TaskIntents; import org.tasks.intents.TaskIntents;
@ -22,6 +24,7 @@ public class ShortcutConfigActivity extends InjectingAppCompatActivity {
private static final int REQUEST_FILTER = 1019; private static final int REQUEST_FILTER = 1019;
@Inject DefaultFilterProvider defaultFilterProvider; @Inject DefaultFilterProvider defaultFilterProvider;
@Inject Tracker tracker;
@Override @Override
public void onCreate(Bundle icicle) { public void onCreate(Bundle icicle) {
@ -36,6 +39,7 @@ public class ShortcutConfigActivity extends InjectingAppCompatActivity {
protected void onActivityResult(int requestCode, int resultCode, Intent data) { protected void onActivityResult(int requestCode, int resultCode, Intent data) {
if (requestCode == REQUEST_FILTER) { if (requestCode == REQUEST_FILTER) {
if (resultCode == Activity.RESULT_OK) { if (resultCode == Activity.RESULT_OK) {
tracker.reportEvent(Tracking.Events.WIDGET_ADD_SHORTCUT);
Filter filter = data.getParcelableExtra(FilterSelectionActivity.EXTRA_FILTER); Filter filter = data.getParcelableExtra(FilterSelectionActivity.EXTRA_FILTER);
String filterId = defaultFilterProvider.getFilterPreferenceValue(filter); String filterId = defaultFilterProvider.getFilterPreferenceValue(filter);
Intent shortcutIntent = TaskIntents.getTaskListByIdIntent(this, filterId); Intent shortcutIntent = TaskIntents.getTaskListByIdIntent(this, filterId);

@ -6,6 +6,8 @@ import android.appwidget.AppWidgetManager;
import android.content.Intent; import android.content.Intent;
import android.os.Bundle; import android.os.Bundle;
import org.tasks.analytics.Tracker;
import org.tasks.analytics.Tracking;
import org.tasks.injection.ActivityComponent; import org.tasks.injection.ActivityComponent;
import org.tasks.injection.InjectingAppCompatActivity; import org.tasks.injection.InjectingAppCompatActivity;
import org.tasks.preferences.ActivityPreferences; import org.tasks.preferences.ActivityPreferences;
@ -28,6 +30,7 @@ public class WidgetConfigActivity extends InjectingAppCompatActivity implements
private int appWidgetId = AppWidgetManager.INVALID_APPWIDGET_ID; private int appWidgetId = AppWidgetManager.INVALID_APPWIDGET_ID;
@Inject ActivityPreferences preferences; @Inject ActivityPreferences preferences;
@Inject Tracker tracker;
@Override @Override
public void onCreate(Bundle savedInstanceState) { public void onCreate(Bundle savedInstanceState) {
@ -63,6 +66,7 @@ public class WidgetConfigActivity extends InjectingAppCompatActivity implements
@Override @Override
public void ok() { public void ok() {
tracker.reportEvent(Tracking.Events.WIDGET_ADD_SCROLLABLE);
Intent resultValue = new Intent(); Intent resultValue = new Intent();
resultValue.putExtra(AppWidgetManager.EXTRA_APPWIDGET_ID, appWidgetId); resultValue.putExtra(AppWidgetManager.EXTRA_APPWIDGET_ID, appWidgetId);
setResult(RESULT_OK, resultValue); setResult(RESULT_OK, resultValue);

@ -283,8 +283,12 @@
<string name="p_default_list">default_list</string> <string name="p_default_list">default_list</string>
<string name="tracking_category_preferences">Preferences</string> <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_iab">IAB</string> <string name="tracking_category_iab">IAB</string>
<string name="tracking_action_set">Set</string> <string name="tracking_action_set">Set</string>
<string name="tracking_action_add">Add</string>
<string name="tracking_action_start">Start</string>
<string name="p_tesla_unread_enabled">tesla_unread_enabled</string> <string name="p_tesla_unread_enabled">tesla_unread_enabled</string>
<string name="p_purchased_tesla_unread">purchased_tesla_unread</string> <string name="p_purchased_tesla_unread">purchased_tesla_unread</string>
<string name="p_purchased_tasker">purchased_tasker</string> <string name="p_purchased_tasker">purchased_tasker</string>

Loading…
Cancel
Save