Track usage of content providers

pull/618/head
Alex Baker 8 years ago
parent 5b26a47a96
commit fdbbc6644b

@ -24,6 +24,8 @@ import com.todoroo.astrid.data.TagData;
import com.todoroo.astrid.data.Task; import com.todoroo.astrid.data.Task;
import com.todoroo.astrid.tags.TagService; import com.todoroo.astrid.tags.TagService;
import org.tasks.analytics.Tracker;
import org.tasks.analytics.Tracking;
import org.tasks.injection.ContentProviderComponent; import org.tasks.injection.ContentProviderComponent;
import org.tasks.injection.InjectingContentProvider; import org.tasks.injection.InjectingContentProvider;
import org.tasks.ui.CheckBoxes; import org.tasks.ui.CheckBoxes;
@ -84,6 +86,7 @@ public class Astrid2TaskProvider extends InjectingContentProvider {
@Inject Lazy<TagService> tagService; @Inject Lazy<TagService> tagService;
@Inject Lazy<CheckBoxes> checkBoxes; @Inject Lazy<CheckBoxes> checkBoxes;
@Inject Lazy<TaskDao> taskDao; @Inject Lazy<TaskDao> taskDao;
@Inject Lazy<Tracker> tracker;
static { static {
URI_MATCHER.addURI(AUTHORITY, "tasks", URI_TASKS); URI_MATCHER.addURI(AUTHORITY, "tasks", URI_TASKS);
@ -215,6 +218,7 @@ public class Astrid2TaskProvider extends InjectingContentProvider {
switch (URI_MATCHER.match(uri)) { switch (URI_MATCHER.match(uri)) {
case URI_TASKS: case URI_TASKS:
tracker.get().reportEvent(Tracking.Events.ASTRID_2_CP);
Task task = new Task(); Task task = new Task();
// map values // map values

@ -29,6 +29,8 @@ import com.todoroo.astrid.data.Task;
import com.todoroo.astrid.data.UserActivity; import com.todoroo.astrid.data.UserActivity;
import org.tasks.BuildConfig; import org.tasks.BuildConfig;
import org.tasks.analytics.Tracker;
import org.tasks.analytics.Tracking;
import org.tasks.injection.ContentProviderComponent; import org.tasks.injection.ContentProviderComponent;
import org.tasks.injection.InjectingContentProvider; import org.tasks.injection.InjectingContentProvider;
@ -87,6 +89,7 @@ public class Astrid3ContentProvider extends InjectingContentProvider {
private boolean open; private boolean open;
@Inject Lazy<Database> database; @Inject Lazy<Database> database;
@Inject Lazy<Tracker> tracker;
static { static {
uriMatcher = new UriMatcher(UriMatcher.NO_MATCH); uriMatcher = new UriMatcher(UriMatcher.NO_MATCH);
@ -152,6 +155,7 @@ public class Astrid3ContentProvider extends InjectingContentProvider {
} }
private UriHelper<?> generateHelper(Uri uri, boolean populateModel) { private UriHelper<?> generateHelper(Uri uri, boolean populateModel) {
tracker.get().reportEvent(Tracking.Events.ASTRID_3_CP);
final Database db = getDatabase(); final Database db = getDatabase();
if(uri.toString().startsWith(Task.CONTENT_URI.toString())) { if(uri.toString().startsWith(Task.CONTENT_URI.toString())) {
UriHelper<Task> helper = new UriHelper<>(); UriHelper<Task> helper = new UriHelper<>();

@ -15,6 +15,8 @@ import com.todoroo.astrid.api.AstridApiConstants;
import com.todoroo.astrid.dao.Database; import com.todoroo.astrid.dao.Database;
import org.tasks.BuildConfig; import org.tasks.BuildConfig;
import org.tasks.analytics.Tracker;
import org.tasks.analytics.Tracking;
import org.tasks.injection.ContentProviderComponent; import org.tasks.injection.ContentProviderComponent;
import org.tasks.injection.InjectingContentProvider; import org.tasks.injection.InjectingContentProvider;
@ -47,6 +49,7 @@ public class SqlContentProvider extends InjectingContentProvider {
private boolean open; private boolean open;
@Inject Lazy<Database> database; @Inject Lazy<Database> database;
@Inject Lazy<Tracker> tracker;
public SqlContentProvider() { public SqlContentProvider() {
setReadPermission(AstridApiConstants.PERMISSION_READ); setReadPermission(AstridApiConstants.PERMISSION_READ);
@ -111,7 +114,7 @@ public class SqlContentProvider extends InjectingContentProvider {
@Override @Override
public Cursor query(@NonNull Uri uri, String[] projection, String selection, public Cursor query(@NonNull Uri uri, String[] projection, String selection,
String[] selectionArgs, String sortOrder) { String[] selectionArgs, String sortOrder) {
tracker.get().reportEvent(Tracking.Events.ASTRID_3_CP);
return getDatabase().rawQuery(selection); return getDatabase().rawQuery(selection);
} }

@ -33,7 +33,10 @@ public class Tracking {
RECURRENCE_CUSTOM(R.string.tracking_category_recurrence, R.string.tracking_action_custom), RECURRENCE_CUSTOM(R.string.tracking_category_recurrence, R.string.tracking_action_custom),
RECURRENCE_PRESET(R.string.tracking_category_recurrence, R.string.tracking_action_preset), RECURRENCE_PRESET(R.string.tracking_category_recurrence, R.string.tracking_action_preset),
TASKER_CREATE(R.string.tracking_category_tasker, R.string.tracking_action_task_created), TASKER_CREATE(R.string.tracking_category_tasker, R.string.tracking_action_task_created),
TASKER_LIST_NOTIFICATION(R.string.tracking_category_tasker, R.string.tracking_action_list_notification); TASKER_LIST_NOTIFICATION(R.string.tracking_category_tasker, R.string.tracking_action_list_notification),
ASTRID_2_CP(R.string.tracking_category_api, R.string.tracking_action_api_astrid2_update),
ASTRID_3_CP(R.string.tracking_category_api, R.string.tracking_action_api_astrid3),
ASTRID_SQL_CP(R.string.tracking_category_api, R.string.tracking_action_api_astrid_sql);
public final int category; public final int category;
public final int action; public final int action;

@ -231,6 +231,7 @@
<string name="tracking_category_google_tasks">Gtask</string> <string name="tracking_category_google_tasks">Gtask</string>
<string name="tracking_category_event">Event</string> <string name="tracking_category_event">Event</string>
<string name="tracking_category_tasker">Tasker</string> <string name="tracking_category_tasker">Tasker</string>
<string name="tracking_category_api">API</string>
<string name="tracking_action_add">Add</string> <string name="tracking_action_add">Add</string>
<string name="tracking_action_start">Start</string> <string name="tracking_action_start">Start</string>
<string name="tracking_action_move">Move</string> <string name="tracking_action_move">Move</string>
@ -245,6 +246,10 @@
<string name="tracking_action_preset">Preset</string> <string name="tracking_action_preset">Preset</string>
<string name="tracking_action_task_created">Task created</string> <string name="tracking_action_task_created">Task created</string>
<string name="tracking_action_list_notification">List Notification</string> <string name="tracking_action_list_notification">List Notification</string>
<string name="tracking_action_api_astrid2_update">2 Update</string>
<string name="tracking_action_api_astrid3">3</string>
<string name="tracking_action_api_astrid_sql">SQL</string>
<string name="tracking_event_night_mode_mismatch">Night Mismatch</string> <string name="tracking_event_night_mode_mismatch">Night Mismatch</string>
<string name="tracking_event_play_services_error">Play Services Error</string> <string name="tracking_event_play_services_error">Play Services Error</string>
<string name="tracking_event_upgrade">Upgrade</string> <string name="tracking_event_upgrade">Upgrade</string>

Loading…
Cancel
Save