diff --git a/src/main/AndroidManifest.xml b/src/main/AndroidManifest.xml
index 4c9c6042e..adc20a048 100644
--- a/src/main/AndroidManifest.xml
+++ b/src/main/AndroidManifest.xml
@@ -279,7 +279,7 @@
android:theme="@style/Tasks.Dialog" />
- *
- */
- public static class DeleteActivity extends InjectingActivity {
-
- @Inject StoreObjectDao storeObjectDao;
-
- @Override
- protected void onCreate(Bundle savedInstanceState) {
- setTheme(android.R.style.Theme_Dialog);
- super.onCreate(savedInstanceState);
-
- final long id = getIntent().getLongExtra(TOKEN_FILTER_ID, -1);
- if(id == -1) {
- finish();
- return;
- }
- final String name = getIntent().getStringExtra(TOKEN_FILTER_NAME);
-
- DialogUtilities.okCancelDialog(this,
- getString(R.string.DLG_delete_this_item_question, name),
- new DialogInterface.OnClickListener() {
-
- @Override
- public void onClick(DialogInterface dialog, int which) {
- storeObjectDao.delete(id);
- setResult(RESULT_OK);
- finish();
- }
- },
- new DialogInterface.OnClickListener() {
- @Override
- public void onClick(DialogInterface dialog, int which) {
- setResult(RESULT_CANCELED);
- finish();
- }
- });
- }
- }
}
diff --git a/src/main/java/com/todoroo/astrid/core/DeleteFilterActivity.java b/src/main/java/com/todoroo/astrid/core/DeleteFilterActivity.java
new file mode 100644
index 000000000..51240d365
--- /dev/null
+++ b/src/main/java/com/todoroo/astrid/core/DeleteFilterActivity.java
@@ -0,0 +1,64 @@
+package com.todoroo.astrid.core;
+
+import android.content.DialogInterface;
+import android.content.Intent;
+import android.os.Bundle;
+
+import com.todoroo.andlib.utility.DialogUtilities;
+import com.todoroo.astrid.api.AstridApiConstants;
+import com.todoroo.astrid.api.Filter;
+import com.todoroo.astrid.dao.StoreObjectDao;
+import com.todoroo.astrid.data.StoreObject;
+
+import org.tasks.R;
+import org.tasks.injection.InjectingActivity;
+
+import javax.inject.Inject;
+
+/**
+ * Simple activity for deleting stuff
+ *
+ * @author Tim Su
+ */
+public class DeleteFilterActivity extends InjectingActivity {
+
+ public static final String TOKEN_STORE_OBJECT = "store_object";
+
+ @Inject StoreObjectDao storeObjectDao;
+
+ @Override
+ protected void onCreate(Bundle savedInstanceState) {
+ setTheme(android.R.style.Theme_Dialog);
+ super.onCreate(savedInstanceState);
+
+ final long id = getIntent().getLongExtra(CustomFilterExposer.TOKEN_FILTER_ID, -1);
+ if (id == -1) {
+ finish();
+ return;
+ }
+ final StoreObject storeObject = storeObjectDao.getById(id);
+ final Filter filter = SavedFilter.load(storeObject);
+ final String name = filter.title;
+
+ DialogUtilities.okCancelDialog(this,
+ getString(R.string.DLG_delete_this_item_question, name),
+ new DialogInterface.OnClickListener() {
+
+ @Override
+ public void onClick(DialogInterface dialog, int which) {
+ storeObjectDao.delete(id);
+ setResult(RESULT_OK, new Intent(AstridApiConstants.BROADCAST_EVENT_FILTER_DELETED) {{
+ putExtra(TOKEN_STORE_OBJECT, storeObject);
+ }});
+ finish();
+ }
+ },
+ new DialogInterface.OnClickListener() {
+ @Override
+ public void onClick(DialogInterface dialog, int which) {
+ setResult(RESULT_CANCELED);
+ finish();
+ }
+ });
+ }
+}
diff --git a/src/main/java/com/todoroo/astrid/dao/StoreObjectDao.java b/src/main/java/com/todoroo/astrid/dao/StoreObjectDao.java
index 09f543c52..fdb695175 100644
--- a/src/main/java/com/todoroo/astrid/dao/StoreObjectDao.java
+++ b/src/main/java/com/todoroo/astrid/dao/StoreObjectDao.java
@@ -82,5 +82,9 @@ public class StoreObjectDao {
public void createNew(StoreObject storeObject) {
dao.createNew(storeObject);
}
+
+ public StoreObject getById(long id) {
+ return dao.fetch(id, StoreObject.PROPERTIES);
+ }
}
diff --git a/src/main/java/com/todoroo/astrid/data/StoreObject.java b/src/main/java/com/todoroo/astrid/data/StoreObject.java
index d127ca9a5..0735a2884 100644
--- a/src/main/java/com/todoroo/astrid/data/StoreObject.java
+++ b/src/main/java/com/todoroo/astrid/data/StoreObject.java
@@ -79,7 +79,7 @@ public class StoreObject extends AbstractModel {
// --- parcelable helpers
- private static final Creator CREATOR = new ModelCreator<>(StoreObject.class);
+ public static final Creator CREATOR = new ModelCreator<>(StoreObject.class);
public String getType() {
return getValue(TYPE);
diff --git a/src/main/java/org/tasks/injection/ActivityModule.java b/src/main/java/org/tasks/injection/ActivityModule.java
index cb5b38c52..9b00d1e9d 100644
--- a/src/main/java/org/tasks/injection/ActivityModule.java
+++ b/src/main/java/org/tasks/injection/ActivityModule.java
@@ -13,8 +13,8 @@ import com.todoroo.astrid.activity.TaskListActivity;
import com.todoroo.astrid.backup.BackupPreferences;
import com.todoroo.astrid.calls.MissedCallActivity;
import com.todoroo.astrid.core.CustomFilterActivity;
-import com.todoroo.astrid.core.CustomFilterExposer;
import com.todoroo.astrid.core.DefaultsPreferences;
+import com.todoroo.astrid.core.DeleteFilterActivity;
import com.todoroo.astrid.core.OldTaskPreferences;
import com.todoroo.astrid.files.AACRecordingActivity;
import com.todoroo.astrid.gcal.CalendarAlarmListCreator;
@@ -43,7 +43,7 @@ import dagger.Provides;
CustomFilterActivity.class,
MissedCallActivity.class,
CalendarAlarmListCreator.class,
- CustomFilterExposer.DeleteActivity.class,
+ DeleteFilterActivity.class,
CalendarReminderActivity.class,
DeleteTagActivity.class,
RenameTagActivity.class,