diff options
author | TacoTheDank <SkytkRSfan3895@gmail.com> | 2021-07-22 16:49:50 -0400 |
---|---|---|
committer | TacoTheDank <SkytkRSfan3895@gmail.com> | 2021-07-22 16:49:50 -0400 |
commit | 47ac240f56dd7cb3eab81b040bfbcae62d1341e8 (patch) | |
tree | 3b7c02230a7a33364fca4e679a542d607c14f6be /app/src | |
parent | fdaf5394d93ff4f9a31109f1161e48ffe1bc7ec7 (diff) | |
download | AntennaPod-47ac240f56dd7cb3eab81b040bfbcae62d1341e8.zip |
Fix NonConstantResourceId code lint errors
Diffstat (limited to 'app/src')
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 21a1d2039..3d31f011e 100644 --- a/app/src/main/java/de/danoeh/antennapod/fragment/AudioPlayerFragment.java +++ b/app/src/main/java/de/danoeh/antennapod/fragment/AudioPlayerFragment.java @@ -544,21 +544,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; |