From 7df08f3d1ac3d098260a99871b1b03b273111bc0 Mon Sep 17 00:00:00 2001 From: Scott Jackson Date: Wed, 16 Sep 2015 07:48:52 -0700 Subject: Fix for issues with drag/drop --- .../dsub/fragments/DownloadFragment.java | 37 ++------------------ .../dsub/fragments/NowPlayingFragment.java | 40 ++++------------------ .../dsub/fragments/SelectDirectoryFragment.java | 2 +- .../dsub/fragments/SelectRecyclerFragment.java | 2 +- .../dsub/fragments/SubsonicFragment.java | 2 +- 5 files changed, 11 insertions(+), 72 deletions(-) (limited to 'app/src/main/java/github/daneren2005') diff --git a/app/src/main/java/github/daneren2005/dsub/fragments/DownloadFragment.java b/app/src/main/java/github/daneren2005/dsub/fragments/DownloadFragment.java index b4e4be93..edbeff43 100644 --- a/app/src/main/java/github/daneren2005/dsub/fragments/DownloadFragment.java +++ b/app/src/main/java/github/daneren2005/dsub/fragments/DownloadFragment.java @@ -42,6 +42,7 @@ import github.daneren2005.dsub.domain.MusicDirectory; import github.daneren2005.dsub.service.DownloadFile; import github.daneren2005.dsub.service.DownloadService; import github.daneren2005.dsub.service.MusicService; +import github.daneren2005.dsub.util.DownloadFileItemHelperCallback; import github.daneren2005.dsub.util.ProgressListener; import github.daneren2005.dsub.util.SilentBackgroundTask; import github.daneren2005.dsub.util.Util; @@ -62,41 +63,7 @@ public class DownloadFragment extends SelectRecyclerFragment imple public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle bundle) { super.onCreateView(inflater, container, bundle); - ItemTouchHelper touchHelper = new ItemTouchHelper(new ItemTouchHelper.SimpleCallback(ItemTouchHelper.UP | ItemTouchHelper.DOWN, ItemTouchHelper.LEFT | ItemTouchHelper.RIGHT) { - @Override - public boolean onMove(RecyclerView recyclerView, final RecyclerView.ViewHolder fromHolder, final RecyclerView.ViewHolder toHolder) { - new SilentBackgroundTask(context) { - private int from; - private int to; - - @Override - protected Void doInBackground() throws Throwable { - from = fromHolder.getAdapterPosition(); - to = toHolder.getAdapterPosition(); - getDownloadService().swap(false, from, to); - return null; - } - - @Override - protected void done(Void result) { - adapter.notifyItemMoved(from, to); - } - }.execute(); - - return true; - } - - @Override - public void onSwiped(RecyclerView.ViewHolder viewHolder, int direction) { - SongView songView = (SongView) ((UpdateView.UpdateViewHolder) viewHolder).getUpdateView(); - DownloadFile downloadFile = songView.getDownloadFile(); - - DownloadService downloadService = getDownloadService(); - downloadService.removeBackground(downloadFile); - adapter.removeItem(downloadFile); - currentRevision = downloadService.getDownloadListUpdateRevision(); - } - }); + ItemTouchHelper touchHelper = new ItemTouchHelper(new DownloadFileItemHelperCallback(this, false)); touchHelper.attachToRecyclerView(recyclerView); return rootView; diff --git a/app/src/main/java/github/daneren2005/dsub/fragments/NowPlayingFragment.java b/app/src/main/java/github/daneren2005/dsub/fragments/NowPlayingFragment.java index 8af8a26b..68ade3cc 100644 --- a/app/src/main/java/github/daneren2005/dsub/fragments/NowPlayingFragment.java +++ b/app/src/main/java/github/daneren2005/dsub/fragments/NowPlayingFragment.java @@ -188,40 +188,7 @@ public class NowPlayingFragment extends SubsonicFragment implements OnGestureLis FastScroller fastScroller = (FastScroller) rootView.findViewById(R.id.download_fast_scroller); fastScroller.attachRecyclerView(playlistView); setupLayoutManager(playlistView, false); - ItemTouchHelper touchHelper = new ItemTouchHelper(new ItemTouchHelper.SimpleCallback(ItemTouchHelper.UP | ItemTouchHelper.DOWN, ItemTouchHelper.LEFT | ItemTouchHelper.RIGHT) { - @Override - public boolean onMove(RecyclerView recyclerView, final RecyclerView.ViewHolder fromHolder, final RecyclerView.ViewHolder toHolder) { - new SilentBackgroundTask(context) { - private int from; - private int to; - - @Override - protected Void doInBackground() throws Throwable { - from = fromHolder.getAdapterPosition(); - to = toHolder.getAdapterPosition(); - getDownloadService().swap(true, from, to); - return null; - } - - @Override - protected void done(Void result) { - songListAdapter.notifyItemMoved(from, to); - } - }.execute(); - - return true; - } - - @Override - public void onSwiped(RecyclerView.ViewHolder viewHolder, int direction) { - SongView songView = (SongView) ((UpdateView.UpdateViewHolder) viewHolder).getUpdateView(); - DownloadFile downloadFile = songView.getDownloadFile(); - - DownloadService downloadService = getDownloadService(); - downloadService.remove(downloadFile); - songListAdapter.removeItem(downloadFile); - } - }); + ItemTouchHelper touchHelper = new ItemTouchHelper(new DownloadFileItemHelperCallback(this, true)); touchHelper.attachToRecyclerView(playlistView); starButton = (ImageButton)rootView.findViewById(R.id.download_star); @@ -860,6 +827,11 @@ public class NowPlayingFragment extends SubsonicFragment implements OnGestureLis } } + @Override + public SectionAdapter getCurrentAdapter() { + return songListAdapter; + } + private void scheduleHideControls() { if (hideControlsFuture != null) { hideControlsFuture.cancel(false); diff --git a/app/src/main/java/github/daneren2005/dsub/fragments/SelectDirectoryFragment.java b/app/src/main/java/github/daneren2005/dsub/fragments/SelectDirectoryFragment.java index 93188e2f..abd1c6aa 100644 --- a/app/src/main/java/github/daneren2005/dsub/fragments/SelectDirectoryFragment.java +++ b/app/src/main/java/github/daneren2005/dsub/fragments/SelectDirectoryFragment.java @@ -662,7 +662,7 @@ public class SelectDirectoryFragment extends SubsonicFragment implements Section } @Override - protected SectionAdapter getCurrentAdapter() { + public SectionAdapter getCurrentAdapter() { return entryGridAdapter; } diff --git a/app/src/main/java/github/daneren2005/dsub/fragments/SelectRecyclerFragment.java b/app/src/main/java/github/daneren2005/dsub/fragments/SelectRecyclerFragment.java index adf22484..787b96e0 100644 --- a/app/src/main/java/github/daneren2005/dsub/fragments/SelectRecyclerFragment.java +++ b/app/src/main/java/github/daneren2005/dsub/fragments/SelectRecyclerFragment.java @@ -142,7 +142,7 @@ public abstract class SelectRecyclerFragment extends SubsonicFragment impleme } } - protected SectionAdapter getCurrentAdapter() { + public SectionAdapter getCurrentAdapter() { return adapter; } diff --git a/app/src/main/java/github/daneren2005/dsub/fragments/SubsonicFragment.java b/app/src/main/java/github/daneren2005/dsub/fragments/SubsonicFragment.java index c5a2b022..6c5b63d1 100644 --- a/app/src/main/java/github/daneren2005/dsub/fragments/SubsonicFragment.java +++ b/app/src/main/java/github/daneren2005/dsub/fragments/SubsonicFragment.java @@ -1779,7 +1779,7 @@ public class SubsonicFragment extends Fragment implements SwipeRefreshLayout.OnR }.execute(); } - protected SectionAdapter getCurrentAdapter() { return null; } + public SectionAdapter getCurrentAdapter() { return null; } public void stopActionMode() { SectionAdapter adapter = getCurrentAdapter(); if(adapter != null) { -- cgit v1.2.3