Fix slider sliding problem

This commit is contained in:
= 2020-03-01 10:08:36 +05:30
parent 724f743627
commit 94cda61f32
16 changed files with 33 additions and 63 deletions

View file

@ -18,11 +18,11 @@ import code.name.monkey.retromusic.util.ViewUtil
import code.name.monkey.retromusic.volume.AudioVolumeObserver
import code.name.monkey.retromusic.volume.OnAudioVolumeChangedListener
import com.google.android.material.slider.Slider
import com.google.android.material.slider.Slider.OnChangeListener
import kotlinx.android.synthetic.main.fragment_volume.*
class VolumeFragment : Fragment(), OnAudioVolumeChangedListener,
View.OnClickListener, OnChangeListener {
View.OnClickListener, Slider.OnChangeListener {
private var audioVolumeObserver: AudioVolumeObserver? = null

View file

@ -13,7 +13,6 @@ import code.name.monkey.appthemehelper.util.TintHelper
import code.name.monkey.retromusic.R
import code.name.monkey.retromusic.extensions.hide
import code.name.monkey.retromusic.extensions.ripAlpha
import code.name.monkey.retromusic.extensions.setRange
import code.name.monkey.retromusic.extensions.show
import code.name.monkey.retromusic.fragments.base.AbsPlayerControlsFragment
import code.name.monkey.retromusic.helper.MusicPlayerRemote
@ -219,10 +218,8 @@ class AdaptivePlaybackControlsFragment : AbsPlayerControlsFragment() {
}
override fun onUpdateProgressViews(progress: Int, total: Int) {
if (total <= 0) {
return
}
progressSlider.setRange(progress.toFloat(), total.toFloat())
progressSlider.valueTo = total.toFloat()
progressSlider.value = progress.toFloat()
songTotalTime.text = MusicUtil.getReadableDurationString(total.toLong())
songCurrentProgress.text = MusicUtil.getReadableDurationString(progress.toLong())
}

View file

@ -14,7 +14,6 @@ import code.name.monkey.appthemehelper.util.MaterialValueHelper
import code.name.monkey.appthemehelper.util.TintHelper
import code.name.monkey.retromusic.R
import code.name.monkey.retromusic.extensions.hide
import code.name.monkey.retromusic.extensions.setRange
import code.name.monkey.retromusic.extensions.show
import code.name.monkey.retromusic.fragments.base.AbsPlayerControlsFragment
import code.name.monkey.retromusic.helper.MusicPlayerRemote
@ -253,10 +252,8 @@ class BlurPlaybackControlsFragment : AbsPlayerControlsFragment() {
}
override fun onUpdateProgressViews(progress: Int, total: Int) {
if (total <= 0) {
return
}
progressSlider.setRange(progress.toFloat(), total.toFloat())
progressSlider.valueTo = total.toFloat()
progressSlider.value = progress.toFloat()
songTotalTime.text = MusicUtil.getReadableDurationString(total.toLong())
songCurrentProgress.text = MusicUtil.getReadableDurationString(progress.toLong())
}

View file

@ -12,7 +12,6 @@ import code.name.monkey.appthemehelper.util.MaterialValueHelper
import code.name.monkey.appthemehelper.util.TintHelper
import code.name.monkey.retromusic.R
import code.name.monkey.retromusic.extensions.hide
import code.name.monkey.retromusic.extensions.setRange
import code.name.monkey.retromusic.extensions.show
import code.name.monkey.retromusic.fragments.base.AbsPlayerControlsFragment
import code.name.monkey.retromusic.helper.MusicPlayerRemote
@ -211,10 +210,8 @@ class CardBlurPlaybackControlsFragment : AbsPlayerControlsFragment() {
}
override fun onUpdateProgressViews(progress: Int, total: Int) {
if (total <= 0) {
return
}
progressSlider.setRange(progress.toFloat(), total.toFloat())
progressSlider.valueTo = total.toFloat()
progressSlider.value = progress.toFloat()
songTotalTime.text = MusicUtil.getReadableDurationString(total.toLong())
songCurrentProgress.text = MusicUtil.getReadableDurationString(progress.toLong())
}

View file

@ -29,7 +29,6 @@ import code.name.monkey.appthemehelper.util.TintHelper
import code.name.monkey.appthemehelper.util.ToolbarContentTintHelper
import code.name.monkey.retromusic.R
import code.name.monkey.retromusic.extensions.hide
import code.name.monkey.retromusic.extensions.setRange
import code.name.monkey.retromusic.extensions.show
import code.name.monkey.retromusic.fragments.base.AbsPlayerFragment
import code.name.monkey.retromusic.helper.MusicPlayerRemote
@ -229,10 +228,8 @@ class CirclePlayerFragment : AbsPlayerFragment(), Callback, OnAudioVolumeChanged
}
override fun onUpdateProgressViews(progress: Int, total: Int) {
if (total <= 0) {
return
}
progressSlider.setRange(progress.toFloat(), total.toFloat())
progressSlider.valueTo = total.toFloat()
progressSlider.value = progress.toFloat()
songTotalTime.text = MusicUtil.getReadableDurationString(total.toLong())
songCurrentProgress.text = MusicUtil.getReadableDurationString(progress.toLong())
}

View file

@ -11,7 +11,6 @@ import code.name.monkey.appthemehelper.util.ColorUtil
import code.name.monkey.appthemehelper.util.TintHelper
import code.name.monkey.retromusic.R
import code.name.monkey.retromusic.extensions.hide
import code.name.monkey.retromusic.extensions.setRange
import code.name.monkey.retromusic.extensions.show
import code.name.monkey.retromusic.fragments.base.AbsPlayerControlsFragment
import code.name.monkey.retromusic.helper.MusicPlayerRemote
@ -213,10 +212,8 @@ class ColorPlaybackControlsFragment : AbsPlayerControlsFragment() {
}
override fun onUpdateProgressViews(progress: Int, total: Int) {
if (total <= 0) {
return
}
progressSlider.setRange(progress.toFloat(), total.toFloat())
progressSlider.valueTo = total.toFloat()
progressSlider.value = progress.toFloat()
songTotalTime.text = MusicUtil.getReadableDurationString(total.toLong())
songCurrentProgress.text = MusicUtil.getReadableDurationString(progress.toLong())
}

View file

@ -172,10 +172,8 @@ class FlatPlaybackControlsFragment : AbsPlayerControlsFragment(), Callback {
}
override fun onUpdateProgressViews(progress: Int, total: Int) {
if (total <= 0) {
return
}
progressSlider.setRange(progress.toFloat(), total.toFloat())
progressSlider.valueTo = total.toFloat()
progressSlider.value = progress.toFloat()
songTotalTime.text = MusicUtil.getReadableDurationString(total.toLong())
songCurrentProgress.text = MusicUtil.getReadableDurationString(progress.toLong())
}

View file

@ -20,7 +20,6 @@ import code.name.monkey.appthemehelper.util.TintHelper
import code.name.monkey.retromusic.R
import code.name.monkey.retromusic.extensions.hide
import code.name.monkey.retromusic.extensions.ripAlpha
import code.name.monkey.retromusic.extensions.setRange
import code.name.monkey.retromusic.extensions.show
import code.name.monkey.retromusic.fragments.base.AbsPlayerControlsFragment
import code.name.monkey.retromusic.helper.MusicPlayerRemote
@ -204,10 +203,8 @@ class FullPlaybackControlsFragment : AbsPlayerControlsFragment(),
}
override fun onUpdateProgressViews(progress: Int, total: Int) {
if (total <= 0) {
return
}
progressSlider.setRange(progress.toFloat(), total.toFloat())
progressSlider.valueTo = total.toFloat()
progressSlider.value = progress.toFloat()
songTotalTime.text = MusicUtil.getReadableDurationString(total.toLong())
songCurrentProgress.text = MusicUtil.getReadableDurationString(progress.toLong())
}

