summaryrefslogtreecommitdiff
path: root/app/src/main/java/de/danoeh
diff options
context:
space:
mode:
Diffstat (limited to 'app/src/main/java/de/danoeh')
-rw-r--r--app/src/main/java/de/danoeh/antennapod/activity/OpmlFeedChooserActivity.java25
-rw-r--r--app/src/main/java/de/danoeh/antennapod/activity/PreferenceActivity.java44
-rw-r--r--app/src/main/java/de/danoeh/antennapod/fragment/AudioPlayerFragment.java30
-rw-r--r--app/src/main/java/de/danoeh/antennapod/fragment/EpisodesListFragment.java71
-rw-r--r--app/src/main/java/de/danoeh/antennapod/fragment/FeedItemlistFragment.java19
-rw-r--r--app/src/main/java/de/danoeh/antennapod/fragment/NavDrawerFragment.java71
-rw-r--r--app/src/main/java/de/danoeh/antennapod/fragment/QueueFragment.java162
-rw-r--r--app/src/main/java/de/danoeh/antennapod/fragment/SubscriptionFragment.java88
-rw-r--r--app/src/main/java/de/danoeh/antennapod/menuhandler/FeedItemMenuHandler.java115
-rw-r--r--app/src/main/java/de/danoeh/antennapod/menuhandler/FeedMenuHandler.java68
-rw-r--r--app/src/main/java/de/danoeh/antennapod/view/ShownotesWebView.java49
11 files changed, 353 insertions, 389 deletions
diff --git a/app/src/main/java/de/danoeh/antennapod/activity/OpmlFeedChooserActivity.java b/app/src/main/java/de/danoeh/antennapod/activity/OpmlFeedChooserActivity.java
index 376074525..1c61fc15e 100644
--- a/app/src/main/java/de/danoeh/antennapod/activity/OpmlFeedChooserActivity.java
+++ b/app/src/main/java/de/danoeh/antennapod/activity/OpmlFeedChooserActivity.java
@@ -119,20 +119,19 @@ public class OpmlFeedChooserActivity extends AppCompatActivity {
@Override
public boolean onOptionsItemSelected(MenuItem item) {
- switch (item.getItemId()) {
- case R.id.select_all_item:
- selectAll.setVisible(false);
- selectAllItems(true);
- deselectAll.setVisible(true);
- return true;
- case R.id.deselect_all_item:
- deselectAll.setVisible(false);
- selectAllItems(false);
- selectAll.setVisible(true);
- return true;
- default:
- return false;
+ final int itemId = item.getItemId();
+ if (itemId == R.id.select_all_item) {
+ selectAll.setVisible(false);
+ selectAllItems(true);
+ deselectAll.setVisible(true);
+ return true;
+ } else if (itemId == R.id.deselect_all_item) {
+ deselectAll.setVisible(false);
+ selectAllItems(false);
+ selectAll.setVisible(true);
+ return true;
}
+ return false;
}
private void selectAllItems(boolean b) {
diff --git a/app/src/main/java/de/danoeh/antennapod/activity/PreferenceActivity.java b/app/src/main/java/de/danoeh/antennapod/activity/PreferenceActivity.java
index 4a37ec25f..157ad246f 100644
--- a/app/src/main/java/de/danoeh/antennapod/activity/PreferenceActivity.java
+++ b/app/src/main/java/de/danoeh/antennapod/activity/PreferenceActivity.java
@@ -88,30 +88,28 @@ public class PreferenceActivity extends AppCompatActivity implements SearchPrefe
}
public static int getTitleOfPage(int preferences) {
- switch (preferences) {
- case R.xml.preferences_network:
- return R.string.network_pref;
- case R.xml.preferences_autodownload:
- return R.string.pref_automatic_download_title;
- case R.xml.preferences_playback:
- return R.string.playback_pref;
- case R.xml.preferences_storage:
- return R.string.storage_pref;
- case R.xml.preferences_import_export:
- return R.string.import_export_pref;
- case R.xml.preferences_user_interface:
- return R.string.user_interface_label;
- case R.xml.preferences_gpodder:
- return R.string.gpodnet_main_label;
- case R.xml.preferences_notifications:
- return R.string.notification_pref_fragment;
- case R.xml.feed_settings:
- return R.string.feed_settings_label;
- case R.xml.preferences_swipe:
- return R.string.swipeactions_label;
- default:
- return R.string.settings_label;
+ if (preferences == R.xml.preferences_network) {
+ return R.string.network_pref;
+ } else if (preferences == R.xml.preferences_autodownload) {
+ return R.string.pref_automatic_download_title;
+ } else if (preferences == R.xml.preferences_playback) {
+ return R.string.playback_pref;
+ } else if (preferences == R.xml.preferences_storage) {
+ return R.string.storage_pref;
+ } else if (preferences == R.xml.preferences_import_export) {
+ return R.string.import_export_pref;
+ } else if (preferences == R.xml.preferences_user_interface) {
+ return R.string.user_interface_label;
+ } else if (preferences == R.xml.preferences_gpodder) {
+ return R.string.gpodnet_main_label;
+ } else if (preferences == R.xml.preferences_notifications) {
+ return R.string.notification_pref_fragment;
+ } else if (preferences == R.xml.feed_settings) {
+ return R.string.feed_settings_label;
+ } else if (preferences == R.xml.preferences_swipe) {
+ return R.string.swipeactions_label;
}
+ return R.string.settings_label;
}
public PreferenceFragmentCompat openScreen(int screen) {
diff --git a/app/src/main/java/de/danoeh/antennapod/fragment/AudioPlayerFragment.java b/app/src/main/java/de/danoeh/antennapod/fragment/AudioPlayerFragment.java
index ca6d28d67..86ab163e7 100644
--- a/app/src/main/java/de/danoeh/antennapod/fragment/AudioPlayerFragment.java
+++ b/app/src/main/java/de/danoeh/antennapod/fragment/AudioPlayerFragment.java
@@ -507,21 +507,21 @@ public class AudioPlayerFragment extends Fragment implements
if (feedItem != null && FeedItemMenuHandler.onMenuItemClicked(this, item.getItemId(), feedItem)) {
return true;
}
- switch (item.getItemId()) {
- case R.id.disable_sleeptimer_item: // Fall-through
- case R.id.set_sleeptimer_item:
- new SleepTimerDialog().show(getChildFragmentManager(), "SleepTimerDialog");
- return true;
- case R.id.audio_controls:
- PlaybackControlsDialog dialog = PlaybackControlsDialog.newInstance();
- dialog.show(getChildFragmentManager(), "playback_controls");
- return true;
- case R.id.open_feed_item:
- if (feedItem != null) {
- Intent intent = MainActivity.getIntentToOpenFeed(getContext(), feedItem.getFeedId());
- startActivity(intent);
- }
- return true;
+
+ final int itemId = item.getItemId();
+ if (itemId == R.id.disable_sleeptimer_item || itemId == R.id.set_sleeptimer_item) {
+ new SleepTimerDialog().show(getChildFragmentManager(), "SleepTimerDialog");
+ return true;
+ } else if (itemId == R.id.audio_controls) {
+ PlaybackControlsDialog dialog = PlaybackControlsDialog.newInstance();
+ dialog.show(getChildFragmentManager(), "playback_controls");
+ return true;
+ } else if (itemId == R.id.open_feed_item) {
+ if (feedItem != null) {
+ Intent intent = MainActivity.getIntentToOpenFeed(getContext(), feedItem.getFeedId());
+ startActivity(intent);
+ }
+ return true;
}
return false;
}
diff --git a/app/src/main/java/de/danoeh/antennapod/fragment/EpisodesListFragment.java b/app/src/main/java/de/danoeh/antennapod/fragment/EpisodesListFragment.java
index 9e5600d76..59556a340 100644
--- a/app/src/main/java/de/danoeh/antennapod/fragment/EpisodesListFragment.java
+++ b/app/src/main/java/de/danoeh/antennapod/fragment/EpisodesListFragment.java
@@ -122,43 +122,42 @@ public abstract class EpisodesListFragment extends Fragment {
@Override
public boolean onOptionsItemSelected(@NonNull MenuItem item) {
if (!super.onOptionsItemSelected(item)) {
- switch (item.getItemId()) {
- case R.id.refresh_item:
- AutoUpdateManager.runImmediate(requireContext());
- return true;
- case 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;
- case R.id.remove_all_new_flags_item:
- ConfirmationDialog removeAllNewFlagsConfirmationDialog = new ConfirmationDialog(getActivity(),
- R.string.remove_all_new_flags_label,
- R.string.remove_all_new_flags_confirmation_msg) {
-
- @Override
- public void onConfirmButtonPressed(DialogInterface dialog) {
- dialog.dismiss();
- DBWriter.removeAllNewFlags();
- ((MainActivity) getActivity()).showSnackbarAbovePlayer(
- R.string.removed_all_new_flags_msg, Toast.LENGTH_SHORT);
- }
- };
- removeAllNewFlagsConfirmationDialog.createNewDialog().show();
- return true;
- default:
- return false;
+ final int itemId = item.getItemId();
+ 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_new_flags_item) {
+ ConfirmationDialog removeAllNewFlagsConfirmationDialog = new ConfirmationDialog(getActivity(),
+ R.string.remove_all_new_flags_label,
+ R.string.remove_all_new_flags_confirmation_msg) {
+
+ @Override
+ public void onConfirmButtonPressed(DialogInterface dialog) {
+ dialog.dismiss();
+ DBWriter.removeAllNewFlags();
+ ((MainActivity) getActivity()).showSnackbarAbovePlayer(
+ R.string.removed_all_new_flags_msg, Toast.LENGTH_SHORT);
+ }
+ };
+ removeAllNewFlagsConfirmationDialog.createNewDialog().show();
+ return true;
}
+ return false;
} else {
return true;
}
diff --git a/app/src/main/java/de/danoeh/antennapod/fragment/FeedItemlistFragment.java b/app/src/main/java/de/danoeh/antennapod/fragment/FeedItemlistFragment.java
index a3b58fc07..9c5f5079d 100644
--- a/app/src/main/java/de/danoeh/antennapod/fragment/FeedItemlistFragment.java
+++ b/app/src/main/java/de/danoeh/antennapod/fragment/FeedItemlistFragment.java
@@ -332,17 +332,16 @@ public class FeedItemlistFragment extends Fragment implements AdapterView.OnItem
if (feedMenuHandled) {
return true;
}
- switch (item.getItemId()) {
- case R.id.rename_item:
- new RenameFeedDialog(getActivity(), feed).show();
- return true;
- case R.id.remove_item:
- RemoveFeedDialog.show(getContext(), feed, () ->
- ((MainActivity) getActivity()).loadFragment(EpisodesFragment.TAG, null));
- return true;
- default:
- return false;
+ final int itemId = item.getItemId();
+ if (itemId == R.id.rename_item) {
+ new RenameFeedDialog(getActivity(), feed).show();
+ return true;
+ } else if (itemId == R.id.remove_item) {
+ RemoveFeedDialog.show(getContext(), feed, () ->
+ ((MainActivity) getActivity()).loadFragment(EpisodesFragment.TAG, null));
+ return true;
}
+ return false;
}
@Override
diff --git a/app/src/main/java/de/danoeh/antennapod/fragment/NavDrawerFragment.java b/app/src/main/java/de/danoeh/antennapod/fragment/NavDrawerFragment.java
index 98ba59980..7acb94ab3 100644
--- a/app/src/main/java/de/danoeh/antennapod/fragment/NavDrawerFragment.java
+++ b/app/src/main/java/de/danoeh/antennapod/fragment/NavDrawerFragment.java
@@ -143,43 +143,42 @@ public class NavDrawerFragment extends Fragment implements SharedPreferences.OnS
}
private boolean onFeedContextMenuClicked(Feed feed, MenuItem item) {
- switch (item.getItemId()) {
- case R.id.remove_all_new_flags_item:
- ConfirmationDialog removeAllNewFlagsConfirmationDialog = new ConfirmationDialog(getContext(),
- R.string.remove_all_new_flags_label,
- R.string.remove_all_new_flags_confirmation_msg) {
- @Override
- public void onConfirmButtonPressed(DialogInterface dialog) {
- dialog.dismiss();
- DBWriter.removeFeedNewFlag(feed.getId());
- }
- };
- removeAllNewFlagsConfirmationDialog.createNewDialog().show();
- return true;
- case R.id.mark_all_read_item:
- ConfirmationDialog markAllReadConfirmationDialog = new ConfirmationDialog(getContext(),
- R.string.mark_all_read_label,
- R.string.mark_all_read_confirmation_msg) {
-
- @Override
- public void onConfirmButtonPressed(DialogInterface dialog) {
- dialog.dismiss();
- DBWriter.markFeedRead(feed.getId());
- }
- };
- markAllReadConfirmationDialog.createNewDialog().show();
- return true;
- case R.id.rename_item:
- new RenameFeedDialog(getActivity(), feed).show();
- return true;
- case R.id.remove_item:
- RemoveFeedDialog.show(getContext(), feed, () -> {
- ((MainActivity) getActivity()).loadFragment(EpisodesFragment.TAG, null);
- });
- return true;
- default:
- return super.onContextItemSelected(item);
+ final int itemId = item.getItemId();
+ if (itemId == R.id.remove_all_new_flags_item) {
+ ConfirmationDialog removeAllNewFlagsConfirmationDialog = new ConfirmationDialog(getContext(),
+ R.string.remove_all_new_flags_label,
+ R.string.remove_all_new_flags_confirmation_msg) {
+ @Override
+ public void onConfirmButtonPressed(DialogInterface dialog) {
+ dialog.dismiss();
+ DBWriter.removeFeedNewFlag(feed.getId());
+ }
+ };
+ removeAllNewFlagsConfirmationDialog.createNewDialog().show();
+ return true;
+ } else if (itemId == R.id.mark_all_read_item) {
+ ConfirmationDialog markAllReadConfirmationDialog = new ConfirmationDialog(getContext(),
+ R.string.mark_all_read_label,
+ R.string.mark_all_read_confirmation_msg) {
+
+ @Override
+ public void onConfirmButtonPressed(DialogInterface dialog) {
+ dialog.dismiss();
+ DBWriter.markFeedRead(feed.getId());
+ }
+ };
+ markAllReadConfirmationDialog.createNewDialog().show();
+ return true;
+ } else if (itemId == R.id.rename_item) {
+ new RenameFeedDialog(getActivity(), feed).show();
+ return true;
+ } else if (itemId == R.id.remove_item) {
+ RemoveFeedDialog.show(getContext(), feed, () -> {
+ ((MainActivity) getActivity()).loadFragment(EpisodesFragment.TAG, null);
+ });
+ return true;
}
+ return super.onContextItemSelected(item);
}
@Subscribe(threadMode = ThreadMode.MAIN)
diff --git a/app/src/main/java/de/danoeh/antennapod/fragment/QueueFragment.java b/app/src/main/java/de/danoeh/antennapod/fragment/QueueFragment.java
index a89ad204b..6f8b9adbb 100644
--- a/app/src/main/java/de/danoeh/antennapod/fragment/QueueFragment.java
+++ b/app/src/main/java/de/danoeh/antennapod/fragment/QueueFragment.java
@@ -258,77 +258,76 @@ public class QueueFragment extends Fragment implements Toolbar.OnMenuItemClickLi
@Override
public boolean onMenuItemClick(MenuItem item) {
- switch (item.getItemId()) {
- case R.id.queue_lock:
- toggleQueueLock();
- return true;
- case R.id.refresh_item:
- AutoUpdateManager.runImmediate(requireContext());
- return true;
- case R.id.clear_queue:
- // make sure the user really wants to clear the queue
- ConfirmationDialog conDialog = new ConfirmationDialog(getActivity(),
- R.string.clear_queue_label,
- R.string.clear_queue_confirmation_msg) {
-
- @Override
- public void onConfirmButtonPressed(
- DialogInterface dialog) {
- dialog.dismiss();
- DBWriter.clearQueue();
- }
- };
- conDialog.createNewDialog().show();
- return true;
- case R.id.queue_sort_episode_title_asc:
- setSortOrder(SortOrder.EPISODE_TITLE_A_Z);
- return true;
- case R.id.queue_sort_episode_title_desc:
- setSortOrder(SortOrder.EPISODE_TITLE_Z_A);
- return true;
- case R.id.queue_sort_date_asc:
- setSortOrder(SortOrder.DATE_OLD_NEW);
- return true;
- case R.id.queue_sort_date_desc:
- setSortOrder(SortOrder.DATE_NEW_OLD);
- return true;
- case R.id.queue_sort_duration_asc:
- setSortOrder(SortOrder.DURATION_SHORT_LONG);
- return true;
- case R.id.queue_sort_duration_desc:
- setSortOrder(SortOrder.DURATION_LONG_SHORT);
- return true;
- case R.id.queue_sort_feed_title_asc:
- setSortOrder(SortOrder.FEED_TITLE_A_Z);
- return true;
- case R.id.queue_sort_feed_title_desc:
- setSortOrder(SortOrder.FEED_TITLE_Z_A);
- return true;
- case R.id.queue_sort_random:
- setSortOrder(SortOrder.RANDOM);
- return true;
- case R.id.queue_sort_smart_shuffle_asc:
- setSortOrder(SortOrder.SMART_SHUFFLE_OLD_NEW);
- return true;
- case R.id.queue_sort_smart_shuffle_desc:
- setSortOrder(SortOrder.SMART_SHUFFLE_NEW_OLD);
- return true;
- case R.id.queue_keep_sorted:
- boolean keepSortedOld = UserPreferences.isQueueKeepSorted();
- boolean keepSortedNew = !keepSortedOld;
- UserPreferences.setQueueKeepSorted(keepSortedNew);
- if (keepSortedNew) {
- SortOrder sortOrder = UserPreferences.getQueueKeepSortedOrder();
- DBWriter.reorderQueue(sortOrder, true);
- }
- if (recyclerAdapter != null) {
- recyclerAdapter.updateDragDropEnabled();
+ final int itemId = item.getItemId();
+ if (itemId == R.id.queue_lock) {
+ toggleQueueLock();
+ return true;
+ } else if (itemId == R.id.refresh_item) {
+ AutoUpdateManager.runImmediate(requireContext());
+ return true;
+ } else if (itemId == R.id.clear_queue) {
+ // make sure the user really wants to clear the queue
+ ConfirmationDialog conDialog = new ConfirmationDialog(getActivity(),
+ R.string.clear_queue_label,
+ R.string.clear_queue_confirmation_msg) {
+
+ @Override
+ public void onConfirmButtonPressed(
+ DialogInterface dialog) {
+ dialog.dismiss();
+ DBWriter.clearQueue();
}
- refreshToolbarState();
- return true;
- default:
- return false;
+ };
+ conDialog.createNewDialog().show();
+ return true;
+ } else if (itemId == R.id.queue_sort_episode_title_asc) {
+ setSortOrder(SortOrder.EPISODE_TITLE_A_Z);
+ return true;
+ } else if (itemId == R.id.queue_sort_episode_title_desc) {
+ setSortOrder(SortOrder.EPISODE_TITLE_Z_A);
+ return true;
+ } else if (itemId == R.id.queue_sort_date_asc) {
+ setSortOrder(SortOrder.DATE_OLD_NEW);
+ return true;
+ } else if (itemId == R.id.queue_sort_date_desc) {
+ setSortOrder(SortOrder.DATE_NEW_OLD);
+ return true;
+ } else if (itemId == R.id.queue_sort_duration_asc) {
+ setSortOrder(SortOrder.DURATION_SHORT_LONG);
+ return true;
+ } else if (itemId == R.id.queue_sort_duration_desc) {
+ setSortOrder(SortOrder.DURATION_LONG_SHORT);
+ return true;
+ } else if (itemId == R.id.queue_sort_feed_title_asc) {
+ setSortOrder(SortOrder.FEED_TITLE_A_Z);
+ return true;
+ } else if (itemId == R.id.queue_sort_feed_title_desc) {
+ setSortOrder(SortOrder.FEED_TITLE_Z_A);
+ return true;
+ } else if (itemId == R.id.queue_sort_random) {
+ setSortOrder(SortOrder.RANDOM);
+ return true;
+ } else if (itemId == R.id.queue_sort_smart_shuffle_asc) {
+ setSortOrder(SortOrder.SMART_SHUFFLE_OLD_NEW);
+ return true;
+ } else if (itemId == R.id.queue_sort_smart_shuffle_desc) {
+ setSortOrder(SortOrder.SMART_SHUFFLE_NEW_OLD);
+ return true;
+ } else if (itemId == R.id.queue_keep_sorted) {
+ boolean keepSortedOld = UserPreferences.isQueueKeepSorted();
+ boolean keepSortedNew = !keepSortedOld;
+ UserPreferences.setQueueKeepSorted(keepSortedNew);
+ if (keepSortedNew) {
+ SortOrder sortOrder = UserPreferences.getQueueKeepSortedOrder();
+ DBWriter.reorderQueue(sortOrder, true);
+ }
+ if (recyclerAdapter != null) {
+ recyclerAdapter.updateDragDropEnabled();
+ }
+ refreshToolbarState();
+ return true;
}
+ return false;
}
private void toggleQueueLock() {
@@ -404,20 +403,19 @@ public class QueueFragment extends Fragment implements Toolbar.OnMenuItemClickLi
return true;
}
- switch(item.getItemId()) {
- case R.id.move_to_top_item:
- queue.add(0, queue.remove(position));
- recyclerAdapter.notifyItemMoved(position, 0);
- DBWriter.moveQueueItemToTop(selectedItem.getId(), true);
- return true;
- case R.id.move_to_bottom_item:
- queue.add(queue.size()-1, queue.remove(position));
- recyclerAdapter.notifyItemMoved(position, queue.size()-1);
- DBWriter.moveQueueItemToBottom(selectedItem.getId(), true);
- return true;
- default:
- return FeedItemMenuHandler.onMenuItemClicked(this, item.getItemId(), selectedItem);
+ final int itemId = item.getItemId();
+ if (itemId == R.id.move_to_top_item) {
+ queue.add(0, queue.remove(position));
+ recyclerAdapter.notifyItemMoved(position, 0);
+ DBWriter.moveQueueItemToTop(selectedItem.getId(), true);
+ return true;
+ } else if (itemId == R.id.move_to_bottom_item) {
+ queue.add(queue.size() - 1, queue.remove(position));
+ recyclerAdapter.notifyItemMoved(position, queue.size() - 1);
+ DBWriter.moveQueueItemToBottom(selectedItem.getId(), true);
+ return true;
}
+ return FeedItemMenuHandler.onMenuItemClicked(this, item.getItemId(), selectedItem);
}
@Override
diff --git a/app/src/main/java/de/danoeh/antennapod/fragment/SubscriptionFragment.java b/app/src/main/java/de/danoeh/antennapod/fragment/SubscriptionFragment.java
index 367eb4aaf..23341ff66 100644
--- a/app/src/main/java/de/danoeh/antennapod/fragment/SubscriptionFragment.java
+++ b/app/src/main/java/de/danoeh/antennapod/fragment/SubscriptionFragment.java
@@ -172,31 +172,30 @@ public class SubscriptionFragment extends Fragment implements Toolbar.OnMenuItem
@Override
public boolean onMenuItemClick(MenuItem item) {
- switch (item.getItemId()) {
- case R.id.refresh_item:
- AutoUpdateManager.runImmediate(requireContext());
- return true;
- case R.id.subscriptions_filter:
- SubscriptionsFilterDialog.showDialog(requireContext());
- return true;
- case R.id.subscriptions_sort:
- FeedSortDialog.showDialog(requireContext());
- return true;
- case R.id.subscription_num_columns_2:
- setColumnNumber(2);
- return true;
- case R.id.subscription_num_columns_3:
- setColumnNumber(3);
- return true;
- case R.id.subscription_num_columns_4:
- setColumnNumber(4);
- return true;
- case R.id.subscription_num_columns_5:
- setColumnNumber(5);
- return true;
- default:
- return false;
+ final int itemId = item.getItemId();
+ if (itemId == R.id.refresh_item) {
+ AutoUpdateManager.runImmediate(requireContext());
+ return true;
+ } else if (itemId == R.id.subscriptions_filter) {
+ SubscriptionsFilterDialog.showDialog(requireContext());
+ return true;
+ } else if (itemId == R.id.subscriptions_sort) {
+ FeedSortDialog.showDialog(requireContext());
+ return true;
+ } else if (itemId == R.id.subscription_num_columns_2) {
+ setColumnNumber(2);
+ return true;
+ } else if (itemId == R.id.subscription_num_columns_3) {
+ setColumnNumber(3);
+ return true;
+ } else if (itemId == R.id.subscription_num_columns_4) {
+ setColumnNumber(4);
+ return true;
+ } else if (itemId == R.id.subscription_num_columns_5) {
+ setColumnNumber(5);
+ return true;
}
+ return false;
}
private void setColumnNumber(int columns) {
@@ -315,28 +314,27 @@ public class SubscriptionFragment extends Fragment implements Toolbar.OnMenuItem
Feed feed = selectedFeed;
selectedFeed = null;
- switch (item.getItemId()) {
- case R.id.remove_all_new_flags_item:
- displayConfirmationDialog(
- R.string.remove_all_new_flags_label,
- R.string.remove_all_new_flags_confirmation_msg,
- () -> DBWriter.removeFeedNewFlag(feed.getId()));
- return true;
- case R.id.mark_all_read_item:
- displayConfirmationDialog(
- R.string.mark_all_read_label,
- R.string.mark_all_read_confirmation_msg,
- () -> DBWriter.markFeedRead(feed.getId()));
- return true;
- case R.id.rename_item:
- new RenameFeedDialog(getActivity(), feed).show();
- return true;
- case R.id.remove_item:
- RemoveFeedDialog.show(getContext(), feed, null);
- return true;
- default:
- return super.onContextItemSelected(item);
+ final int itemId = item.getItemId();
+ if (itemId == R.id.remove_all_new_flags_item) {
+ displayConfirmationDialog(
+ R.string.remove_all_new_flags_label,
+ R.string.remove_all_new_flags_confirmation_msg,
+ () -> DBWriter.removeFeedNewFlag(feed.getId()));
+ return true;
+ } else if (itemId == R.id.mark_all_read_item) {
+ displayConfirmationDialog(
+ R.string.mark_all_read_label,
+ R.string.mark_all_read_confirmation_msg,
+ () -> DBWriter.markFeedRead(feed.getId()));
+ return true;
+ } else if (itemId == R.id.rename_item) {
+ new RenameFeedDialog(getActivity(), feed).show();
+ return true;
+ } else if (itemId == R.id.remove_item) {
+ RemoveFeedDialog.show(getContext(), feed, null);
+ return true;
}
+ return super.onContextItemSelected(item);
}
private <T> void displayConfirmationDialog(@StringRes int title, @StringRes int message, Callable<? extends T> task) {
diff --git a/app/src/main/java/de/danoeh/antennapod/menuhandler/FeedItemMenuHandler.java b/app/src/main/java/de/danoeh/antennapod/menuhandler/FeedItemMenuHandler.java
index e542f94d2..c272af7d5 100644
--- a/app/src/main/java/de/danoeh/antennapod/menuhandler/FeedItemMenuHandler.java
+++ b/app/src/main/java/de/danoeh/antennapod/menuhandler/FeedItemMenuHandler.java
@@ -142,73 +142,60 @@ public class FeedItemMenuHandler {
@NonNull FeedItem selectedItem) {
@NonNull Context context = fragment.requireContext();
- switch (menuItemId) {
- case R.id.skip_episode_item:
- IntentUtils.sendLocalBroadcast(context, PlaybackService.ACTION_SKIP_CURRENT_EPISODE);
- break;
- case R.id.remove_item:
- DBWriter.deleteFeedMediaOfItem(context, selectedItem.getMedia().getId());
- break;
- case R.id.remove_new_flag_item:
- removeNewFlagWithUndo(fragment, selectedItem);
- break;
- case R.id.mark_read_item:
- selectedItem.setPlayed(true);
- DBWriter.markItemPlayed(selectedItem, FeedItem.PLAYED, true);
- if (GpodnetPreferences.loggedIn()) {
- FeedMedia media = selectedItem.getMedia();
- // not all items have media, Gpodder only cares about those that do
- if (media != null) {
- EpisodeAction actionPlay = new EpisodeAction.Builder(selectedItem, EpisodeAction.PLAY)
- .currentTimestamp()
- .started(media.getDuration() / 1000)
- .position(media.getDuration() / 1000)
- .total(media.getDuration() / 1000)
- .build();
- SyncService.enqueueEpisodeAction(context, actionPlay);
- }
- }
- break;
- case R.id.mark_unread_item:
- selectedItem.setPlayed(false);
- DBWriter.markItemPlayed(selectedItem, FeedItem.UNPLAYED, false);
- if (GpodnetPreferences.loggedIn() && selectedItem.getMedia() != null) {
- EpisodeAction actionNew = new EpisodeAction.Builder(selectedItem, EpisodeAction.NEW)
+ if (menuItemId == R.id.skip_episode_item) {
+ IntentUtils.sendLocalBroadcast(context, PlaybackService.ACTION_SKIP_CURRENT_EPISODE);
+ } else if (menuItemId == R.id.remove_item) {
+ DBWriter.deleteFeedMediaOfItem(context, selectedItem.getMedia().getId());
+ } else if (menuItemId == R.id.remove_new_flag_item) {
+ removeNewFlagWithUndo(fragment, selectedItem);
+ } else if (menuItemId == R.id.mark_read_item) {
+ selectedItem.setPlayed(true);
+ DBWriter.markItemPlayed(selectedItem, FeedItem.PLAYED, true);
+ if (GpodnetPreferences.loggedIn()) {
+ FeedMedia media = selectedItem.getMedia();
+ // not all items have media, Gpodder only cares about those that do
+ if (media != null) {
+ EpisodeAction actionPlay = new EpisodeAction.Builder(selectedItem, EpisodeAction.PLAY)
.currentTimestamp()
+ .started(media.getDuration() / 1000)
+ .position(media.getDuration() / 1000)
+ .total(media.getDuration() / 1000)
.build();
- SyncService.enqueueEpisodeAction(context, actionNew);
- }
- break;
- case R.id.add_to_queue_item:
- DBWriter.addQueueItem(context, selectedItem);
- break;
- case R.id.remove_from_queue_item:
- DBWriter.removeQueueItem(context, true, selectedItem);
- break;
- case R.id.add_to_favorites_item:
- DBWriter.addFavoriteItem(selectedItem);
- break;
- case R.id.remove_from_favorites_item:
- DBWriter.removeFavoriteItem(selectedItem);
- break;
- case R.id.reset_position:
- selectedItem.getMedia().setPosition(0);
- if (PlaybackPreferences.getCurrentlyPlayingFeedMediaId() == selectedItem.getMedia().getId()) {
- PlaybackPreferences.writeNoMediaPlaying();
- IntentUtils.sendLocalBroadcast(context, PlaybackService.ACTION_SHUTDOWN_PLAYBACK_SERVICE);
+ SyncService.enqueueEpisodeAction(context, actionPlay);
}
- DBWriter.markItemPlayed(selectedItem, FeedItem.UNPLAYED, true);
- break;
- case R.id.visit_website_item:
- IntentUtils.openInBrowser(context, FeedItemUtil.getLinkWithFallback(selectedItem));
- break;
- case R.id.share_item:
- ShareDialog shareDialog = ShareDialog.newInstance(selectedItem);
- shareDialog.show((fragment.getActivity().getSupportFragmentManager()), "ShareEpisodeDialog");
- break;
- default:
- Log.d(TAG, "Unknown menuItemId: " + menuItemId);
- return false;
+ }
+ } else if (menuItemId == R.id.mark_unread_item) {
+ selectedItem.setPlayed(false);
+ DBWriter.markItemPlayed(selectedItem, FeedItem.UNPLAYED, false);
+ if (GpodnetPreferences.loggedIn() && selectedItem.getMedia() != null) {
+ EpisodeAction actionNew = new EpisodeAction.Builder(selectedItem, EpisodeAction.NEW)
+ .currentTimestamp()
+ .build();
+ SyncService.enqueueEpisodeAction(context, actionNew);
+ }
+ } else if (menuItemId == R.id.add_to_queue_item) {
+ DBWriter.addQueueItem(context, selectedItem);
+ } else if (menuItemId == R.id.remove_from_queue_item) {
+ DBWriter.removeQueueItem(context, true, selectedItem);
+ } else if (menuItemId == R.id.add_to_favorites_item) {
+ DBWriter.addFavoriteItem(selectedItem);
+ } else if (menuItemId == R.id.remove_from_favorites_item) {
+ DBWriter.removeFavoriteItem(selectedItem);
+ } else if (menuItemId == R.id.reset_position) {
+ selectedItem.getMedia().setPosition(0);
+ if (PlaybackPreferences.getCurrentlyPlayingFeedMediaId() == selectedItem.getMedia().getId()) {
+ PlaybackPreferences.writeNoMediaPlaying();
+ IntentUtils.sendLocalBroadcast(context, PlaybackService.ACTION_SHUTDOWN_PLAYBACK_SERVICE);
+ }
+ DBWriter.markItemPlayed(selectedItem, FeedItem.UNPLAYED, true);
+ } else if (menuItemId == R.id.visit_website_item) {
+ IntentUtils.openInBrowser(context, FeedItemUtil.getLinkWithFallback(selectedItem));
+ } else if (menuItemId == R.id.share_item) {
+ ShareDialog shareDialog = ShareDialog.newInstance(selectedItem);
+ shareDialog.show((fragment.getActivity().getSupportFragmentManager()), "ShareEpisodeDialog");
+ } else {
+ Log.d(TAG, "Unknown menuItemId: " + menuItemId);
+ return false;
}
// Refresh menu state
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 ed0cac05d..fded5fb34 100644
--- a/app/src/main/java/de/danoeh/antennapod/menuhandler/FeedMenuHandler.java
+++ b/app/src/main/java/de/danoeh/antennapod/menuhandler/FeedMenuHandler.java
@@ -60,44 +60,36 @@ public class FeedMenuHandler {
*/
public static boolean onOptionsItemClicked(final Context context, final MenuItem item,
final Feed selectedFeed) throws DownloadRequestException {
- switch (item.getItemId()) {
- case R.id.refresh_item:
- DBTasks.forceRefreshFeed(context, selectedFeed, true);
- break;
- case R.id.refresh_complete_item:
- DBTasks.forceRefreshCompleteFeed(context, selectedFeed);
- break;
- case R.id.sort_items:
- showSortDialog(context, selectedFeed);
- break;
- case R.id.filter_items:
- showFilterDialog(context, selectedFeed);
- break;
- case 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();
- break;
- case R.id.visit_website_item:
- IntentUtils.openInBrowser(context, selectedFeed.getLink());
- break;
- case R.id.share_link_item:
- ShareUtils.shareFeedlink(context, selectedFeed);
- break;
- case R.id.share_download_url_item:
- ShareUtils.shareFeedDownloadLink(context, selectedFeed);
- break;
- default:
- return false;
+ final int itemId = item.getItemId();
+ if (itemId == R.id.refresh_item) {
+ DBTasks.forceRefreshFeed(context, selectedFeed, true);
+ } else if (itemId == R.id.refresh_complete_item) {
+ DBTasks.forceRefreshCompleteFeed(context, selectedFeed);
+ } else if (itemId == R.id.sort_items) {
+ showSortDialog(context, selectedFeed);
+ } else if (itemId == R.id.filter_items) {
+ showFilterDialog(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_link_item) {
+ ShareUtils.shareFeedlink(context, selectedFeed);
+ } else if (itemId == R.id.share_download_url_item) {
+ ShareUtils.shareFeedDownloadLink(context, selectedFeed);
+ } else {
+ return false;
}
return true;
}
diff --git a/app/src/main/java/de/danoeh/antennapod/view/ShownotesWebView.java b/app/src/main/java/de/danoeh/antennapod/view/ShownotesWebView.java
index 30852c970..ae6e88c45 100644
--- a/app/src/main/java/de/danoeh/antennapod/view/ShownotesWebView.java
+++ b/app/src/main/java/de/danoeh/antennapod/view/ShownotesWebView.java
@@ -123,33 +123,28 @@ public class ShownotesWebView extends WebView implements View.OnLongClickListene
return false;
}
- switch (item.getItemId()) {
- case R.id.open_in_browser_item:
- IntentUtils.openInBrowser(getContext(), selectedUrl);
- break;
- case R.id.share_url_item:
- ShareUtils.shareLink(getContext(), selectedUrl);
- break;
- case R.id.copy_url_item:
- ClipData clipData = ClipData.newPlainText(selectedUrl, selectedUrl);
- android.content.ClipboardManager cm = (android.content.ClipboardManager) getContext()
- .getSystemService(Context.CLIPBOARD_SERVICE);
- cm.setPrimaryClip(clipData);
- Snackbar s = Snackbar.make(this, R.string.copied_url_msg, Snackbar.LENGTH_LONG);
- ViewCompat.setElevation(s.getView(), 100);
- s.show();
- break;
- case R.id.go_to_position_item:
- if (Timeline.isTimecodeLink(selectedUrl) && timecodeSelectedListener != null) {
- timecodeSelectedListener.accept(Timeline.getTimecodeLinkTime(selectedUrl));
- } else {
- Log.e(TAG, "Selected go_to_position_item, but URL was no timecode link: " + selectedUrl);
- }
- break;
- default:
- selectedUrl = null;
- return false;
-
+ final int itemId = item.getItemId();
+ if (itemId == R.id.open_in_browser_item) {
+ IntentUtils.openInBrowser(getContext(), selectedUrl);
+ } else if (itemId == R.id.share_url_item) {
+ ShareUtils.shareLink(getContext(), selectedUrl);
+ } else if (itemId == R.id.copy_url_item) {
+ ClipData clipData = ClipData.newPlainText(selectedUrl, selectedUrl);
+ ClipboardManager cm = (ClipboardManager) getContext()
+ .getSystemService(Context.CLIPBOARD_SERVICE);
+ cm.setPrimaryClip(clipData);
+ Snackbar s = Snackbar.make(this, R.string.copied_url_msg, Snackbar.LENGTH_LONG);
+ ViewCompat.setElevation(s.getView(), 100);
+ s.show();
+ } else if (itemId == R.id.go_to_position_item) {
+ if (Timeline.isTimecodeLink(selectedUrl) && timecodeSelectedListener != null) {
+ timecodeSelectedListener.accept(Timeline.getTimecodeLinkTime(selectedUrl));
+ } else {
+ Log.e(TAG, "Selected go_to_position_item, but URL was no timecode link: " + selectedUrl);
+ }
+ } else {
+ selectedUrl = null;
+ return false;
}
selectedUrl = null;
return true;