summaryrefslogtreecommitdiffstats
path: root/src/com/android/calendar/DeleteEventHelper.java
diff options
context:
space:
mode:
authorIsaac Katzenelson <isaack@android.com>2011-10-14 18:15:18 -0700
committerIsaac Katzenelson <isaack@android.com>2011-10-14 18:15:18 -0700
commitb33cdf41092c79ca3502868d494bc284f4090267 (patch)
treefc63dc885b3328c82ddb7c1983648a6c96d0c76b /src/com/android/calendar/DeleteEventHelper.java
parentcb8d0a40761dfc1d3d52175fd056c0298493b5e9 (diff)
downloadandroid_packages_apps_Calendar-b33cdf41092c79ca3502868d494bc284f4090267.tar.gz
android_packages_apps_Calendar-b33cdf41092c79ca3502868d494bc284f4090267.tar.bz2
android_packages_apps_Calendar-b33cdf41092c79ca3502868d494bc284f4090267.zip
Prevent saving reminders when event is deleted
Bug: 5445751 Calendar provider crash in duplicateEvent Change-Id: Idf251b192c77206151d14af8b61396ec02113450
Diffstat (limited to 'src/com/android/calendar/DeleteEventHelper.java')
-rw-r--r--src/com/android/calendar/DeleteEventHelper.java20
1 files changed, 20 insertions, 0 deletions
diff --git a/src/com/android/calendar/DeleteEventHelper.java b/src/com/android/calendar/DeleteEventHelper.java
index 1d871e5e..a912a82e 100644
--- a/src/com/android/calendar/DeleteEventHelper.java
+++ b/src/com/android/calendar/DeleteEventHelper.java
@@ -90,6 +90,13 @@ public class DeleteEventHelper {
private AsyncQueryService mService;
+ private DeleteNotifyListener mDeleteStartedListener = null;
+
+ public interface DeleteNotifyListener {
+ public void onDeleteStarted();
+ }
+
+
public DeleteEventHelper(Context context, Activity parentActivity, boolean exitWhenDone) {
if (exitWhenDone && parentActivity == null) {
throw new IllegalArgumentException("parentActivity is required to exit when done");
@@ -124,6 +131,7 @@ public class DeleteEventHelper {
private DialogInterface.OnClickListener mDeleteNormalDialogListener =
new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int button) {
+ deleteStarted();
long id = mModel.mId; // mCursor.getInt(mEventIndexId);
Uri uri = ContentUris.withAppendedId(CalendarContract.Events.CONTENT_URI, id);
mService.startDelete(mService.getNextToken(), null, uri, null, null, Utils.UNDO_DELAY);
@@ -142,6 +150,7 @@ public class DeleteEventHelper {
private DialogInterface.OnClickListener mDeleteExceptionDialogListener =
new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int button) {
+ deleteStarted();
deleteExceptionEvent();
if (mCallback != null) {
mCallback.run();
@@ -174,6 +183,7 @@ public class DeleteEventHelper {
private DialogInterface.OnClickListener mDeleteRepeatingDialogListener =
new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int button) {
+ deleteStarted();
if (mWhichDelete != -1) {
deleteRepeatingEvent(mWhichDelete);
}
@@ -423,4 +433,14 @@ public class DeleteEventHelper {
mParent.finish();
}
}
+
+ public void setDeleteNotificationListener(DeleteNotifyListener listener) {
+ mDeleteStartedListener = listener;
+ }
+
+ private void deleteStarted() {
+ if (mDeleteStartedListener != null) {
+ mDeleteStartedListener.onDeleteStarted();
+ }
+ }
}