From c5fb672d44b1ae57bdcb4794c690eac373a9047a Mon Sep 17 00:00:00 2001 From: Bnyro Date: Fri, 28 Oct 2022 22:26:33 +0200 Subject: [PATCH] Fix the playback speed value --- .../main/java/com/github/libretube/extensions/Round.kt | 9 +++++++++ .../com/github/libretube/ui/sheets/PlaybackSpeedSheet.kt | 5 +++-- .../com/github/libretube/ui/sheets/PlayingQueueSheet.kt | 2 +- 3 files changed, 13 insertions(+), 3 deletions(-) create mode 100644 app/src/main/java/com/github/libretube/extensions/Round.kt diff --git a/app/src/main/java/com/github/libretube/extensions/Round.kt b/app/src/main/java/com/github/libretube/extensions/Round.kt new file mode 100644 index 000000000..0be63d173 --- /dev/null +++ b/app/src/main/java/com/github/libretube/extensions/Round.kt @@ -0,0 +1,9 @@ +package com.github.libretube.extensions + +import kotlin.math.pow +import kotlin.math.roundToInt + +fun Float.round(decimalPlaces: Int): Float { + return (this * 10.0.pow(decimalPlaces.toDouble())).roundToInt() / 10.0.pow(decimalPlaces.toDouble()) + .toFloat() +} diff --git a/app/src/main/java/com/github/libretube/ui/sheets/PlaybackSpeedSheet.kt b/app/src/main/java/com/github/libretube/ui/sheets/PlaybackSpeedSheet.kt index 43f28e6b2..c0d19d559 100644 --- a/app/src/main/java/com/github/libretube/ui/sheets/PlaybackSpeedSheet.kt +++ b/app/src/main/java/com/github/libretube/ui/sheets/PlaybackSpeedSheet.kt @@ -6,6 +6,7 @@ import android.view.View import android.view.ViewGroup import androidx.fragment.app.FragmentManager import com.github.libretube.databinding.PlaybackBottomSheetBinding +import com.github.libretube.extensions.round import com.google.android.exoplayer2.PlaybackParameters import com.google.android.exoplayer2.Player import com.google.android.material.bottomsheet.BottomSheetDialogFragment @@ -31,11 +32,11 @@ class PlaybackSpeedSheet( binding.pitch.value = player.playbackParameters.pitch binding.speed.addOnChangeListener { _, value, _ -> - onChange(value, binding.pitch.value) + onChange(value, binding.pitch.value.round(2)) } binding.pitch.addOnChangeListener { _, value, _ -> - onChange(binding.speed.value, value) + onChange(binding.speed.value.round(2), value) } } 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 59c0d8bb4..fef5f877f 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 @@ -33,7 +33,7 @@ class PlayingQueueSheet : BottomSheetDialogFragment() { binding.shuffle.setOnClickListener { val streams = PlayingQueue.getStreams() - val size = PlayingQueue.size() + val size = PlayingQueue.size() streams.subList(PlayingQueue.currentIndex(), size).shuffle() adapter.notifyItemRangeChanged(0, size) }