Merge pull request #6110 from ByteHamster/fix-drag

Initialize swipe actions before using them
This commit is contained in:
ByteHamster 2022-10-02 11:54:44 +02:00 committed by GitHub
commit 18e5e89d12
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 5 additions and 5 deletions

View File

@ -456,6 +456,10 @@ public class QueueFragment extends Fragment implements MaterialToolbar.OnMenuIte
registerForContextMenu(recyclerView); registerForContextMenu(recyclerView);
recyclerView.addOnScrollListener(new LiftOnScrollListener(root.findViewById(R.id.appbar))); recyclerView.addOnScrollListener(new LiftOnScrollListener(root.findViewById(R.id.appbar)));
swipeActions = new QueueSwipeActions();
swipeActions.setFilter(new FeedItemFilter(FeedItemFilter.QUEUED));
swipeActions.attachTo(recyclerView);
recyclerAdapter = new QueueRecyclerAdapter((MainActivity) getActivity(), swipeActions) { recyclerAdapter = new QueueRecyclerAdapter((MainActivity) getActivity(), swipeActions) {
@Override @Override
public void onCreateContextMenu(ContextMenu menu, View v, ContextMenu.ContextMenuInfo menuInfo) { public void onCreateContextMenu(ContextMenu menu, View v, ContextMenu.ContextMenuInfo menuInfo) {
@ -475,10 +479,6 @@ public class QueueFragment extends Fragment implements MaterialToolbar.OnMenuIte
getResources().getInteger(R.integer.swipe_to_refresh_duration_in_ms)); getResources().getInteger(R.integer.swipe_to_refresh_duration_in_ms));
}); });
swipeActions = new QueueSwipeActions();
swipeActions.setFilter(new FeedItemFilter(FeedItemFilter.QUEUED));
swipeActions.attachTo(recyclerView);
emptyView = new EmptyViewHandler(getContext()); emptyView = new EmptyViewHandler(getContext());
emptyView.attachToRecyclerView(recyclerView); emptyView.attachToRecyclerView(recyclerView);
emptyView.setIcon(R.drawable.ic_playlist_play); emptyView.setIcon(R.drawable.ic_playlist_play);
@ -608,7 +608,7 @@ public class QueueFragment extends Fragment implements MaterialToolbar.OnMenuIte
int from = viewHolder.getBindingAdapterPosition(); int from = viewHolder.getBindingAdapterPosition();
int to = target.getBindingAdapterPosition(); int to = target.getBindingAdapterPosition();
Log.d(TAG, "move(" + from + ", " + to + ") in memory"); Log.d(TAG, "move(" + from + ", " + to + ") in memory");
if (from >= queue.size() || to >= queue.size() || from < 0 || to < 0) { if (queue == null || from >= queue.size() || to >= queue.size() || from < 0 || to < 0) {
return false; return false;
} }
queue.add(to, queue.remove(from)); queue.add(to, queue.remove(from));