Merge pull request #617 from TomHennen/confirm_mark_all_read_596

Confirm mark all read
This commit is contained in:
Tom Hennen 2015-02-23 18:46:27 -05:00
commit 44f99e3b2f
3 changed files with 33 additions and 5 deletions

View File

@ -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();

View File

@ -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());

View File

@ -79,6 +79,8 @@
<!-- Actions on feeds -->
<string name="mark_all_read_label">Mark all as read</string>
<string name="mark_all_read_msg">Marked all episodes as read</string>
<string name="mark_all_read_confirmation_msg">Please confirm that you want to mark all episodes as being read.</string>
<string name="mark_all_read_feed_confirmation_msg">Please confirm that you want to mark all episodes in this feed as being read.</string>
<string name="show_info_label">Show information</string>
<string name="remove_feed_label">Remove podcast</string>
<string name="share_link_label">Share website link</string>