Added swipe songs
This commit is contained in:
parent
d2076fc1d4
commit
fe603fb11c
2 changed files with 22 additions and 11 deletions
|
@ -15,8 +15,10 @@ import code.name.monkey.retromusic.extensions.applyToolbar
|
||||||
import code.name.monkey.retromusic.helper.MusicPlayerRemote
|
import code.name.monkey.retromusic.helper.MusicPlayerRemote
|
||||||
import code.name.monkey.retromusic.util.MusicUtil
|
import code.name.monkey.retromusic.util.MusicUtil
|
||||||
import code.name.monkey.retromusic.util.ViewUtil
|
import code.name.monkey.retromusic.util.ViewUtil
|
||||||
import com.h6ah4i.android.widget.advrecyclerview.animator.RefactoredDefaultItemAnimator
|
import com.h6ah4i.android.widget.advrecyclerview.animator.DraggableItemAnimator
|
||||||
import com.h6ah4i.android.widget.advrecyclerview.draggable.RecyclerViewDragDropManager
|
import com.h6ah4i.android.widget.advrecyclerview.draggable.RecyclerViewDragDropManager
|
||||||
|
import com.h6ah4i.android.widget.advrecyclerview.swipeable.RecyclerViewSwipeManager
|
||||||
|
import com.h6ah4i.android.widget.advrecyclerview.touchguard.RecyclerViewTouchActionGuardManager
|
||||||
import com.h6ah4i.android.widget.advrecyclerview.utils.WrapperAdapterUtils
|
import com.h6ah4i.android.widget.advrecyclerview.utils.WrapperAdapterUtils
|
||||||
import kotlinx.android.synthetic.main.activity_playing_queue.*
|
import kotlinx.android.synthetic.main.activity_playing_queue.*
|
||||||
|
|
||||||
|
@ -24,6 +26,8 @@ open class PlayingQueueActivity : AbsMusicServiceActivity() {
|
||||||
|
|
||||||
private var wrappedAdapter: RecyclerView.Adapter<*>? = null
|
private var wrappedAdapter: RecyclerView.Adapter<*>? = null
|
||||||
private var recyclerViewDragDropManager: RecyclerViewDragDropManager? = null
|
private var recyclerViewDragDropManager: RecyclerViewDragDropManager? = null
|
||||||
|
private var recyclerViewSwipeManager: RecyclerViewSwipeManager? = null
|
||||||
|
private var recyclerViewTouchActionGuardManager: RecyclerViewTouchActionGuardManager? = null
|
||||||
private var playingQueueAdapter: PlayingQueueAdapter? = null
|
private var playingQueueAdapter: PlayingQueueAdapter? = null
|
||||||
private lateinit var linearLayoutManager: LinearLayoutManager
|
private lateinit var linearLayoutManager: LinearLayoutManager
|
||||||
|
|
||||||
|
@ -61,8 +65,12 @@ open class PlayingQueueActivity : AbsMusicServiceActivity() {
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun setUpRecyclerView() {
|
private fun setUpRecyclerView() {
|
||||||
|
recyclerViewTouchActionGuardManager = RecyclerViewTouchActionGuardManager()
|
||||||
recyclerViewDragDropManager = RecyclerViewDragDropManager()
|
recyclerViewDragDropManager = RecyclerViewDragDropManager()
|
||||||
val animator = RefactoredDefaultItemAnimator()
|
recyclerViewSwipeManager = RecyclerViewSwipeManager()
|
||||||
|
|
||||||
|
val animator = DraggableItemAnimator()
|
||||||
|
animator.supportsChangeAnimations = false
|
||||||
|
|
||||||
playingQueueAdapter = PlayingQueueAdapter(
|
playingQueueAdapter = PlayingQueueAdapter(
|
||||||
this,
|
this,
|
||||||
|
@ -71,16 +79,16 @@ open class PlayingQueueActivity : AbsMusicServiceActivity() {
|
||||||
R.layout.item_queue
|
R.layout.item_queue
|
||||||
)
|
)
|
||||||
wrappedAdapter = recyclerViewDragDropManager?.createWrappedAdapter(playingQueueAdapter!!)
|
wrappedAdapter = recyclerViewDragDropManager?.createWrappedAdapter(playingQueueAdapter!!)
|
||||||
|
wrappedAdapter = wrappedAdapter?.let { recyclerViewSwipeManager?.createWrappedAdapter(it) }
|
||||||
|
|
||||||
linearLayoutManager = LinearLayoutManager(this)
|
linearLayoutManager = LinearLayoutManager(this)
|
||||||
|
|
||||||
recyclerView.apply {
|
recyclerView.layoutManager = linearLayoutManager
|
||||||
layoutManager = linearLayoutManager
|
recyclerView.adapter = wrappedAdapter
|
||||||
adapter = wrappedAdapter
|
recyclerView.itemAnimator = animator
|
||||||
itemAnimator = animator
|
recyclerViewTouchActionGuardManager?.attachRecyclerView(recyclerView)
|
||||||
recyclerViewDragDropManager?.attachRecyclerView(this)
|
recyclerViewDragDropManager?.attachRecyclerView(recyclerView)
|
||||||
}
|
recyclerViewSwipeManager?.attachRecyclerView(recyclerView)
|
||||||
|
|
||||||
linearLayoutManager.scrollToPositionWithOffset(MusicPlayerRemote.position + 1, 0)
|
linearLayoutManager.scrollToPositionWithOffset(MusicPlayerRemote.position + 1, 0)
|
||||||
|
|
||||||
recyclerView.addOnScrollListener(object : RecyclerView.OnScrollListener() {
|
recyclerView.addOnScrollListener(object : RecyclerView.OnScrollListener() {
|
||||||
|
@ -151,7 +159,10 @@ open class PlayingQueueActivity : AbsMusicServiceActivity() {
|
||||||
recyclerViewDragDropManager!!.release()
|
recyclerViewDragDropManager!!.release()
|
||||||
recyclerViewDragDropManager = null
|
recyclerViewDragDropManager = null
|
||||||
}
|
}
|
||||||
|
if (recyclerViewSwipeManager != null) {
|
||||||
|
recyclerViewSwipeManager?.release()
|
||||||
|
recyclerViewSwipeManager = null
|
||||||
|
}
|
||||||
if (wrappedAdapter != null) {
|
if (wrappedAdapter != null) {
|
||||||
WrapperAdapterUtils.releaseAll(wrappedAdapter)
|
WrapperAdapterUtils.releaseAll(wrappedAdapter)
|
||||||
wrappedAdapter = null
|
wrappedAdapter = null
|
||||||
|
|
|
@ -50,7 +50,7 @@ class PlayingQueueFragment : AbsLibraryPagerRecyclerViewFragment<PlayingQueueAda
|
||||||
recyclerViewSwipeManager = RecyclerViewSwipeManager()
|
recyclerViewSwipeManager = RecyclerViewSwipeManager()
|
||||||
|
|
||||||
val animator = DraggableItemAnimator()
|
val animator = DraggableItemAnimator()
|
||||||
animator.supportsChangeAnimations = false;
|
animator.supportsChangeAnimations = false
|
||||||
wrappedAdapter = recyclerViewDragDropManager?.createWrappedAdapter(adapter!!) as RecyclerView.Adapter<*>
|
wrappedAdapter = recyclerViewDragDropManager?.createWrappedAdapter(adapter!!) as RecyclerView.Adapter<*>
|
||||||
wrappedAdapter = recyclerViewSwipeManager?.createWrappedAdapter(wrappedAdapter) as RecyclerView.Adapter<*>
|
wrappedAdapter = recyclerViewSwipeManager?.createWrappedAdapter(wrappedAdapter) as RecyclerView.Adapter<*>
|
||||||
recyclerView().layoutManager = layoutManager
|
recyclerView().layoutManager = layoutManager
|
||||||
|
|
Loading…
Reference in a new issue