From 698bf7f574edf734a8134e072b8b24a8c027ba2f Mon Sep 17 00:00:00 2001 From: Alex Baker Date: Sat, 6 Feb 2016 22:46:02 -0600 Subject: [PATCH] Track repeat snackbar exception --- .../astrid/activity/TaskListActivity.java | 2 +- .../org/tasks/injection/BroadcastModule.java | 3 +-- .../receivers/RepeatConfirmationReceiver.java | 20 +++++++++++-------- 3 files changed, 14 insertions(+), 11 deletions(-) diff --git a/src/main/java/com/todoroo/astrid/activity/TaskListActivity.java b/src/main/java/com/todoroo/astrid/activity/TaskListActivity.java index c61311107..e3cfa364f 100644 --- a/src/main/java/com/todoroo/astrid/activity/TaskListActivity.java +++ b/src/main/java/com/todoroo/astrid/activity/TaskListActivity.java @@ -65,10 +65,10 @@ public class TaskListActivity extends InjectingAppCompatActivity implements @Inject SubtasksHelper subtasksHelper; @Inject TaskService taskService; @Inject TaskEditControlSetFragmentManager taskEditControlSetFragmentManager; + @Inject RepeatConfirmationReceiver repeatConfirmationReceiver; public static final int REQUEST_UPGRADE = 505; - private final RepeatConfirmationReceiver repeatConfirmationReceiver = new RepeatConfirmationReceiver(this); private NavigationDrawerFragment navigationDrawer; /** For indicating the new list screen should be launched at fragment setup time */ diff --git a/src/main/java/org/tasks/injection/BroadcastModule.java b/src/main/java/org/tasks/injection/BroadcastModule.java index a3b0ec254..95cd903c0 100644 --- a/src/main/java/org/tasks/injection/BroadcastModule.java +++ b/src/main/java/org/tasks/injection/BroadcastModule.java @@ -34,8 +34,7 @@ import dagger.Module; FirstLaunchReceiver.class, MyPackageReplacedReceiver.class, RefreshReceiver.class, - CompleteTaskReceiver.class, - RepeatConfirmationReceiver.class + CompleteTaskReceiver.class }) public class BroadcastModule { } diff --git a/src/main/java/org/tasks/receivers/RepeatConfirmationReceiver.java b/src/main/java/org/tasks/receivers/RepeatConfirmationReceiver.java index 5a096448c..2125b6320 100644 --- a/src/main/java/org/tasks/receivers/RepeatConfirmationReceiver.java +++ b/src/main/java/org/tasks/receivers/RepeatConfirmationReceiver.java @@ -1,6 +1,7 @@ package org.tasks.receivers; import android.app.Activity; +import android.content.BroadcastReceiver; import android.content.Context; import android.content.Intent; import android.support.design.widget.Snackbar; @@ -12,16 +13,15 @@ import com.todoroo.andlib.utility.DateUtilities; import com.todoroo.astrid.api.AstridApiConstants; import com.todoroo.astrid.data.Task; import com.todoroo.astrid.service.TaskService; -import com.todoroo.astrid.utility.Flags; import org.tasks.R; -import org.tasks.injection.InjectingBroadcastReceiver; +import org.tasks.analytics.Tracker; import javax.inject.Inject; import timber.log.Timber; -public class RepeatConfirmationReceiver extends InjectingBroadcastReceiver { +public class RepeatConfirmationReceiver extends BroadcastReceiver { private final Property[] REPEAT_RESCHEDULED_PROPERTIES = new Property[]{ @@ -32,18 +32,19 @@ public class RepeatConfirmationReceiver extends InjectingBroadcastReceiver { Task.REPEAT_UNTIL }; - @Inject TaskService taskService; - + private final TaskService taskService; private final Activity activity; + private Tracker tracker; - public RepeatConfirmationReceiver(Activity activity) { + @Inject + public RepeatConfirmationReceiver(TaskService taskService, Activity activity, Tracker tracker) { + this.taskService = taskService; this.activity = activity; + this.tracker = tracker; } @Override public void onReceive(final Context context, final Intent intent) { - super.onReceive(context, intent); - long taskId = intent.getLongExtra(AstridApiConstants.EXTRAS_TASK_ID, 0); if (taskId > 0) { @@ -61,6 +62,9 @@ public class RepeatConfirmationReceiver extends InjectingBroadcastReceiver { context.sendBroadcast(intent); } }.start(); + } catch (Exception e) { + Timber.e(e, e.getMessage()); + tracker.reportException(e); } } }