View file

@ -210,10 +210,8 @@ class MaterialControlsFragment : AbsPlayerControlsFragment() {
}
override fun onUpdateProgressViews(progress: Int, total: Int) {
if (total <= 0) {
return
}
progressSlider.setRange(progress.toFloat(), total.toFloat())
progressSlider.valueTo = total.toFloat()
progressSlider.value = progress.toFloat()
songTotalTime.text = MusicUtil.getReadableDurationString(total.toLong())
songCurrentProgress.text = MusicUtil.getReadableDurationString(progress.toLong())
}

View file

@ -16,7 +16,6 @@ import code.name.monkey.appthemehelper.util.TintHelper
import code.name.monkey.retromusic.R
import code.name.monkey.retromusic.extensions.hide
import code.name.monkey.retromusic.extensions.ripAlpha
import code.name.monkey.retromusic.extensions.setRange
import code.name.monkey.retromusic.extensions.show
import code.name.monkey.retromusic.fragments.base.AbsPlayerControlsFragment
import code.name.monkey.retromusic.helper.MusicPlayerRemote
@ -237,10 +236,8 @@ class PlayerPlaybackControlsFragment : AbsPlayerControlsFragment(),
}
override fun onUpdateProgressViews(progress: Int, total: Int) {
if (total <= 0) {
return
}
progressSlider.setRange(progress.toFloat(), total.toFloat())
progressSlider.valueTo = total.toFloat()
progressSlider.value = progress.toFloat()
songTotalTime.text = MusicUtil.getReadableDurationString(total.toLong())
songCurrentProgress.text = MusicUtil.getReadableDurationString(progress.toLong())
}

