diff --git a/app/src/main/java/com/github/libretube/ui/sheets/PlayingQueueSheet.kt b/app/src/main/java/com/github/libretube/ui/sheets/PlayingQueueSheet.kt
index 1292b7377..d8038e513 100644
--- a/app/src/main/java/com/github/libretube/ui/sheets/PlayingQueueSheet.kt
+++ b/app/src/main/java/com/github/libretube/ui/sheets/PlayingQueueSheet.kt
@@ -7,20 +7,20 @@ import android.view.ViewGroup
import androidx.recyclerview.widget.ItemTouchHelper
import androidx.recyclerview.widget.LinearLayoutManager
import androidx.recyclerview.widget.RecyclerView
-import com.github.libretube.databinding.BottomSheetBinding
+import com.github.libretube.databinding.QueueBottomSheetBinding
import com.github.libretube.ui.adapters.PlayingQueueAdapter
import com.github.libretube.util.PlayingQueue
import com.google.android.material.bottomsheet.BottomSheetDialogFragment
class PlayingQueueSheet : BottomSheetDialogFragment() {
- private lateinit var binding: BottomSheetBinding
+ private lateinit var binding: QueueBottomSheetBinding
override fun onCreateView(
inflater: LayoutInflater,
container: ViewGroup?,
savedInstanceState: Bundle?
): View {
- binding = BottomSheetBinding.inflate(layoutInflater)
+ binding = QueueBottomSheetBinding.inflate(layoutInflater)
return binding.root
}
@@ -31,6 +31,21 @@ class PlayingQueueSheet : BottomSheetDialogFragment() {
val adapter = PlayingQueueAdapter()
binding.optionsRecycler.adapter = adapter
+ binding.shuffle.setOnClickListener {
+ val streams = PlayingQueue.getStreams()
+ streams.subList(PlayingQueue.currentIndex(), PlayingQueue.size()).shuffle()
+ adapter.notifyItemRangeChanged(0, PlayingQueue.size())
+ }
+
+ binding.clear.setOnClickListener {
+ val streams = PlayingQueue.getStreams()
+ streams.subList(PlayingQueue.currentIndex(), PlayingQueue.size()).clear()
+ }
+
+ binding.bottomControls.setOnClickListener {
+ dialog?.dismiss()
+ }
+
val callback = object : ItemTouchHelper.SimpleCallback(
ItemTouchHelper.UP or ItemTouchHelper.DOWN,
ItemTouchHelper.LEFT
diff --git a/app/src/main/res/drawable/ic_shuffle.xml b/app/src/main/res/drawable/ic_shuffle.xml
new file mode 100644
index 000000000..76ff342cd
--- /dev/null
+++ b/app/src/main/res/drawable/ic_shuffle.xml
@@ -0,0 +1,10 @@
+
+
+
diff --git a/app/src/main/res/layout/queue_bottom_sheet.xml b/app/src/main/res/layout/queue_bottom_sheet.xml
new file mode 100644
index 000000000..7f6a0a8eb
--- /dev/null
+++ b/app/src/main/res/layout/queue_bottom_sheet.xml
@@ -0,0 +1,66 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file