diff options
author | Paul Sliwowski <psliwowski@google.com> | 2013-06-12 19:10:57 -0700 |
---|---|---|
committer | Paul Sliwowski <psliwowski@google.com> | 2013-06-13 12:29:53 -0700 |
commit | c0e5679492faf8b3d437e658449083324d062119 (patch) | |
tree | fd11c6c5d4e440e1a3cdfe252056f9beb1dd7251 /src | |
parent | fe729565c8746c39cd2d47b559a99f0923f2002d (diff) | |
download | android_packages_apps_Calendar-c0e5679492faf8b3d437e658449083324d062119.tar.gz android_packages_apps_Calendar-c0e5679492faf8b3d437e658449083324d062119.tar.bz2 android_packages_apps_Calendar-c0e5679492faf8b3d437e658449083324d062119.zip |
Fix crash when dismissing notification.
Crash caused by cl I0c90033c5af16f02c72c81c5d407528ce644db58.
Change-Id: I249010d3698215b4c0ffe4230a03d65c6e92fa03
Diffstat (limited to 'src')
-rw-r--r-- | src/com/android/calendar/alerts/AlertReceiver.java | 13 | ||||
-rw-r--r-- | src/com/android/calendar/alerts/AlertUtils.java | 1 | ||||
-rw-r--r-- | src/com/android/calendar/alerts/DismissAlarmsService.java | 11 |
3 files changed, 10 insertions, 15 deletions
diff --git a/src/com/android/calendar/alerts/AlertReceiver.java b/src/com/android/calendar/alerts/AlertReceiver.java index 7bc211ae..481619d9 100644 --- a/src/com/android/calendar/alerts/AlertReceiver.java +++ b/src/com/android/calendar/alerts/AlertReceiver.java @@ -201,25 +201,23 @@ public class AlertReceiver extends BroadcastReceiver { private static PendingIntent createClickEventIntent(Context context, long eventId, long startMillis, long endMillis, int notificationId) { return createDismissAlarmsIntent(context, eventId, startMillis, endMillis, notificationId, - "com.android.calendar.CLICK", true); + DismissAlarmsService.SHOW_ACTION); } private static PendingIntent createDeleteEventIntent(Context context, long eventId, long startMillis, long endMillis, int notificationId) { return createDismissAlarmsIntent(context, eventId, startMillis, endMillis, notificationId, - "com.android.calendar.DELETE", false); + DismissAlarmsService.DISMISS_ACTION); } private static PendingIntent createDismissAlarmsIntent(Context context, long eventId, - long startMillis, long endMillis, int notificationId, String action, - boolean showEvent) { + long startMillis, long endMillis, int notificationId, String action) { Intent intent = new Intent(); intent.setClass(context, DismissAlarmsService.class); - intent.setAction(DismissAlarmsService.DELETE_ALL_ACTION); + intent.setAction(action); intent.putExtra(AlertUtils.EVENT_ID_KEY, eventId); intent.putExtra(AlertUtils.EVENT_START_KEY, startMillis); intent.putExtra(AlertUtils.EVENT_END_KEY, endMillis); - intent.putExtra(AlertUtils.SHOW_EVENT_KEY, showEvent); intent.putExtra(AlertUtils.NOTIFICATION_ID_KEY, notificationId); // Must set a field that affects Intent.filterEquals so that the resulting @@ -231,7 +229,6 @@ public class AlertReceiver extends BroadcastReceiver { ContentUris.appendId(builder, eventId); ContentUris.appendId(builder, startMillis); intent.setData(builder.build()); - intent.setAction(action); return PendingIntent.getService(context, 0, intent, PendingIntent.FLAG_UPDATE_CURRENT); } @@ -471,7 +468,7 @@ public class AlertReceiver extends BroadcastReceiver { // expired events. Intent deleteIntent = new Intent(); deleteIntent.setClass(context, DismissAlarmsService.class); - deleteIntent.setAction(DismissAlarmsService.DELETE_ALL_ACTION); + deleteIntent.setAction(DismissAlarmsService.DISMISS_ACTION); deleteIntent.putExtra(AlertUtils.EVENT_IDS_KEY, eventIds); deleteIntent.putExtra(AlertUtils.EVENT_STARTS_KEY, startMillis); PendingIntent pendingDeleteIntent = PendingIntent.getService(context, 0, deleteIntent, diff --git a/src/com/android/calendar/alerts/AlertUtils.java b/src/com/android/calendar/alerts/AlertUtils.java index a9a74eee..a082fdf7 100644 --- a/src/com/android/calendar/alerts/AlertUtils.java +++ b/src/com/android/calendar/alerts/AlertUtils.java @@ -51,7 +51,6 @@ public class AlertUtils { public static final int EXPIRED_GROUP_NOTIFICATION_ID = 0; public static final String EVENT_ID_KEY = "eventid"; - public static final String SHOW_EVENT_KEY = "showevent"; public static final String EVENT_START_KEY = "eventstart"; public static final String EVENT_END_KEY = "eventend"; public static final String NOTIFICATION_ID_KEY = "notificationid"; diff --git a/src/com/android/calendar/alerts/DismissAlarmsService.java b/src/com/android/calendar/alerts/DismissAlarmsService.java index e4ab89f4..931f99f4 100644 --- a/src/com/android/calendar/alerts/DismissAlarmsService.java +++ b/src/com/android/calendar/alerts/DismissAlarmsService.java @@ -38,8 +38,9 @@ import java.util.List; * Service for asynchronously marking fired alarms as dismissed. */ public class DismissAlarmsService extends IntentService { - public static final String DELETE_ALL_ACTION = "com.android.calendar.DELETEALL"; private static final String TAG = "DismissAlarmsService"; + public static final String SHOW_ACTION = "com.android.calendar.SHOW"; + public static final String DISMISS_ACTION = "com.android.calendar.DISMISS"; private static final String[] PROJECTION = new String[] { CalendarAlerts.STATE, @@ -57,15 +58,13 @@ public class DismissAlarmsService extends IntentService { @Override public void onHandleIntent(Intent intent) { - if (!DELETE_ALL_ACTION.equals(intent.getAction())) { - Log.wtf(TAG, String.format("Unknown Action: %s", intent.getAction())); - return; + if (AlertService.DEBUG) { + Log.d(TAG, "onReceive: a=" + intent.getAction() + " " + intent.toString()); } long eventId = intent.getLongExtra(AlertUtils.EVENT_ID_KEY, -1); long eventStart = intent.getLongExtra(AlertUtils.EVENT_START_KEY, -1); long eventEnd = intent.getLongExtra(AlertUtils.EVENT_END_KEY, -1); - boolean showEvent = intent.getBooleanExtra(AlertUtils.SHOW_EVENT_KEY, false); long[] eventIds = intent.getLongArrayExtra(AlertUtils.EVENT_IDS_KEY); long[] eventStarts = intent.getLongArrayExtra(AlertUtils.EVENT_STARTS_KEY); int notificationId = intent.getIntExtra(AlertUtils.NOTIFICATION_ID_KEY, -1); @@ -104,7 +103,7 @@ public class DismissAlarmsService extends IntentService { nm.cancel(notificationId); } - if (showEvent) { + if (SHOW_ACTION.equals(intent.getAction())) { // Show event on Calendar app by building an intent and task stack to start // EventInfoActivity with AllInOneActivity as the parent activity rooted to home. Intent i = AlertUtils.buildEventViewIntent(this, eventId, eventStart, eventEnd); |