diff --git a/app/src/main/java/com/futo/platformplayer/views/adapters/ItemMoveCallback.kt b/app/src/main/java/com/futo/platformplayer/views/adapters/ItemMoveCallback.kt index 4b34d353..3d0bec35 100644 --- a/app/src/main/java/com/futo/platformplayer/views/adapters/ItemMoveCallback.kt +++ b/app/src/main/java/com/futo/platformplayer/views/adapters/ItemMoveCallback.kt @@ -10,10 +10,11 @@ class ItemMoveCallback : ItemTouchHelper.Callback { var onRowMoved = Event2(); var onRowSelected = Event1(); var onRowClear = Event1(); + var canEdit = true constructor() : super() { } - override fun isLongPressDragEnabled(): Boolean { return true; } + override fun isLongPressDragEnabled(): Boolean { return canEdit; } override fun isItemViewSwipeEnabled(): Boolean { return false; } override fun getMovementFlags(recyclerView: RecyclerView, viewHolder: RecyclerView.ViewHolder): Int { diff --git a/app/src/main/java/com/futo/platformplayer/views/lists/VideoListEditorView.kt b/app/src/main/java/com/futo/platformplayer/views/lists/VideoListEditorView.kt index 08d32ac3..67be4058 100644 --- a/app/src/main/java/com/futo/platformplayer/views/lists/VideoListEditorView.kt +++ b/app/src/main/java/com/futo/platformplayer/views/lists/VideoListEditorView.kt @@ -26,6 +26,7 @@ class VideoListEditorView : FrameLayout { val onVideoOptions = Event1(); val onVideoClicked = Event1(); val isEmpty get() = _videos.isEmpty(); + val itemMoveCallback: ItemMoveCallback constructor(context: Context, attrs: AttributeSet? = null) : super(context, attrs) { val recyclerPlaylist = RecyclerView(context, attrs); @@ -34,14 +35,14 @@ class VideoListEditorView : FrameLayout { recyclerPlaylist.layoutParams = LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.MATCH_PARENT); addView(recyclerPlaylist); - val callback = ItemMoveCallback(); - val touchHelper = ItemTouchHelper(callback); + itemMoveCallback = ItemMoveCallback(); + val touchHelper = ItemTouchHelper(itemMoveCallback); val adapterVideos = VideoListEditorAdapter(touchHelper); recyclerPlaylist.adapter = adapterVideos; recyclerPlaylist.layoutManager = LinearLayoutManager(context); touchHelper.attachToRecyclerView(recyclerPlaylist); - callback.onRowMoved.subscribe { fromPosition, toPosition -> + itemMoveCallback.onRowMoved.subscribe { fromPosition, toPosition -> synchronized(_videos) { if (fromPosition < toPosition) { for (i in fromPosition until toPosition) @@ -94,6 +95,7 @@ class VideoListEditorView : FrameLayout { synchronized(_videos) { _videos.clear(); _videos.addAll(videos ?: listOf()); + itemMoveCallback.canEdit = canEdit _adapterVideos?.setVideos(_videos, canEdit); } }