[Feature] Added Long Press to forward, rewind current song

This commit is contained in:
Prathamesh More 2022-01-06 23:10:03 +05:30
parent 06147dde49
commit 83fca0a829
20 changed files with 160 additions and 35 deletions

View file

@ -58,7 +58,6 @@ abstract class AbsThemeActivity : ATHToolbarActivity(), Runnable {
com.google.android.material.R.style.ThemeOverlay_Material3_DynamicColors_DayNight com.google.android.material.R.style.ThemeOverlay_Material3_DynamicColors_DayNight
) )
} }
setTheme(R.style.FontThemeOverlay)
} }
override fun onWindowFocusChanged(hasFocus: Boolean) { override fun onWindowFocusChanged(hasFocus: Boolean) {

View file

@ -0,0 +1,60 @@
package code.name.monkey.retromusic.fragments
import android.annotation.SuppressLint
import android.view.GestureDetector
import android.view.MotionEvent
import android.view.View
import androidx.fragment.app.FragmentActivity
import androidx.lifecycle.lifecycleScope
import code.name.monkey.retromusic.helper.MusicPlayerRemote
import kotlinx.coroutines.*
/**
* @param activity, Activity
* @param next, if the button is next, if false then it's considered previous
*/
class MusicSeekSkipTouchListener(val activity: FragmentActivity, val next: Boolean) :
View.OnTouchListener {
var job: Job? = null
var counter = 0
private val gestureDetector = GestureDetector(activity, object :
GestureDetector.SimpleOnGestureListener() {
override fun onDown(e: MotionEvent?): Boolean {
job = activity.lifecycleScope.launch(Dispatchers.Default) {
counter = 0
while (isActive) {
delay(500)
var seekingDuration = MusicPlayerRemote.songProgressMillis
if (next) {
seekingDuration += 5000 * (counter.floorDiv(2) + 1)
} else {
seekingDuration -= 5000 * (counter.floorDiv(2) + 1)
}
MusicPlayerRemote.seekTo(seekingDuration)
counter += 1
}
}
return super.onDown(e)
}
override fun onSingleTapConfirmed(e: MotionEvent?): Boolean {
if (next) {
MusicPlayerRemote.playNextSong()
} else {
MusicPlayerRemote.back()
}
return super.onSingleTapConfirmed(e)
}
})
@SuppressLint("ClickableViewAccessibility")
override fun onTouch(v: View?, event: MotionEvent?): Boolean {
val action = event?.actionMasked
if (action == MotionEvent.ACTION_UP || action == MotionEvent.ACTION_CANCEL) {
job?.cancel()
}
return gestureDetector.onTouchEvent(event)
}
}

View file

@ -107,7 +107,7 @@ class AlbumDetailsFragment : AbsMainActivityFragment(R.layout.fragment_album_det
sharedElementEnterTransition = MaterialContainerTransform().apply { sharedElementEnterTransition = MaterialContainerTransform().apply {
drawingViewId = R.id.fragment_container drawingViewId = R.id.fragment_container
scrimColor = Color.TRANSPARENT scrimColor = Color.TRANSPARENT
setAllContainerColors(requireContext().resolveColor(R.attr.colorSurface)) setAllContainerColors(surfaceColor())
setPathMotion(MaterialArcMotion()) setPathMotion(MaterialArcMotion())
} }
} }

View file

@ -75,7 +75,7 @@ abstract class AbsArtistDetailsFragment : AbsMainActivityFragment(R.layout.fragm
sharedElementEnterTransition = MaterialContainerTransform().apply { sharedElementEnterTransition = MaterialContainerTransform().apply {
drawingViewId = R.id.fragment_container drawingViewId = R.id.fragment_container
scrimColor = Color.TRANSPARENT scrimColor = Color.TRANSPARENT
setAllContainerColors(requireContext().resolveColor(R.attr.colorSurface)) setAllContainerColors(surfaceColor())
} }
} }

View file

