Fix Slider thumb size

This commit is contained in:
h4h13 2020-03-01 20:53:19 +05:30
parent 20e71f355a
commit 19c7b826f4
25 changed files with 98 additions and 64 deletions

View file

@ -21,6 +21,7 @@ import code.name.monkey.retromusic.helper.PlayPauseButtonOnClickHandler
import code.name.monkey.retromusic.service.MusicService
import code.name.monkey.retromusic.util.MusicUtil
import code.name.monkey.retromusic.util.PreferenceUtil
import code.name.monkey.retromusic.util.SliderReadTimeLabelFormatter
import code.name.monkey.retromusic.util.ViewUtil
import kotlinx.android.synthetic.main.fragment_adaptive_player_playback_controls.*
@ -233,6 +234,7 @@ class AdaptivePlaybackControlsFragment : AbsPlayerControlsFragment() {
}
override fun setUpProgressSlider() {
progressSlider.setLabelFormatter(SliderReadTimeLabelFormatter())
progressSlider.addOnChangeListener { _, value, fromUser ->
if (fromUser) {
MusicPlayerRemote.seekTo(value.toInt())

View file

@ -25,6 +25,7 @@ import android.view.ViewGroup
import androidx.appcompat.widget.Toolbar
import code.name.monkey.appthemehelper.ThemeStore
import code.name.monkey.appthemehelper.util.ATHUtil
import code.name.monkey.appthemehelper.util.ColorUtil
import code.name.monkey.appthemehelper.util.TintHelper
import code.name.monkey.appthemehelper.util.ToolbarContentTintHelper
import code.name.monkey.retromusic.R
@ -97,6 +98,8 @@ class CirclePlayerFragment : AbsPlayerFragment(), Callback, OnAudioVolumeChanged
false
)
volumeSeekBar.progressColor = ThemeStore.accentColor(requireContext())
volumeSeekBar.arcColor = ColorUtil
.withAlpha(ThemeStore.accentColor(requireContext()), 0.25f)
setUpPlayPauseFab()
setUpPrevNext()
setUpPlayerToolbar()
@ -116,7 +119,6 @@ class CirclePlayerFragment : AbsPlayerFragment(), Callback, OnAudioVolumeChanged
private fun setUpPlayPauseFab() {
TintHelper.setTintAuto(playPauseButton, ThemeStore.accentColor(requireContext()), false)
//TintHelper.setTintAuto(playPauseButton, ATHUtil.resolveColor(requireContext(), R.attr.colorSurface), true)
playPauseButton.setOnClickListener(PlayPauseButtonOnClickHandler())
}

View file

@ -62,7 +62,6 @@ class FullPlaybackControlsFragment : AbsPlayerControlsFragment(),
songTotalTime.setTextColor(Color.WHITE)
songCurrentProgress.setTextColor(Color.WHITE)
title.isSelected = true
}

View file

@ -14,15 +14,12 @@
package code.name.monkey.retromusic.fragments.player.lockscreen
import android.animation.ObjectAnimator
import android.graphics.PorterDuff
import android.os.Bundle
import android.view.LayoutInflater
import android.view.View
import android.view.ViewGroup
import android.view.animation.DecelerateInterpolator
import android.view.animation.LinearInterpolator
import android.widget.SeekBar
import code.name.monkey.appthemehelper.util.ATHUtil
import code.name.monkey.appthemehelper.util.ColorUtil
import code.name.monkey.appthemehelper.util.MaterialValueHelper
@ -34,7 +31,6 @@ import code.name.monkey.retromusic.fragments.base.AbsPlayerControlsFragment
import code.name.monkey.retromusic.helper.MusicPlayerRemote
import code.name.monkey.retromusic.helper.MusicProgressViewUpdateHelper
import code.name.monkey.retromusic.helper.PlayPauseButtonOnClickHandler
import code.name.monkey.retromusic.misc.SimpleOnSeekbarChangeListener
import code.name.monkey.retromusic.service.MusicService
import code.name.monkey.retromusic.util.MusicUtil
import code.name.monkey.retromusic.util.PreferenceUtil
@ -133,6 +129,8 @@ class LockScreenPlayerControlsFragment : AbsPlayerControlsFragment() {
volumeFragment?.setTintable(colorFinal)
ViewUtil.setProgressDrawable(progressSlider, colorFinal, true)
updateRepeatState()
updateShuffleState()
updatePrevNextColor()
val isDark = ColorUtil.isColorLight(colorFinal)
@ -237,29 +235,22 @@ class LockScreenPlayerControlsFragment : AbsPlayerControlsFragment() {
}
}
override fun setUpProgressSlider() {
progressSlider.setOnSeekBarChangeListener(object : SimpleOnSeekbarChangeListener() {
override fun onProgressChanged(seekBar: SeekBar, progress: Int, fromUser: Boolean) {
if (fromUser) {
MusicPlayerRemote.seekTo(progress)
onUpdateProgressViews(
MusicPlayerRemote.songProgressMillis,
MusicPlayerRemote.songDurationMillis
)
}
}
})
}
override fun onUpdateProgressViews(progress: Int, total: Int) {
progressSlider.max = total
val animator = ObjectAnimator.ofInt(progressSlider, "progress", progress)
animator.duration = SLIDER_ANIMATION_TIME
animator.interpolator = LinearInterpolator()
animator.start()
progressSlider.valueTo = total.toFloat()
progressSlider.value = progress.toFloat()
songTotalTime.text = MusicUtil.getReadableDurationString(total.toLong())
songCurrentProgress.text = MusicUtil.getReadableDurationString(progress.toLong())
}
override fun setUpProgressSlider() {
progressSlider.addOnChangeListener { _, value, fromUser ->
if (fromUser) {
MusicPlayerRemote.seekTo(value.toInt())
onUpdateProgressViews(
MusicPlayerRemote.songProgressMillis,
MusicPlayerRemote.songDurationMillis
)
}
}
}
}

View file

@ -41,9 +41,10 @@ object SongMenuHelper {
R.id.action_set_as_ringtone -> {
if (RingtoneManager.requiresDialog(activity)) {
RingtoneManager.getDialog(activity)
} else {
val ringtoneManager = RingtoneManager(activity)
ringtoneManager.setRingtone(song)
}
val ringtoneManager = RingtoneManager(activity)
ringtoneManager.setRingtone(song)
return true
}
R.id.action_share -> {

View file

@ -43,7 +43,6 @@ class RingtoneManager(val context: Context) {
return
}
try {
val cursor = resolver.query(
MediaStore.Audio.Media.EXTERNAL_CONTENT_URI,
@ -65,7 +64,6 @@ class RingtoneManager(val context: Context) {
}
companion object {
private const val TAG = "RingtoneManager"
fun requiresDialog(context: Context): Boolean {
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
@ -89,6 +87,5 @@ class RingtoneManager(val context: Context) {
negativeButton(android.R.string.cancel)
}
}
}
}

View file

@ -0,0 +1,30 @@
package code.name.monkey.retromusic.util
import com.google.android.material.slider.Slider
import java.util.*
class SliderReadTimeLabelFormatter : Slider.LabelFormatter {
override fun getFormattedValue(value: Float): String {
var minutes: Long = value.toLong() / 1000 / 60
val seconds: Long = value.toLong() / 1000 % 60
return if (minutes < 60) {
String.format(
Locale.getDefault(),
"%01d:%02d",
minutes,
seconds
)
} else {
val hours = minutes / 60
minutes %= 60
String.format(
Locale.getDefault(),
"%d:%02d:%02d",
hours,
minutes,
seconds
)
}
}
}