summaryrefslogtreecommitdiff
path: root/app/src/main/java/de/danoeh/antennapod/adapter/AllEpisodesRecycleAdapter.java
diff options
context:
space:
mode:
authorByteHamster <info@bytehamster.com>2020-01-04 23:57:48 +0100
committerByteHamster <info@bytehamster.com>2020-01-04 23:57:51 +0100
commit38e2abd2feb7969afa000ce77b50b6b79e187bb5 (patch)
tree9e30e2544d7d8ae3efa24e932d97328c5c6ff72e /app/src/main/java/de/danoeh/antennapod/adapter/AllEpisodesRecycleAdapter.java
parent98d9c4ccebb1360038a74affd585919dea2af216 (diff)
downloadAntennaPod-38e2abd2feb7969afa000ce77b50b6b79e187bb5.zip
Try to fix ArrayIndexOutOfBoundsException
We sometimes get an ArrayIndexOutOfBoundsException when trying to create the ItemPagerFragment. After trying quite a few things already, Google Play still reports the crash. Previous experiments showed that the index is not larger than the array length. Because it is an AIOOB Exception and not a NPE, the array must be created correctly. Maybe it is a negative index. Might be caused by getAdapterPosition() returning NO_POSITION (-1).
Diffstat (limited to 'app/src/main/java/de/danoeh/antennapod/adapter/AllEpisodesRecycleAdapter.java')
-rw-r--r--app/src/main/java/de/danoeh/antennapod/adapter/AllEpisodesRecycleAdapter.java5
1 files changed, 3 insertions, 2 deletions
diff --git a/app/src/main/java/de/danoeh/antennapod/adapter/AllEpisodesRecycleAdapter.java b/app/src/main/java/de/danoeh/antennapod/adapter/AllEpisodesRecycleAdapter.java
index 9cd5cc3ab..eafc4b0a6 100644
--- a/app/src/main/java/de/danoeh/antennapod/adapter/AllEpisodesRecycleAdapter.java
+++ b/app/src/main/java/de/danoeh/antennapod/adapter/AllEpisodesRecycleAdapter.java
@@ -245,8 +245,9 @@ public class AllEpisodesRecycleAdapter extends RecyclerView.Adapter<AllEpisodesR
public void onClick(View v) {
MainActivity mainActivity = mainActivityRef.get();
if (mainActivity != null) {
- long[] ids = itemAccess.getItemsIds().toArray();
- mainActivity.loadChildFragment(ItemPagerFragment.newInstance(ids, getAdapterPosition()));
+ LongList itemIds = itemAccess.getItemsIds();
+ long[] ids = itemIds.toArray();
+ mainActivity.loadChildFragment(ItemPagerFragment.newInstance(ids, itemIds.indexOf(item.getId())));
}
}