Fix long-pressing subscription on home screen (#6419)
This commit is contained in:
parent
a828660b44
commit
da9bb8d578
@ -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();
|
||||
|
@ -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);
|
||||
|
Loading…
x
Reference in New Issue
Block a user