Track usage of content providers

pull/618/head
Alex Baker 7 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.tags.TagService;
import org.tasks.analytics.Tracker;
import org.tasks.analytics.Tracking;
import org.tasks.injection.ContentProviderComponent;
import org.tasks.injection.InjectingContentProvider;
import org.tasks.ui.CheckBoxes;
@ -84,6 +86,7 @@ public class Astrid2TaskProvider extends InjectingContentProvider {
@Inject Lazy<TagService> tagService;
@Inject Lazy<CheckBoxes> checkBoxes;
@Inject Lazy<TaskDao> taskDao;
@Inject Lazy<Tracker> tracker;
static {
URI_MATCHER.addURI(AUTHORITY, "tasks", URI_TASKS);
@ -215,6 +218,7 @@ public class Astrid2TaskProvider extends InjectingContentProvider {
switch (URI_MATCHER.match(uri)) {
case URI_TASKS:
tracker.get().reportEvent(Tracking.Events.ASTRID_2_CP);
Task task = new Task();
// map values

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

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

@ -33,7 +33,10 @@ public class Tracking {
RECURRENCE_CUSTOM(R.string.tracking_category_recurrence, R.string.tracking_action_custom),
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_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 action;

@ -231,6 +231,7 @@
<string name="tracking_category_google_tasks">Gtask</string>
<string name="tracking_category_event">Event</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_start">Start</string>
<string name="tracking_action_move">Move</string>
@ -245,6 +246,10 @@
<string name="tracking_action_preset">Preset</string>
<string name="tracking_action_task_created">Task created</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_play_services_error">Play Services Error</string>
<string name="tracking_event_upgrade">Upgrade</string>

Loading…
Cancel
Save