diff options
author | Tom Hennen <tom.hennen@gmail.com> | 2015-09-20 14:54:54 -0400 |
---|---|---|
committer | Tom Hennen <tom.hennen@gmail.com> | 2015-09-20 14:54:54 -0400 |
commit | ed679b8a17b4c140a8cc0fc1c312c7996f12d5d7 (patch) | |
tree | 0daac809e2635c321728af80d116775a715bf8ad /app/src/main/java/de/danoeh/antennapod/fragment/AllEpisodesFragment.java | |
parent | 1993f779e8b25507a4096effd72618937c2f4ad0 (diff) | |
download | AntennaPod-ed679b8a17b4c140a8cc0fc1c312c7996f12d5d7.zip |
refactored after merging in changes from #1212
Diffstat (limited to 'app/src/main/java/de/danoeh/antennapod/fragment/AllEpisodesFragment.java')
-rw-r--r-- | app/src/main/java/de/danoeh/antennapod/fragment/AllEpisodesFragment.java | 29 |
1 files changed, 20 insertions, 9 deletions
diff --git a/app/src/main/java/de/danoeh/antennapod/fragment/AllEpisodesFragment.java b/app/src/main/java/de/danoeh/antennapod/fragment/AllEpisodesFragment.java index b2932ddb7..82ee43d38 100644 --- a/app/src/main/java/de/danoeh/antennapod/fragment/AllEpisodesFragment.java +++ b/app/src/main/java/de/danoeh/antennapod/fragment/AllEpisodesFragment.java @@ -339,7 +339,6 @@ public class AllEpisodesFragment extends Fragment { super.onCreateContextMenu(menu, v, menuInfo); AdapterView.AdapterContextMenuInfo adapterInfo = (AdapterView.AdapterContextMenuInfo) menuInfo; FeedItem item = itemAccess.getItem(adapterInfo.position); - MenuInflater inflater = getActivity().getMenuInflater(); inflater.inflate(R.menu.allepisodes_context, menu); @@ -354,11 +353,27 @@ public class AllEpisodesFragment extends Fragment { @Override public boolean onContextItemSelected(MenuItem item) { + if (!getUserVisibleHint()) { + // we're not visible, don't do anything. + return false; + } AdapterView.AdapterContextMenuInfo menuInfo = (AdapterView.AdapterContextMenuInfo) item.getMenuInfo(); - if(menuInfo == null) { + if (menuInfo == null) { menuInfo = lastMenuInfo; } - FeedItem selectedItem = itemAccess.getItem(menuInfo.position); + if (menuInfo == null) { + Log.e(TAG, "menuInfo is null, not doing anything"); + return false; + } + + FeedItem selectedItem = null; + + // make sure the item still makes sense + if (menuInfo.position >= 0 && menuInfo.position < itemAccess.getCount()) { + selectedItem = itemAccess.getItem(menuInfo.position); + } else { + Log.d(TAG, "Selected item at position " + menuInfo.position + " does not exist, only " + itemAccess.getCount() + " items available"); + } if (selectedItem == null) { Log.i(TAG, "Selected item at position " + menuInfo.position + " was null, ignoring selection"); @@ -484,13 +499,9 @@ public class AllEpisodesFragment extends Fragment { }); } - private Pair<List<FeedItem>,LongList> loadData() { + protected Pair<List<FeedItem>,LongList> loadData() { List<FeedItem> items; - if(showOnlyNewEpisodes) { - items = DBReader.getNewItemsList(); - } else { - items = DBReader.getRecentlyPublishedEpisodes(RECENT_EPISODES_LIMIT); - } + items = DBReader.getRecentlyPublishedEpisodes(RECENT_EPISODES_LIMIT); LongList queuedIds = DBReader.getQueueIDList(); return Pair.create(items, queuedIds); } |