Remove 'mark all as read' button

Now available through multi-select
This commit is contained in:
ByteHamster 2022-05-08 11:24:59 +02:00
parent 2e999aef62
commit 934e2802f8
8 changed files with 0 additions and 130 deletions

View File

@ -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

View File

@ -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,

View File

@ -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

View File

@ -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) {

View File

@ -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>

View File

@ -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.
*/

View File

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

View File

@ -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>