diff options
| author | Andrew Dolgov <fox@fakecake.org> | 2025-05-12 18:08:11 +0300 |
|---|---|---|
| committer | Andrew Dolgov <fox@fakecake.org> | 2025-05-12 18:08:11 +0300 |
| commit | 5005aed8e17d990d3f9957ab67761c3cf2927f53 (patch) | |
| tree | ed53003909127ed322ef4c0e385a9b644e00901f | |
| parent | 8c340b8dfd587211c990f57e95022cde8e7c01ee (diff) | |
consistently handle null in getFeedAtPosition
| -rwxr-xr-x | org.fox.ttrss/src/main/java/org/fox/ttrss/FeedsFragment.java | 31 |
1 files changed, 16 insertions, 15 deletions
diff --git a/org.fox.ttrss/src/main/java/org/fox/ttrss/FeedsFragment.java b/org.fox.ttrss/src/main/java/org/fox/ttrss/FeedsFragment.java index c936385b..495180bb 100755 --- a/org.fox.ttrss/src/main/java/org/fox/ttrss/FeedsFragment.java +++ b/org.fox.ttrss/src/main/java/org/fox/ttrss/FeedsFragment.java @@ -239,18 +239,19 @@ public class FeedsFragment extends BaseFeedlistFragment implements OnItemClickLi return true; } else if (itemId == R.id.unsubscribe_feed) { final Feed feed = getFeedAtPosition(info.position); + if (feed != null) { + MaterialAlertDialogBuilder builder = new MaterialAlertDialogBuilder(getContext()) + .setMessage(getString(R.string.unsubscribe_from_prompt, feed.title)) + .setPositiveButton(R.string.unsubscribe, + (dialog, which) -> m_activity.unsubscribeFeed(feed)) + .setNegativeButton(R.string.dialog_cancel, + (dialog, which) -> { - MaterialAlertDialogBuilder builder = new MaterialAlertDialogBuilder(getContext()) - .setMessage(getString(R.string.unsubscribe_from_prompt, feed.title)) - .setPositiveButton(R.string.unsubscribe, - (dialog, which) -> m_activity.unsubscribeFeed(feed)) - .setNegativeButton(R.string.dialog_cancel, - (dialog, which) -> { - - }); + }); - Dialog dlg = builder.create(); - dlg.show(); + Dialog dlg = builder.create(); + dlg.show(); + } return true; } else if (itemId == R.id.catchup_feed) { @@ -551,12 +552,12 @@ public class FeedsFragment extends BaseFeedlistFragment implements OnItemClickLi public Feed getFeedAtPosition(int position) { try { - return (Feed) m_list.getItemAtPosition(position); - } catch (NullPointerException e) { - return null; - } catch (IndexOutOfBoundsException e) { - return null; + return (Feed) m_list.getItemAtPosition(position); + } catch (ArrayIndexOutOfBoundsException e) { + e.printStackTrace(); } + + return null; } public void setSelectedfeed(Feed feed) { |