Code cleanup

This commit is contained in:
Prathamesh More 2023-03-20 17:12:23 +05:30
parent 80b0ecb490
commit f6002b0c6c
21 changed files with 86 additions and 110 deletions

View file

@ -34,10 +34,44 @@ import androidx.core.view.isVisible
import androidx.core.view.updateLayoutParams
import androidx.fragment.app.commit
import code.name.monkey.appthemehelper.util.VersionUtils
import code.name.monkey.retromusic.*
import code.name.monkey.retromusic.ADAPTIVE_COLOR_APP
import code.name.monkey.retromusic.ALBUM_COVER_STYLE
import code.name.monkey.retromusic.ALBUM_COVER_TRANSFORM
import code.name.monkey.retromusic.CAROUSEL_EFFECT
import code.name.monkey.retromusic.CIRCLE_PLAY_BUTTON
import code.name.monkey.retromusic.EXTRA_SONG_INFO
import code.name.monkey.retromusic.KEEP_SCREEN_ON
import code.name.monkey.retromusic.LIBRARY_CATEGORIES
import code.name.monkey.retromusic.NOW_PLAYING_SCREEN_ID
import code.name.monkey.retromusic.R
import code.name.monkey.retromusic.SCREEN_ON_LYRICS
import code.name.monkey.retromusic.SWIPE_ANYWHERE_NOW_PLAYING
import code.name.monkey.retromusic.SWIPE_DOWN_DISMISS
import code.name.monkey.retromusic.TAB_TEXT_MODE
import code.name.monkey.retromusic.TOGGLE_ADD_CONTROLS
import code.name.monkey.retromusic.TOGGLE_FULL_SCREEN
import code.name.monkey.retromusic.TOGGLE_VOLUME
import code.name.monkey.retromusic.activities.PermissionActivity
import code.name.monkey.retromusic.databinding.SlidingMusicPanelLayoutBinding
import code.name.monkey.retromusic.extensions.*
import code.name.monkey.retromusic.extensions.currentFragment
import code.name.monkey.retromusic.extensions.darkAccentColor
import code.name.monkey.retromusic.extensions.dip
import code.name.monkey.retromusic.extensions.getBottomInsets
import code.name.monkey.retromusic.extensions.hide
import code.name.monkey.retromusic.extensions.isColorLight
import code.name.monkey.retromusic.extensions.isLandscape
import code.name.monkey.retromusic.extensions.keepScreenOn
import code.name.monkey.retromusic.extensions.maybeSetScreenOn
import code.name.monkey.retromusic.extensions.peekHeightAnimate
import code.name.monkey.retromusic.extensions.setLightNavigationBar
import code.name.monkey.retromusic.extensions.setLightNavigationBarAuto
import code.name.monkey.retromusic.extensions.setLightStatusBar
import code.name.monkey.retromusic.extensions.setLightStatusBarAuto
import code.name.monkey.retromusic.extensions.setNavigationBarColorPreOreo
import code.name.monkey.retromusic.extensions.setTaskDescriptionColor
import code.name.monkey.retromusic.extensions.show
import code.name.monkey.retromusic.extensions.surfaceColor
import code.name.monkey.retromusic.extensions.whichFragment
import code.name.monkey.retromusic.fragments.LibraryViewModel
import code.name.monkey.retromusic.fragments.NowPlayingScreen
import code.name.monkey.retromusic.fragments.NowPlayingScreen.*
@ -69,7 +103,13 @@ import code.name.monkey.retromusic.util.ViewUtil
import code.name.monkey.retromusic.util.logD
import com.google.android.material.bottomnavigation.BottomNavigationView
import com.google.android.material.bottomsheet.BottomSheetBehavior
import com.google.android.material.bottomsheet.BottomSheetBehavior.*
import com.google.android.material.bottomsheet.BottomSheetBehavior.BottomSheetCallback
import com.google.android.material.bottomsheet.BottomSheetBehavior.STATE_COLLAPSED
import com.google.android.material.bottomsheet.BottomSheetBehavior.STATE_DRAGGING
import com.google.android.material.bottomsheet.BottomSheetBehavior.STATE_EXPANDED
import com.google.android.material.bottomsheet.BottomSheetBehavior.STATE_HIDDEN
import com.google.android.material.bottomsheet.BottomSheetBehavior.STATE_SETTLING
import com.google.android.material.bottomsheet.BottomSheetBehavior.from
import org.koin.androidx.viewmodel.ext.android.viewModel
@ -98,6 +138,16 @@ abstract class AbsSlidingMusicPanelActivity : AbsMusicServiceActivity(),
private var navigationBarColorAnimator: ValueAnimator? = null
private val argbEvaluator: ArgbEvaluator = ArgbEvaluator()
private val onBackPressedCallback = object : OnBackPressedCallback(true) {
override fun handleOnBackPressed() {
println("Handle back press ${bottomSheetBehavior.state}")
if (!handleBackPress()) {
remove()
onBackPressedDispatcher.onBackPressed()
}
}
}
private val bottomSheetCallbackList by lazy {
object : BottomSheetCallback() {
@ -114,6 +164,7 @@ abstract class AbsSlidingMusicPanelActivity : AbsMusicServiceActivity(),
}
override fun onStateChanged(bottomSheet: View, newState: Int) {
onBackPressedCallback.isEnabled = newState == STATE_EXPANDED
when (newState) {
STATE_EXPANDED -> {
onPanelExpanded()
@ -172,6 +223,8 @@ abstract class AbsSlidingMusicPanelActivity : AbsMusicServiceActivity(),
}
navigationBarColor = surfaceColor()
onBackPressedDispatcher.addCallback(onBackPressedCallback)
}
private fun setupBottomSheet() {
@ -191,14 +244,6 @@ abstract class AbsSlidingMusicPanelActivity : AbsMusicServiceActivity(),
if (bottomSheetBehavior.state == STATE_EXPANDED) {
setMiniPlayerAlphaProgress(1f)
}
onBackPressedDispatcher.addCallback(object : OnBackPressedCallback(true) {
override fun handleOnBackPressed() {
if (!handleBackPress()) {
remove()
onBackPressedDispatcher.onBackPressed()
}
}
})
}
override fun onDestroy() {
@ -363,7 +408,6 @@ abstract class AbsSlidingMusicPanelActivity : AbsMusicServiceActivity(),
}
private fun handleBackPress(): Boolean {
if (bottomSheetBehavior.peekHeight != 0 && playerFragment.onBackPressed()) return true
if (panelState == STATE_EXPANDED) {
collapsePanel()
return true

View file

@ -248,8 +248,6 @@ abstract class AbsPlayerFragment(@LayoutRes layout: Int) : AbsMusicServiceFragme
abstract fun onHide()
abstract fun onBackPressed(): Boolean
abstract fun toolbarIconColor(): Int
override fun onServiceConnected() {

View file

@ -113,11 +113,6 @@ class AdaptiveFragment : AbsPlayerFragment(R.layout.fragment_adaptive_player) {
}
override fun onHide() {
onBackPressed()
}
override fun onBackPressed(): Boolean {
return false
}
override fun onDestroyView() {

View file

@ -106,10 +106,6 @@ class BlurPlayerFragment : AbsPlayerFragment(R.layout.fragment_blur),
override fun onHide() {
}
override fun onBackPressed(): Boolean {
return false
}
override fun toolbarIconColor(): Int {
return Color.WHITE
}

View file

@ -49,11 +49,6 @@ class CardFragment : AbsPlayerFragment(R.layout.fragment_card_player) {
override fun onHide() {
playbackControlsFragment.hide()
onBackPressed()
}
override fun onBackPressed(): Boolean {
return false
}
override fun toolbarIconColor(): Int {

View file

@ -62,11 +62,6 @@ class CardBlurFragment : AbsPlayerFragment(R.layout.fragment_card_blur_player),
override fun onHide() {
playbackControlsFragment.hide()
onBackPressed()
}
override fun onBackPressed(): Boolean {
return false
}
override fun toolbarIconColor(): Int {

View file

@ -195,8 +195,6 @@ class CirclePlayerFragment : AbsPlayerFragment(R.layout.fragment_circle_player),
override fun onHide() {
}
override fun onBackPressed(): Boolean = false
override fun toolbarIconColor(): Int =
colorControlNormal()

View file

@ -23,6 +23,7 @@ import android.os.Bundle
import android.view.View
import android.view.animation.LinearInterpolator
import android.widget.SeekBar
import androidx.activity.OnBackPressedCallback
import androidx.appcompat.app.AppCompatActivity
import androidx.appcompat.widget.Toolbar
import androidx.fragment.app.commit
@ -163,6 +164,13 @@ class ClassicPlayerFragment : AbsPlayerFragment(R.layout.fragment_classic_player
binding.text.setOnClickListener {
goToArtist(requireActivity())
}
requireActivity().onBackPressedDispatcher.addCallback(object: OnBackPressedCallback(true) {
override fun handleOnBackPressed() {
if (getQueuePanel().state == BottomSheetBehavior.STATE_EXPANDED) {
getQueuePanel().state = BottomSheetBehavior.STATE_COLLAPSED
}
}
})
}
private fun hideVolumeIfAvailable() {
@ -257,16 +265,6 @@ class ClassicPlayerFragment : AbsPlayerFragment(R.layout.fragment_classic_player
override fun onHide() {
}
override fun onBackPressed(): Boolean {
var wasExpanded = false
if (getQueuePanel().state == BottomSheetBehavior.STATE_EXPANDED) {
wasExpanded = getQueuePanel().state == BottomSheetBehavior.STATE_EXPANDED
getQueuePanel().state = BottomSheetBehavior.STATE_COLLAPSED
return wasExpanded
}
return wasExpanded
}
override fun toolbarIconColor(): Int {
return Color.WHITE
}

View file

@ -79,11 +79,6 @@ class ColorFragment : AbsPlayerFragment(R.layout.fragment_color_player) {
override fun onHide() {
playbackControlsFragment.hide()
onBackPressed()
}
override fun onBackPressed(): Boolean {
return false
}
override fun toolbarIconColor(): Int {

View file

@ -49,11 +49,6 @@ class FitFragment : AbsPlayerFragment(R.layout.fragment_fit) {
override fun onHide() {
playbackControlsFragment.hide()
onBackPressed()
}
override fun onBackPressed(): Boolean {
return false
}
override fun toolbarIconColor(): Int {

View file

@ -100,11 +100,6 @@ class FlatPlayerFragment : AbsPlayerFragment(R.layout.fragment_flat_player) {
override fun onHide() {
controlsFragment.hide()
onBackPressed()
}
override fun onBackPressed(): Boolean {
return false
}
override fun toolbarIconColor(): Int {

View file

@ -86,10 +86,6 @@ class FullPlayerFragment : AbsPlayerFragment(R.layout.fragment_full) {
override fun onHide() {
}
override fun onBackPressed(): Boolean {
return false
}
override fun toolbarIconColor(): Int {
return Color.WHITE
}

View file

@ -21,6 +21,7 @@ import android.graphics.PorterDuff
import android.graphics.drawable.AnimatedVectorDrawable
import android.os.Bundle
import android.view.View
import androidx.activity.OnBackPressedCallback
import androidx.appcompat.app.AppCompatActivity
import androidx.appcompat.widget.PopupMenu
import androidx.appcompat.widget.Toolbar
@ -94,16 +95,19 @@ class GradientPlayerFragment : AbsPlayerFragment(R.layout.fragment_gradient_play
}
override fun onStateChanged(bottomSheet: View, newState: Int) {
onBackPressedCallback.isEnabled = newState == STATE_EXPANDED
when (newState) {
STATE_EXPANDED,
STATE_DRAGGING,
-> {
mainActivity.getBottomSheetBehavior().isDraggable = false
}
STATE_COLLAPSED -> {
resetToCurrentPosition()
mainActivity.getBottomSheetBehavior().isDraggable = true
}
else -> {
mainActivity.getBottomSheetBehavior().isDraggable = true
}
@ -111,6 +115,17 @@ class GradientPlayerFragment : AbsPlayerFragment(R.layout.fragment_gradient_play
}
}
private val onBackPressedCallback = object : OnBackPressedCallback(true) {
override fun handleOnBackPressed() {
if (getQueuePanel().state == STATE_EXPANDED) {
getQueuePanel().state = STATE_COLLAPSED
} else {
isEnabled = false
requireActivity().onBackPressedDispatcher.onBackPressed()
}
}
}
private fun setupFavourite() {
binding.playbackControlsFragment.songFavourite.setOnClickListener {
toggleFavorite(MusicPlayerRemote.currentSong)
@ -164,6 +179,10 @@ class GradientPlayerFragment : AbsPlayerFragment(R.layout.fragment_gradient_play
insets
}
binding.playbackControlsFragment.root.drawAboveSystemBars()
requireActivity().onBackPressedDispatcher.addCallback(
viewLifecycleOwner,
onBackPressedCallback
)
}
@SuppressLint("ClickableViewAccessibility")
@ -201,16 +220,6 @@ class GradientPlayerFragment : AbsPlayerFragment(R.layout.fragment_gradient_play
override fun onHide() {
}
override fun onBackPressed(): Boolean {
var wasExpanded = false
if (getQueuePanel().state == STATE_EXPANDED) {
wasExpanded = getQueuePanel().state == STATE_EXPANDED
getQueuePanel().state = STATE_COLLAPSED
return wasExpanded
}
return wasExpanded
}
override fun toolbarIconColor(): Int {
return Color.WHITE
}
@ -417,6 +426,7 @@ class GradientPlayerFragment : AbsPlayerFragment(R.layout.fragment_gradient_play
lastPlaybackControlsColor,
PorterDuff.Mode.SRC_IN
)
else -> binding.shuffleButton.setColorFilter(
lastDisabledPlaybackControlsColor,
PorterDuff.Mode.SRC_IN
@ -437,6 +447,7 @@ class GradientPlayerFragment : AbsPlayerFragment(R.layout.fragment_gradient_play
PorterDuff.Mode.SRC_IN
)
}
MusicService.REPEAT_MODE_ALL -> {
binding.repeatButton.setImageResource(R.drawable.ic_repeat)
binding.repeatButton.setColorFilter(
@ -444,6 +455,7 @@ class GradientPlayerFragment : AbsPlayerFragment(R.layout.fragment_gradient_play
PorterDuff.Mode.SRC_IN
)
}
MusicService.REPEAT_MODE_THIS -> {
binding.repeatButton.setImageResource(R.drawable.ic_repeat_one)
binding.repeatButton.setColorFilter(

View file

@ -84,10 +84,6 @@ class HomePlayerFragment : AbsPlayerFragment(R.layout.fragment_home_player),
binding.text.text = song.artistName
}
override fun onBackPressed(): Boolean {
return false
}
override fun toolbarIconColor(): Int {
return Color.WHITE
}

View file

@ -90,11 +90,6 @@ class MaterialFragment : AbsPlayerFragment(R.layout.fragment_material) {
override fun onHide() {
playbackControlsFragment.hide()
onBackPressed()
}
override fun onBackPressed(): Boolean {
return false
}
override fun toolbarIconColor() = colorControlNormal()

View file

@ -45,11 +45,6 @@ class MD3PlayerFragment : AbsPlayerFragment(R.layout.fragment_md3_player) {
override fun onHide() {
controlsFragment.hide()
onBackPressed()
}
override fun onBackPressed(): Boolean {
return false
}
override fun toolbarIconColor(): Int {

View file

@ -82,11 +82,6 @@ class PlayerFragment : AbsPlayerFragment(R.layout.fragment_player),
override fun onHide() {
controlsFragment.hide()
onBackPressed()
}
override fun onBackPressed(): Boolean {
return false
}
override fun toolbarIconColor() = colorControlNormal()

View file

@ -88,10 +88,6 @@ class PeekPlayerFragment : AbsPlayerFragment(R.layout.fragment_peek_player) {
override fun onHide() {
}
override fun onBackPressed(): Boolean {
return false
}
override fun toolbarIconColor() = colorControlNormal()
override val paletteColor: Int

View file

@ -102,11 +102,6 @@ class PlainPlayerFragment : AbsPlayerFragment(R.layout.fragment_plain_player) {
override fun onHide() {
plainPlaybackControlsFragment.hide()
onBackPressed()
}
override fun onBackPressed(): Boolean {
return false
}
override fun toolbarIconColor() = colorControlNormal()

View file

@ -71,10 +71,6 @@ class SimplePlayerFragment : AbsPlayerFragment(R.layout.fragment_simple_player)
controlsFragment.hide()
}
override fun onBackPressed(): Boolean {
return false
}
override fun toolbarIconColor() = colorControlNormal()
override fun onColorChanged(color: MediaNotificationProcessor) {

View file

@ -62,10 +62,6 @@ class TinyPlayerFragment : AbsPlayerFragment(R.layout.fragment_tiny_player),
override fun onHide() {}
override fun onBackPressed(): Boolean {
return false
}
override fun toolbarIconColor(): Int {
return toolbarColor
}