summaryrefslogtreecommitdiff
path: root/app
diff options
context:
space:
mode:
authorByteHamster <ByteHamster@users.noreply.github.com>2023-04-07 14:25:51 +0200
committerGitHub <noreply@github.com>2023-04-07 14:25:51 +0200
commitda9bb8d578c44d16aa191e4bf6f1d150f639b634 (patch)
treebdb8a43997417446c12a2fb92233ff5db8e2e2e8 /app
parenta828660b446fcc1a8a518c7a30622b905c7bf358 (diff)
downloadAntennaPod-da9bb8d578c44d16aa191e4bf6f1d150f639b634.zip
Fix long-pressing subscription on home screen (#6419)
Diffstat (limited to 'app')
-rw-r--r--app/src/main/java/de/danoeh/antennapod/ui/home/HomeSection.java9
-rw-r--r--app/src/main/java/de/danoeh/antennapod/ui/home/sections/SubscriptionsSection.java11
2 files changed, 19 insertions, 1 deletions
diff --git a/app/src/main/java/de/danoeh/antennapod/ui/home/HomeSection.java b/app/src/main/java/de/danoeh/antennapod/ui/home/HomeSection.java
index 7b7d999ad..6cde2927b 100644
--- a/app/src/main/java/de/danoeh/antennapod/ui/home/HomeSection.java
+++ b/app/src/main/java/de/danoeh/antennapod/ui/home/HomeSection.java
@@ -14,9 +14,12 @@ import androidx.core.view.ViewCompat;
import androidx.fragment.app.Fragment;
import androidx.recyclerview.widget.DefaultItemAnimator;
import de.danoeh.antennapod.adapter.EpisodeItemListAdapter;
+import de.danoeh.antennapod.adapter.HorizontalFeedListAdapter;
import de.danoeh.antennapod.adapter.HorizontalItemListAdapter;
import de.danoeh.antennapod.databinding.HomeSectionBinding;
import de.danoeh.antennapod.menuhandler.FeedItemMenuHandler;
+import de.danoeh.antennapod.menuhandler.FeedMenuHandler;
+import de.danoeh.antennapod.model.feed.Feed;
import de.danoeh.antennapod.model.feed.FeedItem;
import org.greenrobot.eventbus.EventBus;
@@ -58,6 +61,12 @@ public abstract class HomeSection extends Fragment implements View.OnCreateConte
// Apparently, none of the visibility check method works reliably on its own, so we just use all.
return false;
}
+ if (viewBinding.recyclerView.getAdapter() instanceof HorizontalFeedListAdapter) {
+ HorizontalFeedListAdapter adapter = (HorizontalFeedListAdapter) viewBinding.recyclerView.getAdapter();
+ Feed selectedFeed = adapter.getLongPressedItem();
+ return selectedFeed != null
+ && FeedMenuHandler.onMenuItemClicked(this, item.getItemId(), selectedFeed, () -> { });
+ }
FeedItem longPressedItem;
if (viewBinding.recyclerView.getAdapter() instanceof EpisodeItemListAdapter) {
EpisodeItemListAdapter adapter = (EpisodeItemListAdapter) viewBinding.recyclerView.getAdapter();
diff --git a/app/src/main/java/de/danoeh/antennapod/ui/home/sections/SubscriptionsSection.java b/app/src/main/java/de/danoeh/antennapod/ui/home/sections/SubscriptionsSection.java
index b9a1bf8e8..9dbd34b4a 100644
--- a/app/src/main/java/de/danoeh/antennapod/ui/home/sections/SubscriptionsSection.java
+++ b/app/src/main/java/de/danoeh/antennapod/ui/home/sections/SubscriptionsSection.java
@@ -2,6 +2,7 @@ package de.danoeh.antennapod.ui.home.sections;
import android.os.Bundle;
import android.util.Log;
+import android.view.ContextMenu;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
@@ -12,6 +13,7 @@ import androidx.recyclerview.widget.RecyclerView;
import de.danoeh.antennapod.R;
import de.danoeh.antennapod.activity.MainActivity;
import de.danoeh.antennapod.adapter.HorizontalFeedListAdapter;
+import de.danoeh.antennapod.core.menuhandler.MenuItemUtils;
import de.danoeh.antennapod.core.storage.DBReader;
import de.danoeh.antennapod.event.FeedListUpdateEvent;
import de.danoeh.antennapod.fragment.SubscriptionFragment;
@@ -41,7 +43,14 @@ public class SubscriptionsSection extends HomeSection {
final View view = super.onCreateView(inflater, container, savedInstanceState);
viewBinding.recyclerView.setLayoutManager(
new LinearLayoutManager(getActivity(), RecyclerView.HORIZONTAL, false));
- listAdapter = new HorizontalFeedListAdapter((MainActivity) getActivity());
+ listAdapter = new HorizontalFeedListAdapter((MainActivity) getActivity()) {
+ @Override
+ public void onCreateContextMenu(ContextMenu contextMenu, View view,
+ ContextMenu.ContextMenuInfo contextMenuInfo) {
+ super.onCreateContextMenu(contextMenu, view, contextMenuInfo);
+ MenuItemUtils.setOnClickListeners(contextMenu, SubscriptionsSection.this::onContextItemSelected);
+ }
+ };
listAdapter.setDummyViews(NUM_FEEDS);
viewBinding.recyclerView.setAdapter(listAdapter);
int paddingHorizontal = (int) (12 * getResources().getDisplayMetrics().density);