From ed679b8a17b4c140a8cc0fc1c312c7996f12d5d7 Mon Sep 17 00:00:00 2001 From: Tom Hennen Date: Sun, 20 Sep 2015 14:54:54 -0400 Subject: refactored after merging in changes from #1212 --- .../antennapod/fragment/AllEpisodesFragment.java | 29 +++++++++++++++------- 1 file changed, 20 insertions(+), 9 deletions(-) (limited to 'app/src/main/java/de/danoeh/antennapod/fragment/AllEpisodesFragment.java') 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,LongList> loadData() { + protected Pair,LongList> loadData() { List 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); } -- cgit v1.2.3