From 77ff1e8f203de96a5dd48e6a999b4ef7ccd596fd Mon Sep 17 00:00:00 2001 From: Bnyro Date: Sat, 29 Oct 2022 18:17:05 +0200 Subject: [PATCH] fix the queue --- .../libretube/ui/adapters/PlayingQueueAdapter.kt | 12 +++++++----- .../github/libretube/ui/sheets/PlayingQueueSheet.kt | 11 +++++------ .../com/github/libretube/util/DoubleTapListener.kt | 1 - 3 files changed, 12 insertions(+), 12 deletions(-) diff --git a/app/src/main/java/com/github/libretube/ui/adapters/PlayingQueueAdapter.kt b/app/src/main/java/com/github/libretube/ui/adapters/PlayingQueueAdapter.kt index af9236e46..488dc7628 100644 --- a/app/src/main/java/com/github/libretube/ui/adapters/PlayingQueueAdapter.kt +++ b/app/src/main/java/com/github/libretube/ui/adapters/PlayingQueueAdapter.kt @@ -1,6 +1,7 @@ package com.github.libretube.ui.adapters import android.annotation.SuppressLint +import android.graphics.Color import android.text.format.DateUtils import android.view.LayoutInflater import android.view.ViewGroup @@ -12,6 +13,8 @@ import com.github.libretube.util.PlayingQueue import com.github.libretube.util.ThemeHelper class PlayingQueueAdapter : RecyclerView.Adapter() { + private val currentIndex = PlayingQueue.currentIndex() + override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): PlayingQueueViewHolder { val binding = QueueRowBinding.inflate( LayoutInflater.from(parent.context), @@ -34,11 +37,10 @@ class PlayingQueueAdapter : RecyclerView.Adapter() { videoInfo.text = streamItem.uploaderName + " • " + DateUtils.formatElapsedTime(streamItem.duration ?: 0) - if (PlayingQueue.currentIndex() == position) { - root.setBackgroundColor( - ThemeHelper.getThemeColor(root.context, android.R.attr.colorControlHighlight) - ) - } + root.setBackgroundColor( + if (currentIndex == position) ThemeHelper.getThemeColor(root.context, android.R.attr.colorControlHighlight) + else Color.TRANSPARENT + ) } } } 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 13d4fc695..cb8f61c7c 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 @@ -34,11 +34,11 @@ class PlayingQueueSheet : BottomSheetDialogFragment() { binding.optionsRecycler.adapter = adapter binding.shuffle.setOnClickListener { - val streams = PlayingQueue.getStreams() + var streams = PlayingQueue.getStreams() val currentIndex = PlayingQueue.currentIndex() val current = streams[currentIndex] - streams.shuffle() + streams = streams.shuffled().toMutableList() streams.remove(current) streams.add(currentIndex, current) PlayingQueue.setStreams(streams) @@ -47,11 +47,10 @@ class PlayingQueueSheet : BottomSheetDialogFragment() { } binding.clear.setOnClickListener { - val streams = PlayingQueue.getStreams() - val index = PlayingQueue.currentIndex() + val currentIndex = PlayingQueue.currentIndex() - while (index >= PlayingQueue.size()) { - streams.removeAt(index) + val streams = PlayingQueue.getStreams().filterIndexed { + position, _ -> position <= currentIndex } PlayingQueue.setStreams(streams) diff --git a/app/src/main/java/com/github/libretube/util/DoubleTapListener.kt b/app/src/main/java/com/github/libretube/util/DoubleTapListener.kt index b9a6ee815..fcadf77dc 100644 --- a/app/src/main/java/com/github/libretube/util/DoubleTapListener.kt +++ b/app/src/main/java/com/github/libretube/util/DoubleTapListener.kt @@ -31,7 +31,6 @@ abstract class DoubleTapListener : View.OnClickListener { private val runnable = Runnable { if (isSecondClick()) return@Runnable - Log.e("single", "single") onSingleClick() }