diff options
author | Tony Tam <engineer.tonytam@pm.me> | 2020-01-19 21:03:12 -0800 |
---|---|---|
committer | Tony Tam <engineer.tonytam@pm.me> | 2020-01-20 00:34:59 -0800 |
commit | c7ec68193bd21bc69816a9eea54917fe9084c788 (patch) | |
tree | 64fc7d99c1d920809c379113d2c4254b21fefa7b /app/src/main/java/de/danoeh | |
parent | e0236361a4b6b7b55ff958a16948398268f2a1ad (diff) | |
download | AntennaPod-c7ec68193bd21bc69816a9eea54917fe9084c788.zip |
fix #3768 double check the item is still in the queue
Diffstat (limited to 'app/src/main/java/de/danoeh')
-rw-r--r-- | app/src/main/java/de/danoeh/antennapod/fragment/QueueFragment.java | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/app/src/main/java/de/danoeh/antennapod/fragment/QueueFragment.java b/app/src/main/java/de/danoeh/antennapod/fragment/QueueFragment.java index 46e8789d4..b0aa802a1 100644 --- a/app/src/main/java/de/danoeh/antennapod/fragment/QueueFragment.java +++ b/app/src/main/java/de/danoeh/antennapod/fragment/QueueFragment.java @@ -472,15 +472,19 @@ public class QueueFragment extends Fragment { return super.onContextItemSelected(item); } + int position = FeedItemUtil.indexOfItemWithId(queue, selectedItem.getId()); + if (position < 0) { + Log.i(TAG, "Selected item no longer exist, ignoring selection"); + return super.onContextItemSelected(item); + } + switch(item.getItemId()) { case R.id.move_to_top_item: - int position = FeedItemUtil.indexOfItemWithId(queue, selectedItem.getId()); queue.add(0, queue.remove(position)); recyclerAdapter.notifyItemMoved(position, 0); DBWriter.moveQueueItemToTop(selectedItem.getId(), true); return true; case R.id.move_to_bottom_item: - position = FeedItemUtil.indexOfItemWithId(queue, selectedItem.getId()); queue.add(queue.size()-1, queue.remove(position)); recyclerAdapter.notifyItemMoved(position, queue.size()-1); DBWriter.moveQueueItemToBottom(selectedItem.getId(), true); |