From 58813db55300ad742e5fe91be180d7ca80d55af0 Mon Sep 17 00:00:00 2001 From: Martin Fietz Date: Mon, 23 Nov 2015 23:31:38 +0100 Subject: [PATCH] Save position before refreshing, handle top/bottom moving and notify adapter --- .../de/danoeh/antennapod/fragment/QueueFragment.java | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) 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 802802ec9..433e72778 100644 --- a/app/src/main/java/de/danoeh/antennapod/fragment/QueueFragment.java +++ b/app/src/main/java/de/danoeh/antennapod/fragment/QueueFragment.java @@ -162,8 +162,9 @@ public class QueueFragment extends Fragment { recyclerAdapter.notifyDataSetChanged(); break; case MOVED: - break; + return; } + saveScrollPosition(); onFragmentLoaded(); } @@ -325,9 +326,15 @@ public class QueueFragment extends Fragment { 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); return true; default: