summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorPaul Sliwowski <psliwowski@google.com>2013-06-12 19:10:57 -0700
committerPaul Sliwowski <psliwowski@google.com>2013-06-13 12:29:53 -0700
commitc0e5679492faf8b3d437e658449083324d062119 (patch)
treefd11c6c5d4e440e1a3cdfe252056f9beb1dd7251 /src
parentfe729565c8746c39cd2d47b559a99f0923f2002d (diff)
downloadandroid_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.java13
-rw-r--r--src/com/android/calendar/alerts/AlertUtils.java1
-rw-r--r--src/com/android/calendar/alerts/DismissAlarmsService.java11
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);