Fix crash when clicking buttons when feed is not loaded yet (#7790)

This commit is contained in:
ByteHamster 2025-04-30 22:49:18 +02:00 committed by GitHub
parent 560321cfd6
commit 61e3c854b0
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 14 additions and 6 deletions

View File

@ -55,7 +55,7 @@ public class FeedItemMenuHandler {
* @return Returns true if selectedItem is not null.
*/
public static boolean onPrepareMenu(Menu menu, List<FeedItem> selectedItems, int... excludeIds) {
if (menu == null || selectedItems == null) {
if (menu == null || selectedItems == null || selectedItems.isEmpty() || selectedItems.get(0) == null) {
return false;
}
boolean canSkip = false;

View File

@ -531,6 +531,9 @@ public class FeedItemlistFragment extends Fragment implements AdapterView.OnItem
viewBinding.header.imgvCover.setOnClickListener(v -> showFeedInfo());
viewBinding.header.headerDescriptionLabel.setOnClickListener(v -> showFeedInfo());
viewBinding.header.butSubscribe.setOnClickListener(view -> {
if (feed == null) {
return;
}
DBWriter.setFeedState(getContext(), feed, Feed.STATE_SUBSCRIBED);
MainActivityStarter mainActivityStarter = new MainActivityStarter(getContext());
mainActivityStarter.withOpenFeed(feed.getId());
@ -538,13 +541,18 @@ public class FeedItemlistFragment extends Fragment implements AdapterView.OnItem
startActivity(mainActivityStarter.getIntent());
});
viewBinding.header.butShowSettings.setOnClickListener(v -> {
if (feed != null) {
FeedSettingsFragment fragment = FeedSettingsFragment.newInstance(feed);
((MainActivity) getActivity()).loadChildFragment(fragment, TransitionEffect.SLIDE);
if (feed == null) {
return;
}
FeedSettingsFragment fragment = FeedSettingsFragment.newInstance(feed);
((MainActivity) getActivity()).loadChildFragment(fragment, TransitionEffect.SLIDE);
});
viewBinding.header.butFilter.setOnClickListener(v -> {
if (feed == null) {
return;
}
FeedItemFilterDialog.newInstance(feed).show(getChildFragmentManager(), null);
});
viewBinding.header.butFilter.setOnClickListener(v ->
FeedItemFilterDialog.newInstance(feed).show(getChildFragmentManager(), null));
viewBinding.header.txtvFailure.setOnClickListener(v -> showErrorDetails());
}