summaryrefslogtreecommitdiff
path: root/src/de/podfetcher/asynctask/FeedRemover.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/de/podfetcher/asynctask/FeedRemover.java')
-rw-r--r--src/de/podfetcher/asynctask/FeedRemover.java62
1 files changed, 62 insertions, 0 deletions
diff --git a/src/de/podfetcher/asynctask/FeedRemover.java b/src/de/podfetcher/asynctask/FeedRemover.java
new file mode 100644
index 000000000..504de95c0
--- /dev/null
+++ b/src/de/podfetcher/asynctask/FeedRemover.java
@@ -0,0 +1,62 @@
+package de.podfetcher.asynctask;
+
+import de.podfetcher.feed.Feed;
+import de.podfetcher.feed.FeedManager;
+import android.app.ProgressDialog;
+import android.content.Context;
+import android.content.DialogInterface;
+import android.content.DialogInterface.OnCancelListener;
+import android.os.AsyncTask;
+
+/** Removes a feed in the background. */
+public class FeedRemover extends AsyncTask<Feed, Void, Void> {
+ Context context;
+ ProgressDialog dialog;
+
+ public FeedRemover(Context context) {
+ super();
+ this.context = context;
+ }
+
+ @Override
+ protected Void doInBackground(Feed... params) {
+ FeedManager manager = FeedManager.getInstance();
+ for (Feed feed : params) {
+ manager.deleteFeed(context, feed);
+ if (isCancelled()) {
+ break;
+ }
+ }
+
+ return null;
+ }
+
+ @Override
+ protected void onCancelled() {
+ dialog.dismiss();
+ }
+
+ @Override
+ protected void onPostExecute(Void result) {
+ dialog.dismiss();
+ }
+
+ @Override
+ protected void onPreExecute() {
+ dialog = new ProgressDialog(context);
+ dialog.setMessage("Removing Feed");
+ dialog.setOnCancelListener(new OnCancelListener() {
+
+ @Override
+ public void onCancel(DialogInterface dialog) {
+ cancel(true);
+
+ }
+
+ });
+ dialog.show();
+ }
+
+
+
+}