From 49c714a5a5720eb2abb42f178088475084b41031 Mon Sep 17 00:00:00 2001 From: Tom Hennen Date: Fri, 30 Jan 2015 13:06:32 -0500 Subject: [PATCH 1/2] added confirmation dialog when marking all episodes as read. #596 --- .../fragment/NewEpisodesFragment.java | 17 +++++++++++++++-- core/src/main/res/values/strings.xml | 1 + 2 files changed, 16 insertions(+), 2 deletions(-) diff --git a/app/src/main/java/de/danoeh/antennapod/fragment/NewEpisodesFragment.java b/app/src/main/java/de/danoeh/antennapod/fragment/NewEpisodesFragment.java index d97ede0ef..24991144e 100644 --- a/app/src/main/java/de/danoeh/antennapod/fragment/NewEpisodesFragment.java +++ b/app/src/main/java/de/danoeh/antennapod/fragment/NewEpisodesFragment.java @@ -2,6 +2,7 @@ package de.danoeh.antennapod.fragment; import android.app.Activity; import android.content.Context; +import android.content.DialogInterface; import android.content.SharedPreferences; import android.os.AsyncTask; import android.os.Bundle; @@ -29,6 +30,7 @@ import de.danoeh.antennapod.activity.MainActivity; import de.danoeh.antennapod.adapter.DefaultActionButtonCallback; import de.danoeh.antennapod.adapter.NewEpisodesListAdapter; import de.danoeh.antennapod.core.asynctask.DownloadObserver; +import de.danoeh.antennapod.core.dialog.ConfirmationDialog; import de.danoeh.antennapod.core.feed.EventDistributor; import de.danoeh.antennapod.core.feed.Feed; import de.danoeh.antennapod.core.feed.FeedItem; @@ -190,8 +192,19 @@ public class NewEpisodesFragment extends Fragment { } return true; case R.id.mark_all_read_item: - DBWriter.markAllItemsRead(getActivity()); - Toast.makeText(getActivity(), R.string.mark_all_read_msg, Toast.LENGTH_SHORT).show(); + ConfirmationDialog conDialog = new ConfirmationDialog(getActivity(), + R.string.mark_all_read_label, + R.string.mark_all_read_confirmation_msg) { + + @Override + public void onConfirmButtonPressed( + DialogInterface dialog) { + dialog.dismiss(); + DBWriter.markAllItemsRead(getActivity()); + Toast.makeText(getActivity(), R.string.mark_all_read_msg, Toast.LENGTH_SHORT).show(); + } + }; + conDialog.createNewDialog().show(); return true; case R.id.episode_filter_item: boolean newVal = !item.isChecked(); diff --git a/core/src/main/res/values/strings.xml b/core/src/main/res/values/strings.xml index 277d7d3c0..be004be26 100644 --- a/core/src/main/res/values/strings.xml +++ b/core/src/main/res/values/strings.xml @@ -79,6 +79,7 @@ Mark all as read Marked all episodes as read + Please confirm that you want to mark all episodes as being read. Show information Remove podcast Share website link From 4b8a3c00caef6b1f9aa21a8a5dacac7bccb6e9f8 Mon Sep 17 00:00:00 2001 From: Tom Hennen Date: Fri, 30 Jan 2015 13:43:16 -0500 Subject: [PATCH 2/2] added feed specific mark_all_read confirmation dialog. #596 --- .../menuhandler/FeedMenuHandler.java | 19 ++++++++++++++++--- core/src/main/res/values/strings.xml | 1 + 2 files changed, 17 insertions(+), 3 deletions(-) diff --git a/app/src/main/java/de/danoeh/antennapod/menuhandler/FeedMenuHandler.java b/app/src/main/java/de/danoeh/antennapod/menuhandler/FeedMenuHandler.java index b62fd22b2..efb4adb01 100644 --- a/app/src/main/java/de/danoeh/antennapod/menuhandler/FeedMenuHandler.java +++ b/app/src/main/java/de/danoeh/antennapod/menuhandler/FeedMenuHandler.java @@ -1,6 +1,7 @@ package de.danoeh.antennapod.menuhandler; import android.content.Context; +import android.content.DialogInterface; import android.content.Intent; import android.net.Uri; import android.util.Log; @@ -10,6 +11,7 @@ import android.view.MenuItem; import de.danoeh.antennapod.R; import de.danoeh.antennapod.core.BuildConfig; +import de.danoeh.antennapod.core.dialog.ConfirmationDialog; import de.danoeh.antennapod.core.feed.Feed; import de.danoeh.antennapod.core.storage.DBTasks; import de.danoeh.antennapod.core.storage.DBWriter; @@ -51,8 +53,8 @@ public class FeedMenuHandler { * * @throws DownloadRequestException */ - public static boolean onOptionsItemClicked(Context context, MenuItem item, - Feed selectedFeed) throws DownloadRequestException { + public static boolean onOptionsItemClicked(final Context context, final MenuItem item, + final Feed selectedFeed) throws DownloadRequestException { switch (item.getItemId()) { case R.id.refresh_item: DBTasks.refreshFeed(context, selectedFeed); @@ -61,7 +63,18 @@ public class FeedMenuHandler { DBTasks.refreshCompleteFeed(context, selectedFeed); break; case R.id.mark_all_read_item: - DBWriter.markFeedRead(context, selectedFeed.getId()); + ConfirmationDialog conDialog = new ConfirmationDialog(context, + R.string.mark_all_read_label, + R.string.mark_all_read_feed_confirmation_msg) { + + @Override + public void onConfirmButtonPressed( + DialogInterface dialog) { + dialog.dismiss(); + DBWriter.markFeedRead(context, selectedFeed.getId()); + } + }; + conDialog.createNewDialog().show(); break; case R.id.visit_website_item: Uri uri = Uri.parse(selectedFeed.getLink()); diff --git a/core/src/main/res/values/strings.xml b/core/src/main/res/values/strings.xml index be004be26..b6b025134 100644 --- a/core/src/main/res/values/strings.xml +++ b/core/src/main/res/values/strings.xml @@ -80,6 +80,7 @@ Mark all as read Marked all episodes as read Please confirm that you want to mark all episodes as being read. + Please confirm that you want to mark all episodes in this feed as being read. Show information Remove podcast Share website link