mirror of
https://github.com/AntennaPod/AntennaPod.git
synced 2025-02-02 19:56:59 +01:00
Remove 'mark all as read' button
Now available through multi-select
This commit is contained in:
parent
2e999aef62
commit
934e2802f8
@ -66,7 +66,6 @@ public class AllEpisodesFragment extends EpisodesListFragment {
|
||||
public void onPrepareOptionsMenu(@NonNull Menu menu) {
|
||||
super.onPrepareOptionsMenu(menu);
|
||||
menu.findItem(R.id.filter_items).setVisible(true);
|
||||
menu.findItem(R.id.mark_all_read_item).setVisible(true);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -137,21 +137,6 @@ public abstract class EpisodesListFragment extends Fragment implements EpisodeIt
|
||||
if (itemId == R.id.refresh_item) {
|
||||
AutoUpdateManager.runImmediate(requireContext());
|
||||
return true;
|
||||
} else if (itemId == R.id.mark_all_read_item) {
|
||||
ConfirmationDialog markAllReadConfirmationDialog = 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();
|
||||
((MainActivity) getActivity()).showSnackbarAbovePlayer(
|
||||
R.string.mark_all_read_msg, Toast.LENGTH_SHORT);
|
||||
}
|
||||
};
|
||||
markAllReadConfirmationDialog.createNewDialog().show();
|
||||
return true;
|
||||
} else if (itemId == R.id.remove_all_inbox_item) {
|
||||
ConfirmationDialog removeAllNewFlagsConfirmationDialog = new ConfirmationDialog(getActivity(),
|
||||
R.string.remove_all_inbox_label,
|
||||
|
@ -48,7 +48,6 @@ public class FavoriteEpisodesFragment extends EpisodesListFragment {
|
||||
public void onPrepareOptionsMenu(@NonNull Menu menu) {
|
||||
super.onPrepareOptionsMenu(menu);
|
||||
menu.findItem(R.id.filter_items).setVisible(false);
|
||||
menu.findItem(R.id.mark_all_read_item).setVisible(false);
|
||||
}
|
||||
|
||||
@NonNull
|
||||
|
@ -1,13 +1,11 @@
|
||||
package de.danoeh.antennapod.menuhandler;
|
||||
|
||||
import android.content.Context;
|
||||
import android.content.DialogInterface;
|
||||
import android.util.Log;
|
||||
import android.view.Menu;
|
||||
import android.view.MenuItem;
|
||||
import androidx.annotation.NonNull;
|
||||
import de.danoeh.antennapod.R;
|
||||
import de.danoeh.antennapod.core.dialog.ConfirmationDialog;
|
||||
import de.danoeh.antennapod.core.storage.DBTasks;
|
||||
import de.danoeh.antennapod.core.storage.DBWriter;
|
||||
import de.danoeh.antennapod.core.util.IntentUtils;
|
||||
@ -56,19 +54,6 @@ public class FeedMenuHandler {
|
||||
DBTasks.forceRefreshCompleteFeed(context, selectedFeed);
|
||||
} else if (itemId == R.id.sort_items) {
|
||||
showSortDialog(context, selectedFeed);
|
||||
} else if (itemId == R.id.mark_all_read_item) {
|
||||
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(selectedFeed.getId());
|
||||
}
|
||||
};
|
||||
conDialog.createNewDialog().show();
|
||||
} else if (itemId == R.id.visit_website_item) {
|
||||
IntentUtils.openInBrowser(context, selectedFeed.getLink());
|
||||
} else if (itemId == R.id.share_item) {
|
||||
|
@ -24,12 +24,4 @@
|
||||
android:visible="false"
|
||||
custom:showAsAction="ifRoom"/>
|
||||
|
||||
<item
|
||||
android:id="@+id/mark_all_read_item"
|
||||
android:title="@string/mark_all_read_label"
|
||||
android:menuCategory="container"
|
||||
custom:showAsAction="collapseActionView"
|
||||
android:visible="false"
|
||||
android:icon="@drawable/ic_check"/>
|
||||
|
||||
</menu>
|
||||
|
@ -731,36 +731,6 @@ public class DBWriter {
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* Sets the 'read'-attribute of all FeedItems of a specific Feed to PLAYED.
|
||||
*
|
||||
* @param feedId ID of the Feed.
|
||||
*/
|
||||
public static Future<?> markFeedRead(final long feedId) {
|
||||
return dbExec.submit(() -> {
|
||||
final PodDBAdapter adapter = PodDBAdapter.getInstance();
|
||||
adapter.open();
|
||||
adapter.setFeedItems(FeedItem.PLAYED, feedId);
|
||||
adapter.close();
|
||||
|
||||
EventBus.getDefault().post(new UnreadItemsUpdateEvent());
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* Sets the 'read'-attribute of all FeedItems to PLAYED.
|
||||
*/
|
||||
public static Future<?> markAllItemsRead() {
|
||||
return dbExec.submit(() -> {
|
||||
final PodDBAdapter adapter = PodDBAdapter.getInstance();
|
||||
adapter.open();
|
||||
adapter.setFeedItems(FeedItem.PLAYED);
|
||||
adapter.close();
|
||||
|
||||
EventBus.getDefault().post(new UnreadItemsUpdateEvent());
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* Sets the 'read'-attribute of all NEW FeedItems to UNPLAYED.
|
||||
*/
|
||||
|
@ -751,34 +751,6 @@ public class DbWriterTest {
|
||||
}
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testMarkFeedRead() throws Exception {
|
||||
final int numItems = 10;
|
||||
Feed feed = new Feed("url", null, "title");
|
||||
feed.setItems(new ArrayList<>());
|
||||
for (int i = 0; i < numItems; i++) {
|
||||
FeedItem item = new FeedItem(0, "title " + i, "id " + i, "link " + i,
|
||||
new Date(), FeedItem.UNPLAYED, feed);
|
||||
feed.getItems().add(item);
|
||||
}
|
||||
|
||||
PodDBAdapter adapter = PodDBAdapter.getInstance();
|
||||
adapter.open();
|
||||
adapter.setCompleteFeed(feed);
|
||||
adapter.close();
|
||||
|
||||
assertTrue(feed.getId() != 0);
|
||||
for (FeedItem item : feed.getItems()) {
|
||||
assertTrue(item.getId() != 0);
|
||||
}
|
||||
|
||||
DBWriter.markFeedRead(feed.getId()).get(TIMEOUT, TimeUnit.SECONDS);
|
||||
List<FeedItem> loadedItems = DBReader.getFeedItemList(feed);
|
||||
for (FeedItem item : loadedItems) {
|
||||
assertTrue(item.isPlayed());
|
||||
}
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testRemoveAllNewFlags() throws Exception {
|
||||
final int numItems = 10;
|
||||
@ -807,34 +779,6 @@ public class DbWriterTest {
|
||||
}
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testMarkAllItemsReadSameFeed() throws Exception {
|
||||
final int numItems = 10;
|
||||
Feed feed = new Feed("url", null, "title");
|
||||
feed.setItems(new ArrayList<>());
|
||||
for (int i = 0; i < numItems; i++) {
|
||||
FeedItem item = new FeedItem(0, "title " + i, "id " + i, "link " + i,
|
||||
new Date(), FeedItem.UNPLAYED, feed);
|
||||
feed.getItems().add(item);
|
||||
}
|
||||
|
||||
PodDBAdapter adapter = PodDBAdapter.getInstance();
|
||||
adapter.open();
|
||||
adapter.setCompleteFeed(feed);
|
||||
adapter.close();
|
||||
|
||||
assertTrue(feed.getId() != 0);
|
||||
for (FeedItem item : feed.getItems()) {
|
||||
assertTrue(item.getId() != 0);
|
||||
}
|
||||
|
||||
DBWriter.markAllItemsRead().get(TIMEOUT, TimeUnit.SECONDS);
|
||||
List<FeedItem> loadedItems = DBReader.getFeedItemList(feed);
|
||||
for (FeedItem item : loadedItems) {
|
||||
assertTrue(item.isPlayed());
|
||||
}
|
||||
}
|
||||
|
||||
private static Feed createTestFeed(int numItems) {
|
||||
Feed feed = new Feed("url", null, "title");
|
||||
feed.setItems(new ArrayList<>());
|
||||
|
@ -152,10 +152,6 @@
|
||||
<string name="new_episode_notification_group_text">Your subscriptions have new episodes.</string>
|
||||
|
||||
<!-- Actions on feeds -->
|
||||
<string name="mark_all_read_label">Mark all as played</string>
|
||||
<string name="mark_all_read_msg">Marked all Episodes as played</string>
|
||||
<string name="mark_all_read_confirmation_msg">Please confirm that you want to mark all episodes as being played.</string>
|
||||
<string name="mark_all_read_feed_confirmation_msg">Please confirm that you want to mark all episodes in this podcast as being played.</string>
|
||||
<string name="remove_all_inbox_label">Remove all from inbox</string>
|
||||
<string name="removed_all_inbox_msg">Removed all from inbox</string>
|
||||
<string name="remove_all_inbox_confirmation_msg">Please confirm that you want to remove all from the inbox.</string>
|
||||
|
Loading…
x
Reference in New Issue
Block a user