View file

@ -143,10 +143,8 @@ class PeakPlayerControlFragment : AbsPlayerControlsFragment() {
}
override fun onUpdateProgressViews(progress: Int, total: Int) {
if (total <= 0) {
return
}
progressSlider.setRange(progress.toFloat(), total.toFloat())
progressSlider.valueTo = total.toFloat()
progressSlider.value = progress.toFloat()
songTotalTime.text = MusicUtil.getReadableDurationString(total.toLong())
songCurrentProgress.text = MusicUtil.getReadableDurationString(progress.toLong())
}

View file

@ -264,10 +264,8 @@ class PlainPlaybackControlsFragment : AbsPlayerControlsFragment() {
}
override fun onUpdateProgressViews(progress: Int, total: Int) {
if (total <= 0) {
return
}
progressSlider.setRange(progress.toFloat(), total.toFloat())
progressSlider.valueTo = total.toFloat()
progressSlider.value = progress.toFloat()
songTotalTime.text = MusicUtil.getReadableDurationString(total.toLong())
songCurrentProgress.text = MusicUtil.getReadableDurationString(progress.toLong())
}

View file

@ -53,8 +53,8 @@ class MusicProgressViewUpdateHelper : Handler {
private fun refreshProgressViews(): Int {
val progressMillis = MusicPlayerRemote.songProgressMillis
val totalMillis = MusicPlayerRemote.songDurationMillis
println("$progressMillis $totalMillis")
callback?.onUpdateProgressViews(progressMillis, totalMillis)
if (totalMillis > 0)
callback?.onUpdateProgressViews(progressMillis, totalMillis)
if (!MusicPlayerRemote.isPlaying) {
return intervalPaused
@ -76,10 +76,9 @@ class MusicProgressViewUpdateHelper : Handler {
}
companion object {
private val CMD_REFRESH_PROGRESS_VIEWS = 1
private val MIN_INTERVAL = 20
private val UPDATE_INTERVAL_PLAYING = 1000
private val UPDATE_INTERVAL_PAUSED = 500
private const val CMD_REFRESH_PROGRESS_VIEWS = 1
private const val MIN_INTERVAL = 20
private const val UPDATE_INTERVAL_PLAYING = 1000
private const val UPDATE_INTERVAL_PAUSED = 500
}
}