diff --git a/app/src/main/java/code/name/monkey/retromusic/activities/base/AbsThemeActivity.kt b/app/src/main/java/code/name/monkey/retromusic/activities/base/AbsThemeActivity.kt index edb70cb54..c5e02af89 100644 --- a/app/src/main/java/code/name/monkey/retromusic/activities/base/AbsThemeActivity.kt +++ b/app/src/main/java/code/name/monkey/retromusic/activities/base/AbsThemeActivity.kt @@ -58,7 +58,6 @@ abstract class AbsThemeActivity : ATHToolbarActivity(), Runnable { com.google.android.material.R.style.ThemeOverlay_Material3_DynamicColors_DayNight ) } - setTheme(R.style.FontThemeOverlay) } override fun onWindowFocusChanged(hasFocus: Boolean) { diff --git a/app/src/main/java/code/name/monkey/retromusic/fragments/MusicSeekSkipTouchListener.kt b/app/src/main/java/code/name/monkey/retromusic/fragments/MusicSeekSkipTouchListener.kt new file mode 100644 index 000000000..42332ded1 --- /dev/null +++ b/app/src/main/java/code/name/monkey/retromusic/fragments/MusicSeekSkipTouchListener.kt @@ -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) + } +} \ No newline at end of file diff --git a/app/src/main/java/code/name/monkey/retromusic/fragments/albums/AlbumDetailsFragment.kt b/app/src/main/java/code/name/monkey/retromusic/fragments/albums/AlbumDetailsFragment.kt index fba8e6edf..cbd858619 100644 --- a/app/src/main/java/code/name/monkey/retromusic/fragments/albums/AlbumDetailsFragment.kt +++ b/app/src/main/java/code/name/monkey/retromusic/fragments/albums/AlbumDetailsFragment.kt @@ -107,7 +107,7 @@ class AlbumDetailsFragment : AbsMainActivityFragment(R.layout.fragment_album_det sharedElementEnterTransition = MaterialContainerTransform().apply { drawingViewId = R.id.fragment_container scrimColor = Color.TRANSPARENT - setAllContainerColors(requireContext().resolveColor(R.attr.colorSurface)) + setAllContainerColors(surfaceColor()) setPathMotion(MaterialArcMotion()) } } diff --git a/app/src/main/java/code/name/monkey/retromusic/fragments/artists/AbsArtistDetailsFragment.kt b/app/src/main/java/code/name/monkey/retromusic/fragments/artists/AbsArtistDetailsFragment.kt index 750e79133..be399aaf0 100644 --- a/app/src/main/java/code/name/monkey/retromusic/fragments/artists/AbsArtistDetailsFragment.kt +++ b/app/src/main/java/code/name/monkey/retromusic/fragments/artists/AbsArtistDetailsFragment.kt @@ -75,7 +75,7 @@ abstract class AbsArtistDetailsFragment : AbsMainActivityFragment(R.layout.fragm sharedElementEnterTransition = MaterialContainerTransform().apply { drawingViewId = R.id.fragment_container scrimColor = Color.TRANSPARENT - setAllContainerColors(requireContext().resolveColor(R.attr.colorSurface)) + setAllContainerColors(surfaceColor()) } } diff --git a/app/src/main/java/code/name/monkey/retromusic/fragments/player/adaptive/AdaptivePlaybackControlsFragment.kt b/app/src/main/java/code/name/monkey/retromusic/fragments/player/adaptive/AdaptivePlaybackControlsFragment.kt index 55891b965..6524ccf7a 100644 --- a/app/src/main/java/code/name/monkey/retromusic/fragments/player/adaptive/AdaptivePlaybackControlsFragment.kt +++ b/app/src/main/java/code/name/monkey/retromusic/fragments/player/adaptive/AdaptivePlaybackControlsFragment.kt @@ -15,6 +15,7 @@ package code.name.monkey.retromusic.fragments.player.adaptive import android.animation.ObjectAnimator +import android.annotation.SuppressLint import android.graphics.PorterDuff import android.os.Bundle 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.databinding.FragmentAdaptivePlayerPlaybackControlsBinding 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.helper.MusicPlayerRemote import code.name.monkey.retromusic.helper.MusicProgressViewUpdateHelper @@ -182,10 +184,11 @@ class AdaptivePlaybackControlsFragment : setUpProgressSlider() } + @SuppressLint("ClickableViewAccessibility") private fun setUpPrevNext() { updatePrevNextColor() - binding.nextButton.setOnClickListener { MusicPlayerRemote.playNextSong() } - binding.previousButton.setOnClickListener { MusicPlayerRemote.back() } + binding.nextButton.setOnTouchListener(MusicSeekSkipTouchListener(requireActivity(), true)) + binding.previousButton.setOnTouchListener(MusicSeekSkipTouchListener(requireActivity(), false)) } private fun updatePrevNextColor() { diff --git a/app/src/main/java/code/name/monkey/retromusic/fragments/player/blur/BlurPlaybackControlsFragment.kt b/app/src/main/java/code/name/monkey/retromusic/fragments/player/blur/BlurPlaybackControlsFragment.kt index 83dcd1fc0..8906eada8 100644 --- a/app/src/main/java/code/name/monkey/retromusic/fragments/player/blur/BlurPlaybackControlsFragment.kt +++ b/app/src/main/java/code/name/monkey/retromusic/fragments/player/blur/BlurPlaybackControlsFragment.kt @@ -15,6 +15,7 @@ package code.name.monkey.retromusic.fragments.player.blur import android.animation.ObjectAnimator +import android.annotation.SuppressLint import android.graphics.Color import android.graphics.PorterDuff 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.hide 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.goToAlbum import code.name.monkey.retromusic.fragments.base.goToArtist @@ -178,10 +180,11 @@ class BlurPlaybackControlsFragment : setUpProgressSlider() } + @SuppressLint("ClickableViewAccessibility") private fun setUpPrevNext() { updatePrevNextColor() - binding.nextButton.setOnClickListener { MusicPlayerRemote.playNextSong() } - binding.previousButton.setOnClickListener { MusicPlayerRemote.back() } + binding.nextButton.setOnTouchListener(MusicSeekSkipTouchListener(requireActivity(), true)) + binding.previousButton.setOnTouchListener(MusicSeekSkipTouchListener(requireActivity(), false)) } private fun updatePrevNextColor() { diff --git a/app/src/main/java/code/name/monkey/retromusic/fragments/player/card/CardPlaybackControlsFragment.kt b/app/src/main/java/code/name/monkey/retromusic/fragments/player/card/CardPlaybackControlsFragment.kt index f9647e6be..80df1ddb0 100644 --- a/app/src/main/java/code/name/monkey/retromusic/fragments/player/card/CardPlaybackControlsFragment.kt +++ b/app/src/main/java/code/name/monkey/retromusic/fragments/player/card/CardPlaybackControlsFragment.kt @@ -15,6 +15,7 @@ package code.name.monkey.retromusic.fragments.player.card import android.animation.ObjectAnimator +import android.annotation.SuppressLint import android.graphics.PorterDuff import android.os.Bundle 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.ripAlpha 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.goToAlbum import code.name.monkey.retromusic.fragments.base.goToArtist @@ -186,10 +188,11 @@ class CardPlaybackControlsFragment : setUpProgressSlider() } + @SuppressLint("ClickableViewAccessibility") private fun setUpPrevNext() { updatePrevNextColor() - binding.mediaButton.nextButton.setOnClickListener { MusicPlayerRemote.playNextSong() } - binding.mediaButton.previousButton.setOnClickListener { MusicPlayerRemote.back() } + binding.mediaButton.nextButton.setOnTouchListener(MusicSeekSkipTouchListener(requireActivity(), true)) + binding.mediaButton.previousButton.setOnTouchListener(MusicSeekSkipTouchListener(requireActivity(), false)) } private fun updatePrevNextColor() { diff --git a/app/src/main/java/code/name/monkey/retromusic/fragments/player/cardblur/CardBlurPlaybackControlsFragment.kt b/app/src/main/java/code/name/monkey/retromusic/fragments/player/cardblur/CardBlurPlaybackControlsFragment.kt index 753a060ef..1922b287e 100644 --- a/app/src/main/java/code/name/monkey/retromusic/fragments/player/cardblur/CardBlurPlaybackControlsFragment.kt +++ b/app/src/main/java/code/name/monkey/retromusic/fragments/player/cardblur/CardBlurPlaybackControlsFragment.kt @@ -15,6 +15,7 @@ package code.name.monkey.retromusic.fragments.player.cardblur import android.animation.ObjectAnimator +import android.annotation.SuppressLint import android.graphics.Color import android.graphics.PorterDuff 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.hide 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.helper.MusicPlayerRemote import code.name.monkey.retromusic.helper.MusicProgressViewUpdateHelper @@ -147,10 +149,21 @@ class CardBlurPlaybackControlsFragment : setUpProgressSlider() } + @SuppressLint("ClickableViewAccessibility") private fun setUpPrevNext() { updatePrevNextColor() - binding.mediaButton.nextButton.setOnClickListener { MusicPlayerRemote.playNextSong() } - binding.mediaButton.previousButton.setOnClickListener { MusicPlayerRemote.back() } + binding.mediaButton.nextButton.setOnTouchListener( + MusicSeekSkipTouchListener( + requireActivity(), + true + ) + ) + binding.mediaButton.previousButton.setOnTouchListener( + MusicSeekSkipTouchListener( + requireActivity(), + false + ) + ) } private fun updatePrevNextColor() { diff --git a/app/src/main/java/code/name/monkey/retromusic/fragments/player/circle/CirclePlayerFragment.kt b/app/src/main/java/code/name/monkey/retromusic/fragments/player/circle/CirclePlayerFragment.kt index f703c13a8..4f04959bd 100644 --- a/app/src/main/java/code/name/monkey/retromusic/fragments/player/circle/CirclePlayerFragment.kt +++ b/app/src/main/java/code/name/monkey/retromusic/fragments/player/circle/CirclePlayerFragment.kt @@ -15,6 +15,7 @@ package code.name.monkey.retromusic.fragments.player.circle import android.animation.ObjectAnimator +import android.annotation.SuppressLint import android.content.Context import android.graphics.Color 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.databinding.FragmentCirclePlayerBinding 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.AbsPlayerFragment 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() { updatePrevNextColor() - binding.nextButton.setOnClickListener { MusicPlayerRemote.playNextSong() } - binding.previousButton.setOnClickListener { MusicPlayerRemote.back() } + binding.nextButton.setOnTouchListener(MusicSeekSkipTouchListener(requireActivity(), true)) + binding.previousButton.setOnTouchListener(MusicSeekSkipTouchListener(requireActivity(), false)) } private fun updatePrevNextColor() { diff --git a/app/src/main/java/code/name/monkey/retromusic/fragments/player/classic/ClassicPlayerFragment.kt b/app/src/main/java/code/name/monkey/retromusic/fragments/player/classic/ClassicPlayerFragment.kt index 83bfc1ea9..b02eb427d 100644 --- a/app/src/main/java/code/name/monkey/retromusic/fragments/player/classic/ClassicPlayerFragment.kt +++ b/app/src/main/java/code/name/monkey/retromusic/fragments/player/classic/ClassicPlayerFragment.kt @@ -39,6 +39,7 @@ import code.name.monkey.retromusic.extensions.getSongInfo import code.name.monkey.retromusic.extensions.hide import code.name.monkey.retromusic.extensions.show 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.AbsPlayerFragment import code.name.monkey.retromusic.fragments.base.goToAlbum @@ -455,10 +456,21 @@ class ClassicPlayerFragment : AbsPlayerFragment(R.layout.fragment_classic_player setUpProgressSlider() } + @SuppressLint("ClickableViewAccessibility") private fun setUpPrevNext() { updatePrevNextColor() - binding.playerControlsContainer.nextButton.setOnClickListener { MusicPlayerRemote.playNextSong() } - binding.playerControlsContainer.previousButton.setOnClickListener { MusicPlayerRemote.back() } + binding.playerControlsContainer.nextButton.setOnTouchListener( + MusicSeekSkipTouchListener( + requireActivity(), + true + ) + ) + binding.playerControlsContainer.previousButton.setOnTouchListener( + MusicSeekSkipTouchListener( + requireActivity(), + false + ) + ) } private fun updatePrevNextColor() { diff --git a/app/src/main/java/code/name/monkey/retromusic/fragments/player/color/ColorPlaybackControlsFragment.kt b/app/src/main/java/code/name/monkey/retromusic/fragments/player/color/ColorPlaybackControlsFragment.kt index 22ffee1ea..4473a436a 100644 --- a/app/src/main/java/code/name/monkey/retromusic/fragments/player/color/ColorPlaybackControlsFragment.kt +++ b/app/src/main/java/code/name/monkey/retromusic/fragments/player/color/ColorPlaybackControlsFragment.kt @@ -16,6 +16,7 @@ package code.name.monkey.retromusic.fragments.player.color import android.animation.Animator import android.animation.ObjectAnimator +import android.annotation.SuppressLint import android.graphics.Color import android.graphics.PorterDuff 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.hide 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.goToAlbum import code.name.monkey.retromusic.fragments.base.goToArtist @@ -173,10 +175,11 @@ class ColorPlaybackControlsFragment : setUpProgressSlider() } + @SuppressLint("ClickableViewAccessibility") private fun setUpPrevNext() { updatePrevNextColor() - binding.nextButton.setOnClickListener { MusicPlayerRemote.playNextSong() } - binding.previousButton.setOnClickListener { MusicPlayerRemote.back() } + binding.nextButton.setOnTouchListener(MusicSeekSkipTouchListener(requireActivity(), true)) + binding.previousButton.setOnTouchListener(MusicSeekSkipTouchListener(requireActivity(), false)) } private fun updatePrevNextColor() { diff --git a/app/src/main/java/code/name/monkey/retromusic/fragments/player/fit/FitPlaybackControlsFragment.kt b/app/src/main/java/code/name/monkey/retromusic/fragments/player/fit/FitPlaybackControlsFragment.kt index e20a3b749..5cac1e50e 100644 --- a/app/src/main/java/code/name/monkey/retromusic/fragments/player/fit/FitPlaybackControlsFragment.kt +++ b/app/src/main/java/code/name/monkey/retromusic/fragments/player/fit/FitPlaybackControlsFragment.kt @@ -15,6 +15,7 @@ package code.name.monkey.retromusic.fragments.player.fit import android.animation.ObjectAnimator +import android.annotation.SuppressLint import android.graphics.PorterDuff import android.os.Bundle 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.databinding.FragmentFitPlaybackControlsBinding 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.goToAlbum import code.name.monkey.retromusic.fragments.base.goToArtist @@ -182,10 +184,11 @@ class FitPlaybackControlsFragment : setUpProgressSlider() } + @SuppressLint("ClickableViewAccessibility") private fun setUpPrevNext() { updatePrevNextColor() - binding.nextButton.setOnClickListener { MusicPlayerRemote.playNextSong() } - binding.previousButton.setOnClickListener { MusicPlayerRemote.back() } + binding.nextButton.setOnTouchListener(MusicSeekSkipTouchListener(requireActivity(), true)) + binding.previousButton.setOnTouchListener(MusicSeekSkipTouchListener(requireActivity(), false)) } private fun updatePrevNextColor() { diff --git a/app/src/main/java/code/name/monkey/retromusic/fragments/player/full/FullPlaybackControlsFragment.kt b/app/src/main/java/code/name/monkey/retromusic/fragments/player/full/FullPlaybackControlsFragment.kt index c7f690b30..e13e73bb7 100644 --- a/app/src/main/java/code/name/monkey/retromusic/fragments/player/full/FullPlaybackControlsFragment.kt +++ b/app/src/main/java/code/name/monkey/retromusic/fragments/player/full/FullPlaybackControlsFragment.kt @@ -15,6 +15,7 @@ package code.name.monkey.retromusic.fragments.player.full import android.animation.ObjectAnimator +import android.annotation.SuppressLint import android.content.Intent import android.content.res.ColorStateList 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.show 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.base.AbsPlayerControlsFragment import code.name.monkey.retromusic.fragments.base.goToAlbum @@ -214,10 +216,11 @@ class FullPlaybackControlsFragment : return (parentFragment as FullPlayerFragment).onMenuItemClick(item!!) } + @SuppressLint("ClickableViewAccessibility") private fun setUpPrevNext() { updatePrevNextColor() - binding.nextButton.setOnClickListener { MusicPlayerRemote.playNextSong() } - binding.previousButton.setOnClickListener { MusicPlayerRemote.back() } + binding.nextButton.setOnTouchListener(MusicSeekSkipTouchListener(requireActivity(), true)) + binding.previousButton.setOnTouchListener(MusicSeekSkipTouchListener(requireActivity(), false)) } private fun updatePrevNextColor() { diff --git a/app/src/main/java/code/name/monkey/retromusic/fragments/player/gradient/GradientPlayerFragment.kt b/app/src/main/java/code/name/monkey/retromusic/fragments/player/gradient/GradientPlayerFragment.kt index 03e42079d..7141f3a50 100644 --- a/app/src/main/java/code/name/monkey/retromusic/fragments/player/gradient/GradientPlayerFragment.kt +++ b/app/src/main/java/code/name/monkey/retromusic/fragments/player/gradient/GradientPlayerFragment.kt @@ -41,6 +41,7 @@ import code.name.monkey.retromusic.RetroBottomSheetBehavior import code.name.monkey.retromusic.adapter.song.PlayingQueueAdapter import code.name.monkey.retromusic.databinding.FragmentGradientPlayerBinding 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.AbsPlayerFragment 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() { updatePrevNextColor() - binding.playbackControlsFragment.nextButton.setOnClickListener { MusicPlayerRemote.playNextSong() } - binding.playbackControlsFragment.previousButton.setOnClickListener { MusicPlayerRemote.back() } + binding.playbackControlsFragment.nextButton.setOnTouchListener(MusicSeekSkipTouchListener(requireActivity(), true)) + binding.playbackControlsFragment.previousButton.setOnTouchListener(MusicSeekSkipTouchListener(requireActivity(), false)) } private fun updatePrevNextColor() { diff --git a/app/src/main/java/code/name/monkey/retromusic/fragments/player/lockscreen/LockScreenControlsFragment.kt b/app/src/main/java/code/name/monkey/retromusic/fragments/player/lockscreen/LockScreenControlsFragment.kt index 9e9df3298..b8577ce0a 100644 --- a/app/src/main/java/code/name/monkey/retromusic/fragments/player/lockscreen/LockScreenControlsFragment.kt +++ b/app/src/main/java/code/name/monkey/retromusic/fragments/player/lockscreen/LockScreenControlsFragment.kt @@ -15,6 +15,7 @@ package code.name.monkey.retromusic.fragments.player.lockscreen import android.animation.ObjectAnimator +import android.annotation.SuppressLint import android.graphics.PorterDuff import android.os.Bundle 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.ripAlpha 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.helper.MusicPlayerRemote import code.name.monkey.retromusic.helper.MusicProgressViewUpdateHelper @@ -165,10 +167,11 @@ class LockScreenControlsFragment : setUpRepeatButton() } + @SuppressLint("ClickableViewAccessibility") private fun setUpPrevNext() { updatePrevNextColor() - binding.nextButton.setOnClickListener { MusicPlayerRemote.playNextSong() } - binding.previousButton.setOnClickListener { MusicPlayerRemote.back() } + binding.nextButton.setOnTouchListener(MusicSeekSkipTouchListener(requireActivity(), true)) + binding.previousButton.setOnTouchListener(MusicSeekSkipTouchListener(requireActivity(), false)) } private fun updatePrevNextColor() { diff --git a/app/src/main/java/code/name/monkey/retromusic/fragments/player/material/MaterialControlsFragment.kt b/app/src/main/java/code/name/monkey/retromusic/fragments/player/material/MaterialControlsFragment.kt index 2be4a5c62..de4101695 100644 --- a/app/src/main/java/code/name/monkey/retromusic/fragments/player/material/MaterialControlsFragment.kt +++ b/app/src/main/java/code/name/monkey/retromusic/fragments/player/material/MaterialControlsFragment.kt @@ -15,6 +15,7 @@ package code.name.monkey.retromusic.fragments.player.material import android.animation.ObjectAnimator +import android.annotation.SuppressLint import android.graphics.PorterDuff import android.os.Bundle 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.databinding.FragmentMaterialPlaybackControlsBinding 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.goToAlbum import code.name.monkey.retromusic.fragments.base.goToArtist @@ -183,10 +185,11 @@ class MaterialControlsFragment : setUpProgressSlider() } + @SuppressLint("ClickableViewAccessibility") private fun setUpPrevNext() { updatePrevNextColor() - binding.nextButton.setOnClickListener { MusicPlayerRemote.playNextSong() } - binding.previousButton.setOnClickListener { MusicPlayerRemote.back() } + binding.nextButton.setOnTouchListener(MusicSeekSkipTouchListener(requireActivity(), true)) + binding.previousButton.setOnTouchListener(MusicSeekSkipTouchListener(requireActivity(), false)) } private fun updatePrevNextColor() { diff --git a/app/src/main/java/code/name/monkey/retromusic/fragments/player/normal/PlayerPlaybackControlsFragment.kt b/app/src/main/java/code/name/monkey/retromusic/fragments/player/normal/PlayerPlaybackControlsFragment.kt index c0306e710..cdb4ed99b 100644 --- a/app/src/main/java/code/name/monkey/retromusic/fragments/player/normal/PlayerPlaybackControlsFragment.kt +++ b/app/src/main/java/code/name/monkey/retromusic/fragments/player/normal/PlayerPlaybackControlsFragment.kt @@ -15,6 +15,7 @@ package code.name.monkey.retromusic.fragments.player.normal import android.animation.ObjectAnimator +import android.annotation.SuppressLint import android.graphics.PorterDuff import android.os.Bundle 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.databinding.FragmentPlayerPlaybackControlsBinding 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.goToAlbum import code.name.monkey.retromusic.fragments.base.goToArtist @@ -180,10 +182,11 @@ class PlayerPlaybackControlsFragment : setUpProgressSlider() } + @SuppressLint("ClickableViewAccessibility") private fun setUpPrevNext() { updatePrevNextColor() - binding.nextButton.setOnClickListener { MusicPlayerRemote.playNextSong() } - binding.previousButton.setOnClickListener { MusicPlayerRemote.back() } + binding.nextButton.setOnTouchListener(MusicSeekSkipTouchListener(requireActivity(), true)) + binding.previousButton.setOnTouchListener(MusicSeekSkipTouchListener(requireActivity(), false)) } private fun updatePrevNextColor() { diff --git a/app/src/main/java/code/name/monkey/retromusic/fragments/player/peak/PeakPlayerControlFragment.kt b/app/src/main/java/code/name/monkey/retromusic/fragments/player/peak/PeakPlayerControlFragment.kt index 6bb06ccde..6ca08fa2b 100644 --- a/app/src/main/java/code/name/monkey/retromusic/fragments/player/peak/PeakPlayerControlFragment.kt +++ b/app/src/main/java/code/name/monkey/retromusic/fragments/player/peak/PeakPlayerControlFragment.kt @@ -15,6 +15,7 @@ package code.name.monkey.retromusic.fragments.player.peak import android.animation.ObjectAnimator +import android.annotation.SuppressLint import android.graphics.Color import android.graphics.PorterDuff 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.databinding.FragmentPeakControlPlayerBinding 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.helper.MusicPlayerRemote import code.name.monkey.retromusic.helper.MusicProgressViewUpdateHelper @@ -168,10 +170,11 @@ class PeakPlayerControlFragment : AbsPlayerControlsFragment(R.layout.fragment_pe binding.playPauseButton.setOnClickListener(PlayPauseButtonOnClickHandler()) } + @SuppressLint("ClickableViewAccessibility") private fun setUpPrevNext() { updatePrevNextColor() - binding.nextButton.setOnClickListener { MusicPlayerRemote.playNextSong() } - binding.previousButton.setOnClickListener { MusicPlayerRemote.back() } + binding.nextButton.setOnTouchListener(MusicSeekSkipTouchListener(requireActivity(), true)) + binding.previousButton.setOnTouchListener(MusicSeekSkipTouchListener(requireActivity(), false)) } private fun updatePrevNextColor() { diff --git a/app/src/main/java/code/name/monkey/retromusic/fragments/player/plain/PlainPlaybackControlsFragment.kt b/app/src/main/java/code/name/monkey/retromusic/fragments/player/plain/PlainPlaybackControlsFragment.kt index f8438b0f4..55eddc1f2 100644 --- a/app/src/main/java/code/name/monkey/retromusic/fragments/player/plain/PlainPlaybackControlsFragment.kt +++ b/app/src/main/java/code/name/monkey/retromusic/fragments/player/plain/PlainPlaybackControlsFragment.kt @@ -15,6 +15,7 @@ package code.name.monkey.retromusic.fragments.player.plain import android.animation.ObjectAnimator +import android.annotation.SuppressLint import android.graphics.PorterDuff import android.os.Bundle 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.hide 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.helper.MusicPlayerRemote import code.name.monkey.retromusic.helper.MusicProgressViewUpdateHelper @@ -131,10 +133,11 @@ class PlainPlaybackControlsFragment : setUpProgressSlider() } + @SuppressLint("ClickableViewAccessibility") private fun setUpPrevNext() { updatePrevNextColor() - binding.nextButton.setOnClickListener { MusicPlayerRemote.playNextSong() } - binding.previousButton.setOnClickListener { MusicPlayerRemote.back() } + binding.nextButton.setOnTouchListener(MusicSeekSkipTouchListener(requireActivity(), true)) + binding.previousButton.setOnTouchListener(MusicSeekSkipTouchListener(requireActivity(), false)) } private fun updatePrevNextColor() { diff --git a/app/src/main/java/code/name/monkey/retromusic/fragments/player/simple/SimplePlaybackControlsFragment.kt b/app/src/main/java/code/name/monkey/retromusic/fragments/player/simple/SimplePlaybackControlsFragment.kt index 5619b42f8..85c1676dd 100644 --- a/app/src/main/java/code/name/monkey/retromusic/fragments/player/simple/SimplePlaybackControlsFragment.kt +++ b/app/src/main/java/code/name/monkey/retromusic/fragments/player/simple/SimplePlaybackControlsFragment.kt @@ -14,6 +14,7 @@ */ package code.name.monkey.retromusic.fragments.player.simple +import android.annotation.SuppressLint import android.graphics.PorterDuff import android.os.Bundle 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.hide 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.goToAlbum import code.name.monkey.retromusic.fragments.base.goToArtist @@ -120,10 +122,11 @@ class SimplePlaybackControlsFragment : setUpProgressSlider() } + @SuppressLint("ClickableViewAccessibility") private fun setUpPrevNext() { updatePrevNextColor() - binding.nextButton.setOnClickListener { MusicPlayerRemote.playNextSong() } - binding.previousButton.setOnClickListener { MusicPlayerRemote.back() } + binding.nextButton.setOnTouchListener(MusicSeekSkipTouchListener(requireActivity(), true)) + binding.previousButton.setOnTouchListener(MusicSeekSkipTouchListener(requireActivity(), false)) } private fun updatePrevNextColor() {