diff options
author | vbh <code@bindu.io> | 2021-12-19 16:28:45 +0000 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-12-19 17:28:45 +0100 |
commit | a399702da2e222c586f8f5697076d373b667929a (patch) | |
tree | eda5748c989952aa5f72ba73f980bb87566292ea /app/src/main/java/de/danoeh/antennapod/fragment | |
parent | 12be830f217fe9e179bf053665337af39f48aa9e (diff) | |
download | AntennaPod-a399702da2e222c586f8f5697076d373b667929a.zip |
Rename tags (#5601)
Diffstat (limited to 'app/src/main/java/de/danoeh/antennapod/fragment')
3 files changed, 36 insertions, 17 deletions
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 d74981b7f..5df8e2ccf 100644 --- a/app/src/main/java/de/danoeh/antennapod/fragment/FeedItemlistFragment.java +++ b/app/src/main/java/de/danoeh/antennapod/fragment/FeedItemlistFragment.java @@ -72,7 +72,7 @@ import de.danoeh.antennapod.core.util.FeedItemUtil; import de.danoeh.antennapod.core.util.gui.MoreContentListFooterUtil; import de.danoeh.antennapod.dialog.FilterDialog; import de.danoeh.antennapod.dialog.RemoveFeedDialog; -import de.danoeh.antennapod.dialog.RenameFeedDialog; +import de.danoeh.antennapod.dialog.RenameItemDialog; import de.danoeh.antennapod.fragment.swipeactions.SwipeActions; import de.danoeh.antennapod.fragment.actions.EpisodeMultiSelectActionHandler; import de.danoeh.antennapod.menuhandler.FeedItemMenuHandler; @@ -331,7 +331,7 @@ public class FeedItemlistFragment extends Fragment implements AdapterView.OnItem } final int itemId = item.getItemId(); if (itemId == R.id.rename_item) { - new RenameFeedDialog(getActivity(), feed).show(); + new RenameItemDialog(getActivity(), feed).show(); return true; } else if (itemId == R.id.remove_item) { ((MainActivity) getActivity()).loadFragment(EpisodesFragment.TAG, null); 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 18defc545..a5cabeb29 100644 --- a/app/src/main/java/de/danoeh/antennapod/fragment/NavDrawerFragment.java +++ b/app/src/main/java/de/danoeh/antennapod/fragment/NavDrawerFragment.java @@ -39,7 +39,7 @@ import de.danoeh.antennapod.core.storage.DBWriter; import de.danoeh.antennapod.core.storage.NavDrawerData; import de.danoeh.antennapod.dialog.RemoveFeedDialog; import de.danoeh.antennapod.dialog.SubscriptionsFilterDialog; -import de.danoeh.antennapod.dialog.RenameFeedDialog; +import de.danoeh.antennapod.dialog.RenameItemDialog; import io.reactivex.Observable; import io.reactivex.android.schedulers.AndroidSchedulers; import io.reactivex.disposables.Disposable; @@ -124,24 +124,28 @@ public class NavDrawerFragment extends Fragment implements SharedPreferences.OnS @Override public void onCreateContextMenu(@NonNull ContextMenu menu, @NonNull View v, ContextMenu.ContextMenuInfo menuInfo) { super.onCreateContextMenu(menu, v, menuInfo); - if (contextPressedItem.type != NavDrawerData.DrawerItem.Type.FEED) { - return; // Should actually never happen because the context menu is not set up for other items - } - MenuInflater inflater = getActivity().getMenuInflater(); - inflater.inflate(R.menu.nav_feed_context, menu); - menu.setHeaderTitle(((NavDrawerData.FeedDrawerItem) contextPressedItem).feed.getTitle()); - // episodes are not loaded, so we cannot check if the podcast has new or unplayed ones! + menu.setHeaderTitle(contextPressedItem.getTitle()); + if (contextPressedItem.type == NavDrawerData.DrawerItem.Type.FEED) { + inflater.inflate(R.menu.nav_feed_context, menu); + // episodes are not loaded, so we cannot check if the podcast has new or unplayed ones! + } else { + inflater.inflate(R.menu.nav_folder_context, menu); + } } @Override public boolean onContextItemSelected(@NonNull MenuItem item) { NavDrawerData.DrawerItem pressedItem = contextPressedItem; contextPressedItem = null; - if (pressedItem != null && pressedItem.type == NavDrawerData.DrawerItem.Type.FEED) { + if (pressedItem == null) { + return false; + } + if (pressedItem.type == NavDrawerData.DrawerItem.Type.FEED) { return onFeedContextMenuClicked(((NavDrawerData.FeedDrawerItem) pressedItem).feed, item); + } else { + return onTagContextMenuClicked(pressedItem, item); } - return false; } private boolean onFeedContextMenuClicked(Feed feed, MenuItem item) { @@ -163,7 +167,7 @@ public class NavDrawerFragment extends Fragment implements SharedPreferences.OnS .show(getChildFragmentManager(), TagSettingsDialog.TAG); return true; } else if (itemId == R.id.rename_item) { - new RenameFeedDialog(getActivity(), feed).show(); + new RenameItemDialog(getActivity(), feed).show(); return true; } else if (itemId == R.id.remove_item) { ((MainActivity) getActivity()).loadFragment(EpisodesFragment.TAG, null); @@ -173,6 +177,15 @@ public class NavDrawerFragment extends Fragment implements SharedPreferences.OnS return super.onContextItemSelected(item); } + private boolean onTagContextMenuClicked(NavDrawerData.DrawerItem drawerItem, MenuItem item) { + final int itemId = item.getItemId(); + if (itemId == R.id.rename_folder_item) { + new RenameItemDialog(getActivity(), drawerItem).show(); + return true; + } + return super.onContextItemSelected(item); + } + @Subscribe(threadMode = ThreadMode.MAIN) public void onUnreadItemsChanged(UnreadItemsUpdateEvent event) { loadData(); 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 c4ac25455..200f4dcd6 100644 --- a/app/src/main/java/de/danoeh/antennapod/fragment/SubscriptionFragment.java +++ b/app/src/main/java/de/danoeh/antennapod/fragment/SubscriptionFragment.java @@ -55,7 +55,7 @@ import de.danoeh.antennapod.core.storage.NavDrawerData; import de.danoeh.antennapod.core.util.download.AutoUpdateManager; import de.danoeh.antennapod.dialog.FeedSortDialog; import de.danoeh.antennapod.dialog.RemoveFeedDialog; -import de.danoeh.antennapod.dialog.RenameFeedDialog; +import de.danoeh.antennapod.dialog.RenameItemDialog; import de.danoeh.antennapod.dialog.SubscriptionsFilterDialog; import de.danoeh.antennapod.fragment.actions.FeedMultiSelectActionHandler; import de.danoeh.antennapod.model.feed.Feed; @@ -334,11 +334,17 @@ public class SubscriptionFragment extends Fragment @Override public boolean onContextItemSelected(MenuItem item) { - Feed feed = subscriptionAdapter.getSelectedFeed(); - if (feed == null) { + NavDrawerData.DrawerItem drawerItem = subscriptionAdapter.getSelectedItem(); + if (drawerItem == null) { return false; } int itemId = item.getItemId(); + if (drawerItem.type == NavDrawerData.DrawerItem.Type.TAG && itemId == R.id.rename_folder_item) { + new RenameItemDialog(getActivity(), drawerItem).show(); + return true; + } + + Feed feed = ((NavDrawerData.FeedDrawerItem) drawerItem).feed; if (itemId == R.id.remove_all_new_flags_item) { displayConfirmationDialog( R.string.remove_all_new_flags_label, @@ -350,7 +356,7 @@ public class SubscriptionFragment extends Fragment .show(getChildFragmentManager(), TagSettingsDialog.TAG); return true; } else if (itemId == R.id.rename_item) { - new RenameFeedDialog(getActivity(), feed).show(); + new RenameItemDialog(getActivity(), feed).show(); return true; } else if (itemId == R.id.remove_item) { RemoveFeedDialog.show(getContext(), feed); |