summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrew Dolgov <fox@fakecake.org>2025-05-12 18:08:11 +0300
committerAndrew Dolgov <fox@fakecake.org>2025-05-12 18:08:11 +0300
commit5005aed8e17d990d3f9957ab67761c3cf2927f53 (patch)
treeed53003909127ed322ef4c0e385a9b644e00901f
parent8c340b8dfd587211c990f57e95022cde8e7c01ee (diff)
consistently handle null in getFeedAtPosition
-rwxr-xr-xorg.fox.ttrss/src/main/java/org/fox/ttrss/FeedsFragment.java31
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) {