@ -15,6 +15,7 @@
package code.name.monkey.retromusic.fragments.player.adaptive package code.name.monkey.retromusic.fragments.player.adaptive
import android.animation.ObjectAnimator import android.animation.ObjectAnimator
import android.annotation.SuppressLint
import android.graphics.PorterDuff import android.graphics.PorterDuff
import android.os.Bundle import android.os.Bundle
import android.view.LayoutInflater import android.view.LayoutInflater
@ -30,6 +31,7 @@ import code.name.monkey.appthemehelper.util.TintHelper
import code.name.monkey.retromusic.R import code.name.monkey.retromusic.R
import code.name.monkey.retromusic.databinding.FragmentAdaptivePlayerPlaybackControlsBinding import code.name.monkey.retromusic.databinding.FragmentAdaptivePlayerPlaybackControlsBinding
import code.name.monkey.retromusic.extensions.* import code.name.monkey.retromusic.extensions.*
import code.name.monkey.retromusic.fragments.MusicSeekSkipTouchListener
import code.name.monkey.retromusic.fragments.base.AbsPlayerControlsFragment import code.name.monkey.retromusic.fragments.base.AbsPlayerControlsFragment
import code.name.monkey.retromusic.helper.MusicPlayerRemote import code.name.monkey.retromusic.helper.MusicPlayerRemote
import code.name.monkey.retromusic.helper.MusicProgressViewUpdateHelper import code.name.monkey.retromusic.helper.MusicProgressViewUpdateHelper
@ -182,10 +184,11 @@ class AdaptivePlaybackControlsFragment :
setUpProgressSlider() setUpProgressSlider()
} }
@SuppressLint("ClickableViewAccessibility")
private fun setUpPrevNext() { private fun setUpPrevNext() {
updatePrevNextColor() updatePrevNextColor()
binding.nextButton.setOnClickListener { MusicPlayerRemote.playNextSong() } binding.nextButton.setOnTouchListener(MusicSeekSkipTouchListener(requireActivity(), true))
binding.previousButton.setOnClickListener { MusicPlayerRemote.back() } binding.previousButton.setOnTouchListener(MusicSeekSkipTouchListener(requireActivity(), false))
} }
private fun updatePrevNextColor() { private fun updatePrevNextColor() {

View file

@ -15,6 +15,7 @@
package code.name.monkey.retromusic.fragments.player.blur package code.name.monkey.retromusic.fragments.player.blur
import android.animation.ObjectAnimator import android.animation.ObjectAnimator
import android.annotation.SuppressLint
import android.graphics.Color import android.graphics.Color
import android.graphics.PorterDuff import android.graphics.PorterDuff
import android.os.Bundle import android.os.Bundle
@ -32,6 +33,7 @@ import code.name.monkey.retromusic.databinding.FragmentBlurPlayerPlaybackControl
import code.name.monkey.retromusic.extensions.getSongInfo import code.name.monkey.retromusic.extensions.getSongInfo
import code.name.monkey.retromusic.extensions.hide import code.name.monkey.retromusic.extensions.hide
import code.name.monkey.retromusic.extensions.show import code.name.monkey.retromusic.extensions.show
import code.name.monkey.retromusic.fragments.MusicSeekSkipTouchListener
import code.name.monkey.retromusic.fragments.base.AbsPlayerControlsFragment import code.name.monkey.retromusic.fragments.base.AbsPlayerControlsFragment
import code.name.monkey.retromusic.fragments.base.goToAlbum import code.name.monkey.retromusic.fragments.base.goToAlbum
import code.name.monkey.retromusic.fragments.base.goToArtist import code.name.monkey.retromusic.fragments.base.goToArtist
@ -178,10 +180,11 @@ class BlurPlaybackControlsFragment :
setUpProgressSlider() setUpProgressSlider()
} }
@SuppressLint("ClickableViewAccessibility")
private fun setUpPrevNext() { private fun setUpPrevNext() {
updatePrevNextColor() updatePrevNextColor()
binding.nextButton.setOnClickListener { MusicPlayerRemote.playNextSong() } binding.nextButton.setOnTouchListener(MusicSeekSkipTouchListener(requireActivity(), true))
binding.previousButton.setOnClickListener { MusicPlayerRemote.back() } binding.previousButton.setOnTouchListener(MusicSeekSkipTouchListener(requireActivity(), false))
} }
private fun updatePrevNextColor() { private fun updatePrevNextColor() {

View file

@ -15,6 +15,7 @@
package code.name.monkey.retromusic.fragments.player.card package code.name.monkey.retromusic.fragments.player.card
import android.animation.ObjectAnimator import android.animation.ObjectAnimator
import android.annotation.SuppressLint
import android.graphics.PorterDuff import android.graphics.PorterDuff
import android.os.Bundle import android.os.Bundle
import android.view.View import android.view.View
@ -31,6 +32,7 @@ import code.name.monkey.retromusic.extensions.getSongInfo
import code.name.monkey.retromusic.extensions.hide import code.name.monkey.retromusic.extensions.hide
import code.name.monkey.retromusic.extensions.ripAlpha import code.name.monkey.retromusic.extensions.ripAlpha
import code.name.monkey.retromusic.extensions.show import code.name.monkey.retromusic.extensions.show
import code.name.monkey.retromusic.fragments.MusicSeekSkipTouchListener
import code.name.monkey.retromusic.fragments.base.AbsPlayerControlsFragment import code.name.monkey.retromusic.fragments.base.AbsPlayerControlsFragment
import code.name.monkey.retromusic.fragments.base.goToAlbum import code.name.monkey.retromusic.fragments.base.goToAlbum
import code.name.monkey.retromusic.fragments.base.goToArtist import code.name.monkey.retromusic.fragments.base.goToArtist
@ -186,10 +188,11 @@ class CardPlaybackControlsFragment :
setUpProgressSlider() setUpProgressSlider()
} }
@SuppressLint("ClickableViewAccessibility")
private fun setUpPrevNext() { private fun setUpPrevNext() {
updatePrevNextColor() updatePrevNextColor()
binding.mediaButton.nextButton.setOnClickListener { MusicPlayerRemote.playNextSong() } binding.mediaButton.nextButton.setOnTouchListener(MusicSeekSkipTouchListener(requireActivity(), true))
binding.mediaButton.previousButton.setOnClickListener { MusicPlayerRemote.back() } binding.mediaButton.previousButton.setOnTouchListener(MusicSeekSkipTouchListener(requireActivity(), false))
} }
private fun updatePrevNextColor() { private fun updatePrevNextColor() {

View file

@ -15,6 +15,7 @@
package code.name.monkey.retromusic.fragments.player.cardblur package code.name.monkey.retromusic.fragments.player.cardblur
import android.animation.ObjectAnimator import android.animation.ObjectAnimator
import android.annotation.SuppressLint
import android.graphics.Color import android.graphics.Color
import android.graphics.PorterDuff import android.graphics.PorterDuff
import android.os.Bundle import android.os.Bundle
@ -30,6 +31,7 @@ import code.name.monkey.retromusic.extensions.applyColor
import code.name.monkey.retromusic.extensions.getSongInfo import code.name.monkey.retromusic.extensions.getSongInfo
import code.name.monkey.retromusic.extensions.hide import code.name.monkey.retromusic.extensions.hide
import code.name.monkey.retromusic.extensions.show import code.name.monkey.retromusic.extensions.show
import code.name.monkey.retromusic.fragments.MusicSeekSkipTouchListener
import code.name.monkey.retromusic.fragments.base.AbsPlayerControlsFragment import code.name.monkey.retromusic.fragments.base.AbsPlayerControlsFragment
import code.name.monkey.retromusic.helper.MusicPlayerRemote import code.name.monkey.retromusic.helper.MusicPlayerRemote
import code.name.monkey.retromusic.helper.MusicProgressViewUpdateHelper import code.name.monkey.retromusic.helper.MusicProgressViewUpdateHelper
@ -147,10 +149,21 @@ class CardBlurPlaybackControlsFragment :
setUpProgressSlider() setUpProgressSlider()
} }
@SuppressLint("ClickableViewAccessibility")
private fun setUpPrevNext() { private fun setUpPrevNext() {
updatePrevNextColor() updatePrevNextColor()
binding.mediaButton.nextButton.setOnClickListener { MusicPlayerRemote.playNextSong() } binding.mediaButton.nextButton.setOnTouchListener(
binding.mediaButton.previousButton.setOnClickListener { MusicPlayerRemote.back() } MusicSeekSkipTouchListener(
requireActivity(),
true
)
)
binding.mediaButton.previousButton.setOnTouchListener(
MusicSeekSkipTouchListener(
requireActivity(),
false
)
)
} }
private fun updatePrevNextColor() { private fun updatePrevNextColor() {

View file

@ -15,6 +15,7 @@
package code.name.monkey.retromusic.fragments.player.circle package code.name.monkey.retromusic.fragments.player.circle
import android.animation.ObjectAnimator import android.animation.ObjectAnimator
import android.annotation.SuppressLint
import android.content.Context import android.content.Context
import android.graphics.Color import android.graphics.Color
import android.graphics.PorterDuff import android.graphics.PorterDuff
@ -34,6 +35,7 @@ import code.name.monkey.appthemehelper.util.*
import code.name.monkey.retromusic.R import code.name.monkey.retromusic.R
import code.name.monkey.retromusic.databinding.FragmentCirclePlayerBinding import code.name.monkey.retromusic.databinding.FragmentCirclePlayerBinding
import code.name.monkey.retromusic.extensions.* import code.name.monkey.retromusic.extensions.*
import code.name.monkey.retromusic.fragments.MusicSeekSkipTouchListener
import code.name.monkey.retromusic.fragments.base.AbsPlayerControlsFragment import code.name.monkey.retromusic.fragments.base.AbsPlayerControlsFragment
import code.name.monkey.retromusic.fragments.base.AbsPlayerFragment import code.name.monkey.retromusic.fragments.base.AbsPlayerFragment
import code.name.monkey.retromusic.fragments.base.goToAlbum import code.name.monkey.retromusic.fragments.base.goToAlbum
@ -132,10 +134,11 @@ class CirclePlayerFragment : AbsPlayerFragment(R.layout.fragment_circle_player),
) )
} }
@SuppressLint("ClickableViewAccessibility")
private fun setUpPrevNext() { private fun setUpPrevNext() {
updatePrevNextColor() updatePrevNextColor()
binding.nextButton.setOnClickListener { MusicPlayerRemote.playNextSong() } binding.nextButton.setOnTouchListener(MusicSeekSkipTouchListener(requireActivity(), true))
binding.previousButton.setOnClickListener { MusicPlayerRemote.back() } binding.previousButton.setOnTouchListener(MusicSeekSkipTouchListener(requireActivity(), false))
} }
private fun updatePrevNextColor() { private fun updatePrevNextColor() {

View file

@ -39,6 +39,7 @@ import code.name.monkey.retromusic.extensions.getSongInfo
import code.name.monkey.retromusic.extensions.hide import code.name.monkey.retromusic.extensions.hide
import code.name.monkey.retromusic.extensions.show import code.name.monkey.retromusic.extensions.show
import code.name.monkey.retromusic.extensions.surfaceColor import code.name.monkey.retromusic.extensions.surfaceColor
import code.name.monkey.retromusic.fragments.MusicSeekSkipTouchListener
import code.name.monkey.retromusic.fragments.base.AbsPlayerControlsFragment import code.name.monkey.retromusic.fragments.base.AbsPlayerControlsFragment
import code.name.monkey.retromusic.fragments.base.AbsPlayerFragment import code.name.monkey.retromusic.fragments.base.AbsPlayerFragment
import code.name.monkey.retromusic.fragments.base.goToAlbum import code.name.monkey.retromusic.fragments.base.goToAlbum
@ -455,10 +456,21 @@ class ClassicPlayerFragment : AbsPlayerFragment(R.layout.fragment_classic_player
setUpProgressSlider() setUpProgressSlider()
} }
@SuppressLint("ClickableViewAccessibility")
private fun setUpPrevNext() { private fun setUpPrevNext() {
updatePrevNextColor() updatePrevNextColor()
binding.playerControlsContainer.nextButton.setOnClickListener { MusicPlayerRemote.playNextSong() } binding.playerControlsContainer.nextButton.setOnTouchListener(
binding.playerControlsContainer.previousButton.setOnClickListener { MusicPlayerRemote.back() } MusicSeekSkipTouchListener(
requireActivity(),
true
)
)
binding.playerControlsContainer.previousButton.setOnTouchListener(
MusicSeekSkipTouchListener(
requireActivity(),
false
)
)
} }
private fun updatePrevNextColor() { private fun updatePrevNextColor() {

View file

@ -16,6 +16,7 @@ package code.name.monkey.retromusic.fragments.player.color
import android.animation.Animator import android.animation.Animator
import android.animation.ObjectAnimator import android.animation.ObjectAnimator
import android.annotation.SuppressLint
import android.graphics.Color import android.graphics.Color
import android.graphics.PorterDuff import android.graphics.PorterDuff
import android.os.Bundle import android.os.Bundle
@ -35,6 +36,7 @@ import code.name.monkey.retromusic.extensions.applyColor
import code.name.monkey.retromusic.extensions.getSongInfo import code.name.monkey.retromusic.extensions.getSongInfo
import code.name.monkey.retromusic.extensions.hide import code.name.monkey.retromusic.extensions.hide
import code.name.monkey.retromusic.extensions.show import code.name.monkey.retromusic.extensions.show
import code.name.monkey.retromusic.fragments.MusicSeekSkipTouchListener
import code.name.monkey.retromusic.fragments.base.AbsPlayerControlsFragment import code.name.monkey.retromusic.fragments.base.AbsPlayerControlsFragment
import code.name.monkey.retromusic.fragments.base.goToAlbum import code.name.monkey.retromusic.fragments.base.goToAlbum
import code.name.monkey.retromusic.fragments.base.goToArtist import code.name.monkey.retromusic.fragments.base.goToArtist
@ -173,10 +175,11 @@ class ColorPlaybackControlsFragment :
setUpProgressSlider() setUpProgressSlider()
} }
@SuppressLint("ClickableViewAccessibility")
private fun setUpPrevNext() { private fun setUpPrevNext() {
updatePrevNextColor() updatePrevNextColor()
binding.nextButton.setOnClickListener { MusicPlayerRemote.playNextSong() } binding.nextButton.setOnTouchListener(MusicSeekSkipTouchListener(requireActivity(), true))
binding.previousButton.setOnClickListener { MusicPlayerRemote.back() } binding.previousButton.setOnTouchListener(MusicSeekSkipTouchListener(requireActivity(), false))
} }
private fun updatePrevNextColor() { private fun updatePrevNextColor() {

View file

@ -15,6 +15,7 @@
package code.name.monkey.retromusic.fragments.player.fit package code.name.monkey.retromusic.fragments.player.fit
import android.animation.ObjectAnimator import android.animation.ObjectAnimator
import android.annotation.SuppressLint
import android.graphics.PorterDuff import android.graphics.PorterDuff
import android.os.Bundle import android.os.Bundle
import android.view.View import android.view.View
@ -29,6 +30,7 @@ import code.name.monkey.appthemehelper.util.TintHelper
import code.name.monkey.retromusic.R import code.name.monkey.retromusic.R
import code.name.monkey.retromusic.databinding.FragmentFitPlaybackControlsBinding import code.name.monkey.retromusic.databinding.FragmentFitPlaybackControlsBinding
import code.name.monkey.retromusic.extensions.* import code.name.monkey.retromusic.extensions.*
import code.name.monkey.retromusic.fragments.MusicSeekSkipTouchListener
import code.name.monkey.retromusic.fragments.base.AbsPlayerControlsFragment import code.name.monkey.retromusic.fragments.base.AbsPlayerControlsFragment
import code.name.monkey.retromusic.fragments.base.goToAlbum import code.name.monkey.retromusic.fragments.base.goToAlbum
import code.name.monkey.retromusic.fragments.base.goToArtist import code.name.monkey.retromusic.fragments.base.goToArtist
@ -182,10 +184,11 @@ class FitPlaybackControlsFragment :
setUpProgressSlider() setUpProgressSlider()
} }
@SuppressLint("ClickableViewAccessibility")
private fun setUpPrevNext() { private fun setUpPrevNext() {
updatePrevNextColor() updatePrevNextColor()
binding.nextButton.setOnClickListener { MusicPlayerRemote.playNextSong() } binding.nextButton.setOnTouchListener(MusicSeekSkipTouchListener(requireActivity(), true))
binding.previousButton.setOnClickListener { MusicPlayerRemote.back() } binding.previousButton.setOnTouchListener(MusicSeekSkipTouchListener(requireActivity(), false))
} }
private fun updatePrevNextColor() { private fun updatePrevNextColor() {

View file

@ -15,6 +15,7 @@
package code.name.monkey.retromusic.fragments.player.full package code.name.monkey.retromusic.fragments.player.full
import android.animation.ObjectAnimator import android.animation.ObjectAnimator
import android.annotation.SuppressLint
import android.content.Intent import android.content.Intent
import android.content.res.ColorStateList import android.content.res.ColorStateList
import android.graphics.Color import android.graphics.Color
@ -40,6 +41,7 @@ import code.name.monkey.retromusic.extensions.getSongInfo
import code.name.monkey.retromusic.extensions.hide import code.name.monkey.retromusic.extensions.hide
import code.name.monkey.retromusic.extensions.show import code.name.monkey.retromusic.extensions.show
import code.name.monkey.retromusic.fragments.LibraryViewModel import code.name.monkey.retromusic.fragments.LibraryViewModel
import code.name.monkey.retromusic.fragments.MusicSeekSkipTouchListener
import code.name.monkey.retromusic.fragments.ReloadType import code.name.monkey.retromusic.fragments.ReloadType
import code.name.monkey.retromusic.fragments.base.AbsPlayerControlsFragment import code.name.monkey.retromusic.fragments.base.AbsPlayerControlsFragment
import code.name.monkey.retromusic.fragments.base.goToAlbum import code.name.monkey.retromusic.fragments.base.goToAlbum
@ -214,10 +216,11 @@ class FullPlaybackControlsFragment :
return (parentFragment as FullPlayerFragment).onMenuItemClick(item!!) return (parentFragment as FullPlayerFragment).onMenuItemClick(item!!)
} }
@SuppressLint("ClickableViewAccessibility")
private fun setUpPrevNext() { private fun setUpPrevNext() {
updatePrevNextColor() updatePrevNextColor()
binding.nextButton.setOnClickListener { MusicPlayerRemote.playNextSong() } binding.nextButton.setOnTouchListener(MusicSeekSkipTouchListener(requireActivity(), true))
binding.previousButton.setOnClickListener { MusicPlayerRemote.back() } binding.previousButton.setOnTouchListener(MusicSeekSkipTouchListener(requireActivity(), false))
} }
private fun updatePrevNextColor() { private fun updatePrevNextColor() {

View file

@ -41,6 +41,7 @@ import code.name.monkey.retromusic.RetroBottomSheetBehavior
import code.name.monkey.retromusic.adapter.song.PlayingQueueAdapter import code.name.monkey.retromusic.adapter.song.PlayingQueueAdapter
import code.name.monkey.retromusic.databinding.FragmentGradientPlayerBinding import code.name.monkey.retromusic.databinding.FragmentGradientPlayerBinding
import code.name.monkey.retromusic.extensions.* import code.name.monkey.retromusic.extensions.*
import code.name.monkey.retromusic.fragments.MusicSeekSkipTouchListener
import code.name.monkey.retromusic.fragments.base.AbsPlayerControlsFragment import code.name.monkey.retromusic.fragments.base.AbsPlayerControlsFragment
import code.name.monkey.retromusic.fragments.base.AbsPlayerFragment import code.name.monkey.retromusic.fragments.base.AbsPlayerFragment
import code.name.monkey.retromusic.fragments.base.goToAlbum import code.name.monkey.retromusic.fragments.base.goToAlbum
@ -386,10 +387,11 @@ class GradientPlayerFragment : AbsPlayerFragment(R.layout.fragment_gradient_play
) )
} }
@SuppressLint("ClickableViewAccessibility")
private fun setUpPrevNext() { private fun setUpPrevNext() {
updatePrevNextColor() updatePrevNextColor()
binding.playbackControlsFragment.nextButton.setOnClickListener { MusicPlayerRemote.playNextSong() } binding.playbackControlsFragment.nextButton.setOnTouchListener(MusicSeekSkipTouchListener(requireActivity(), true))
binding.playbackControlsFragment.previousButton.setOnClickListener { MusicPlayerRemote.back() } binding.playbackControlsFragment.previousButton.setOnTouchListener(MusicSeekSkipTouchListener(requireActivity(), false))
} }
private fun updatePrevNextColor() { private fun updatePrevNextColor() {

View file

@ -15,6 +15,7 @@
package code.name.monkey.retromusic.fragments.player.lockscreen package code.name.monkey.retromusic.fragments.player.lockscreen
import android.animation.ObjectAnimator import android.animation.ObjectAnimator
import android.annotation.SuppressLint
import android.graphics.PorterDuff import android.graphics.PorterDuff
import android.os.Bundle import android.os.Bundle
import android.view.View import android.view.View
@ -30,6 +31,7 @@ import code.name.monkey.retromusic.databinding.FragmentLockScreenPlaybackControl
import code.name.monkey.retromusic.extensions.applyColor import code.name.monkey.retromusic.extensions.applyColor
import code.name.monkey.retromusic.extensions.ripAlpha import code.name.monkey.retromusic.extensions.ripAlpha
import code.name.monkey.retromusic.extensions.textColorSecondary import code.name.monkey.retromusic.extensions.textColorSecondary
import code.name.monkey.retromusic.fragments.MusicSeekSkipTouchListener
import code.name.monkey.retromusic.fragments.base.AbsPlayerControlsFragment import code.name.monkey.retromusic.fragments.base.AbsPlayerControlsFragment
import code.name.monkey.retromusic.helper.MusicPlayerRemote import code.name.monkey.retromusic.helper.MusicPlayerRemote
import code.name.monkey.retromusic.helper.MusicProgressViewUpdateHelper import code.name.monkey.retromusic.helper.MusicProgressViewUpdateHelper
@ -165,10 +167,11 @@ class LockScreenControlsFragment :
setUpRepeatButton() setUpRepeatButton()
} }
@SuppressLint("ClickableViewAccessibility")
private fun setUpPrevNext() { private fun setUpPrevNext() {
updatePrevNextColor() updatePrevNextColor()
binding.nextButton.setOnClickListener { MusicPlayerRemote.playNextSong() } binding.nextButton.setOnTouchListener(MusicSeekSkipTouchListener(requireActivity(), true))
binding.previousButton.setOnClickListener { MusicPlayerRemote.back() } binding.previousButton.setOnTouchListener(MusicSeekSkipTouchListener(requireActivity(), false))
} }
private fun updatePrevNextColor() { private fun updatePrevNextColor() {

View file

@ -15,6 +15,7 @@
package code.name.monkey.retromusic.fragments.player.material package code.name.monkey.retromusic.fragments.player.material
import android.animation.ObjectAnimator import android.animation.ObjectAnimator
import android.annotation.SuppressLint
import android.graphics.PorterDuff import android.graphics.PorterDuff
import android.os.Bundle import android.os.Bundle
import android.view.View import android.view.View
@ -26,6 +27,7 @@ import code.name.monkey.appthemehelper.util.MaterialValueHelper
import code.name.monkey.retromusic.R import code.name.monkey.retromusic.R
import code.name.monkey.retromusic.databinding.FragmentMaterialPlaybackControlsBinding import code.name.monkey.retromusic.databinding.FragmentMaterialPlaybackControlsBinding
import code.name.monkey.retromusic.extensions.* import code.name.monkey.retromusic.extensions.*
import code.name.monkey.retromusic.fragments.MusicSeekSkipTouchListener
import code.name.monkey.retromusic.fragments.base.AbsPlayerControlsFragment import code.name.monkey.retromusic.fragments.base.AbsPlayerControlsFragment
import code.name.monkey.retromusic.fragments.base.goToAlbum import code.name.monkey.retromusic.fragments.base.goToAlbum
import code.name.monkey.retromusic.fragments.base.goToArtist import code.name.monkey.retromusic.fragments.base.goToArtist
@ -183,10 +185,11 @@ class MaterialControlsFragment :
setUpProgressSlider() setUpProgressSlider()
} }
@SuppressLint("ClickableViewAccessibility")
private fun setUpPrevNext() { private fun setUpPrevNext() {
updatePrevNextColor() updatePrevNextColor()
binding.nextButton.setOnClickListener { MusicPlayerRemote.playNextSong() } binding.nextButton.setOnTouchListener(MusicSeekSkipTouchListener(requireActivity(), true))
binding.previousButton.setOnClickListener { MusicPlayerRemote.back() } binding.previousButton.setOnTouchListener(MusicSeekSkipTouchListener(requireActivity(), false))
} }
private fun updatePrevNextColor() { private fun updatePrevNextColor() {

View file

@ -15,6 +15,7 @@
package code.name.monkey.retromusic.fragments.player.normal package code.name.monkey.retromusic.fragments.player.normal
import android.animation.ObjectAnimator import android.animation.ObjectAnimator
import android.annotation.SuppressLint
import android.graphics.PorterDuff import android.graphics.PorterDuff
import android.os.Bundle import android.os.Bundle
import android.view.View import android.view.View
@ -29,6 +30,7 @@ import code.name.monkey.appthemehelper.util.TintHelper
import code.name.monkey.retromusic.R import code.name.monkey.retromusic.R
import code.name.monkey.retromusic.databinding.FragmentPlayerPlaybackControlsBinding import code.name.monkey.retromusic.databinding.FragmentPlayerPlaybackControlsBinding
import code.name.monkey.retromusic.extensions.* import code.name.monkey.retromusic.extensions.*
import code.name.monkey.retromusic.fragments.MusicSeekSkipTouchListener
import code.name.monkey.retromusic.fragments.base.AbsPlayerControlsFragment import code.name.monkey.retromusic.fragments.base.AbsPlayerControlsFragment
import code.name.monkey.retromusic.fragments.base.goToAlbum import code.name.monkey.retromusic.fragments.base.goToAlbum
import code.name.monkey.retromusic.fragments.base.goToArtist import code.name.monkey.retromusic.fragments.base.goToArtist
@ -180,10 +182,11 @@ class PlayerPlaybackControlsFragment :
setUpProgressSlider() setUpProgressSlider()
} }
@SuppressLint("ClickableViewAccessibility")
private fun setUpPrevNext() { private fun setUpPrevNext() {
updatePrevNextColor() updatePrevNextColor()
binding.nextButton.setOnClickListener { MusicPlayerRemote.playNextSong() } binding.nextButton.setOnTouchListener(MusicSeekSkipTouchListener(requireActivity(), true))
binding.previousButton.setOnClickListener { MusicPlayerRemote.back() } binding.previousButton.setOnTouchListener(MusicSeekSkipTouchListener(requireActivity(), false))
} }
private fun updatePrevNextColor() { private fun updatePrevNextColor() {

View file

@ -15,6 +15,7 @@
package code.name.monkey.retromusic.fragments.player.peak package code.name.monkey.retromusic.fragments.player.peak
import android.animation.ObjectAnimator import android.animation.ObjectAnimator
import android.annotation.SuppressLint
import android.graphics.Color import android.graphics.Color
import android.graphics.PorterDuff import android.graphics.PorterDuff
import android.os.Bundle import android.os.Bundle
@ -28,6 +29,7 @@ import code.name.monkey.appthemehelper.util.TintHelper
import code.name.monkey.retromusic.R import code.name.monkey.retromusic.R
import code.name.monkey.retromusic.databinding.FragmentPeakControlPlayerBinding import code.name.monkey.retromusic.databinding.FragmentPeakControlPlayerBinding
import code.name.monkey.retromusic.extensions.applyColor import code.name.monkey.retromusic.extensions.applyColor
import code.name.monkey.retromusic.fragments.MusicSeekSkipTouchListener
import code.name.monkey.retromusic.fragments.base.AbsPlayerControlsFragment import code.name.monkey.retromusic.fragments.base.AbsPlayerControlsFragment
import code.name.monkey.retromusic.helper.MusicPlayerRemote import code.name.monkey.retromusic.helper.MusicPlayerRemote
import code.name.monkey.retromusic.helper.MusicProgressViewUpdateHelper import code.name.monkey.retromusic.helper.MusicProgressViewUpdateHelper
@ -168,10 +170,11 @@ class PeakPlayerControlFragment : AbsPlayerControlsFragment(R.layout.fragment_pe
binding.playPauseButton.setOnClickListener(PlayPauseButtonOnClickHandler()) binding.playPauseButton.setOnClickListener(PlayPauseButtonOnClickHandler())
} }
@SuppressLint("ClickableViewAccessibility")
private fun setUpPrevNext() { private fun setUpPrevNext() {
updatePrevNextColor() updatePrevNextColor()
binding.nextButton.setOnClickListener { MusicPlayerRemote.playNextSong() } binding.nextButton.setOnTouchListener(MusicSeekSkipTouchListener(requireActivity(), true))
binding.previousButton.setOnClickListener { MusicPlayerRemote.back() } binding.previousButton.setOnTouchListener(MusicSeekSkipTouchListener(requireActivity(), false))
} }
private fun updatePrevNextColor() { private fun updatePrevNextColor() {

View file

@ -15,6 +15,7 @@
package code.name.monkey.retromusic.fragments.player.plain package code.name.monkey.retromusic.fragments.player.plain
import android.animation.ObjectAnimator import android.animation.ObjectAnimator
import android.annotation.SuppressLint
import android.graphics.PorterDuff import android.graphics.PorterDuff
import android.os.Bundle import android.os.Bundle
import android.view.View import android.view.View
@ -33,6 +34,7 @@ import code.name.monkey.retromusic.extensions.applyColor
import code.name.monkey.retromusic.extensions.getSongInfo import code.name.monkey.retromusic.extensions.getSongInfo
import code.name.monkey.retromusic.extensions.hide import code.name.monkey.retromusic.extensions.hide
import code.name.monkey.retromusic.extensions.show import code.name.monkey.retromusic.extensions.show
import code.name.monkey.retromusic.fragments.MusicSeekSkipTouchListener
import code.name.monkey.retromusic.fragments.base.AbsPlayerControlsFragment import code.name.monkey.retromusic.fragments.base.AbsPlayerControlsFragment
import code.name.monkey.retromusic.helper.MusicPlayerRemote import code.name.monkey.retromusic.helper.MusicPlayerRemote
import code.name.monkey.retromusic.helper.MusicProgressViewUpdateHelper import code.name.monkey.retromusic.helper.MusicProgressViewUpdateHelper
@ -131,10 +133,11 @@ class PlainPlaybackControlsFragment :
setUpProgressSlider() setUpProgressSlider()
} }
@SuppressLint("ClickableViewAccessibility")
private fun setUpPrevNext() { private fun setUpPrevNext() {
updatePrevNextColor() updatePrevNextColor()
binding.nextButton.setOnClickListener { MusicPlayerRemote.playNextSong() } binding.nextButton.setOnTouchListener(MusicSeekSkipTouchListener(requireActivity(), true))
binding.previousButton.setOnClickListener { MusicPlayerRemote.back() } binding.previousButton.setOnTouchListener(MusicSeekSkipTouchListener(requireActivity(), false))
} }
private fun updatePrevNextColor() { private fun updatePrevNextColor() {

View file

@ -14,6 +14,7 @@
*/ */
package code.name.monkey.retromusic.fragments.player.simple package code.name.monkey.retromusic.fragments.player.simple
import android.annotation.SuppressLint
import android.graphics.PorterDuff import android.graphics.PorterDuff
import android.os.Bundle import android.os.Bundle
import android.view.View import android.view.View
@ -28,6 +29,7 @@ import code.name.monkey.retromusic.databinding.FragmentSimpleControlsFragmentBin
import code.name.monkey.retromusic.extensions.getSongInfo import code.name.monkey.retromusic.extensions.getSongInfo
import code.name.monkey.retromusic.extensions.hide import code.name.monkey.retromusic.extensions.hide
import code.name.monkey.retromusic.extensions.show import code.name.monkey.retromusic.extensions.show
import code.name.monkey.retromusic.fragments.MusicSeekSkipTouchListener
import code.name.monkey.retromusic.fragments.base.AbsPlayerControlsFragment import code.name.monkey.retromusic.fragments.base.AbsPlayerControlsFragment
import code.name.monkey.retromusic.fragments.base.goToAlbum import code.name.monkey.retromusic.fragments.base.goToAlbum
import code.name.monkey.retromusic.fragments.base.goToArtist import code.name.monkey.retromusic.fragments.base.goToArtist
@ -120,10 +122,11 @@ class SimplePlaybackControlsFragment :
setUpProgressSlider() setUpProgressSlider()
} }
@SuppressLint("ClickableViewAccessibility")
private fun setUpPrevNext() { private fun setUpPrevNext() {
updatePrevNextColor() updatePrevNextColor()
binding.nextButton.setOnClickListener { MusicPlayerRemote.playNextSong() } binding.nextButton.setOnTouchListener(MusicSeekSkipTouchListener(requireActivity(), true))
binding.previousButton.setOnClickListener { MusicPlayerRemote.back() } binding.previousButton.setOnTouchListener(MusicSeekSkipTouchListener(requireActivity(), false))
} }
private fun updatePrevNextColor() { private fun updatePrevNextColor() {