From caefbbbbadda969d2bff6b9dee69316f3586f4df Mon Sep 17 00:00:00 2001 From: Hemanth S Date: Thu, 24 Sep 2020 02:40:16 +0530 Subject: [PATCH] Fixed peak theme --- .../base/AbsSlidingMusicPanelActivity.kt | 51 ++++++++----------- .../retromusic/fragments/NowPlayingScreen.kt | 2 +- .../res/layout/sliding_music_panel_layout.xml | 9 +++- 3 files changed, 30 insertions(+), 32 deletions(-) diff --git a/app/src/main/java/code/name/monkey/retromusic/activities/base/AbsSlidingMusicPanelActivity.kt b/app/src/main/java/code/name/monkey/retromusic/activities/base/AbsSlidingMusicPanelActivity.kt index 63811836..fd58e7b7 100644 --- a/app/src/main/java/code/name/monkey/retromusic/activities/base/AbsSlidingMusicPanelActivity.kt +++ b/app/src/main/java/code/name/monkey/retromusic/activities/base/AbsSlidingMusicPanelActivity.kt @@ -16,6 +16,7 @@ import code.name.monkey.appthemehelper.util.ColorUtil import code.name.monkey.retromusic.R import code.name.monkey.retromusic.RetroBottomSheetBehavior import code.name.monkey.retromusic.extensions.hide +import code.name.monkey.retromusic.extensions.show import code.name.monkey.retromusic.extensions.whichFragment import code.name.monkey.retromusic.fragments.LibraryViewModel import code.name.monkey.retromusic.fragments.MiniPlayerFragment @@ -34,6 +35,7 @@ import code.name.monkey.retromusic.fragments.player.full.FullPlayerFragment import code.name.monkey.retromusic.fragments.player.gradient.GradientPlayerFragment import code.name.monkey.retromusic.fragments.player.material.MaterialFragment import code.name.monkey.retromusic.fragments.player.normal.PlayerFragment +import code.name.monkey.retromusic.fragments.player.peak.PeakPlayerFragment import code.name.monkey.retromusic.fragments.player.plain.PlainPlayerFragment import code.name.monkey.retromusic.fragments.player.simple.SimplePlayerFragment import code.name.monkey.retromusic.fragments.player.tiny.TinyPlayerFragment @@ -68,6 +70,8 @@ abstract class AbsSlidingMusicPanelActivity : AbsMusicServiceActivity() { override fun onSlide(bottomSheet: View, slideOffset: Float) { setMiniPlayerAlphaProgress(slideOffset) + dimBackground.show() + dimBackground.alpha = slideOffset } override fun onStateChanged(bottomSheet: View, newState: Int) { @@ -77,6 +81,7 @@ abstract class AbsSlidingMusicPanelActivity : AbsMusicServiceActivity() { } STATE_COLLAPSED -> { onPanelCollapsed() + dimBackground.hide() } else -> { println("Do something") @@ -85,6 +90,7 @@ abstract class AbsSlidingMusicPanelActivity : AbsMusicServiceActivity() { } } + fun getBottomSheetBehavior() = bottomSheetBehavior override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) @@ -94,11 +100,14 @@ abstract class AbsSlidingMusicPanelActivity : AbsMusicServiceActivity() { setupBottomSheet() updatePanelState() updateColor() + + val themeColor = ATHUtil.resolveColor(this, android.R.attr.windowBackground, Color.GRAY) + dimBackground.setBackgroundColor(ColorUtil.withAlpha(themeColor, 0.5f)) + dimBackground.setOnClickListener { + libraryViewModel.setPanelState(COLLAPSED_WITH) + } } - - fun getBottomSheetBehavior() = bottomSheetBehavior - private fun setupBottomSheet() { bottomSheetBehavior = from(slidingPanel) as RetroBottomSheetBehavior bottomSheetBehavior.addBottomSheetCallback(bottomSheetCallbackList) @@ -158,6 +167,11 @@ abstract class AbsSlidingMusicPanelActivity : AbsMusicServiceActivity() { ViewTreeObserver.OnGlobalLayoutListener { override fun onGlobalLayout() { slidingPanel.viewTreeObserver.removeOnGlobalLayoutListener(this) + if (nowPlayingScreen != Peak) { + val params = slidingPanel.layoutParams as ViewGroup.LayoutParams + params.height = ViewGroup.LayoutParams.MATCH_PARENT + slidingPanel.layoutParams = params + } when (panelState) { STATE_EXPANDED -> onPanelExpanded() STATE_COLLAPSED -> onPanelCollapsed() @@ -173,31 +187,6 @@ abstract class AbsSlidingMusicPanelActivity : AbsMusicServiceActivity() { return bottomNavigationView } - fun hideBottomBarVisibility(visible: Boolean) { - bottomNavigationView.isVisible = visible - hideBottomBar(MusicPlayerRemote.playingQueue.isEmpty()) - } - - private fun hideBottomBar(hide: Boolean) { - val heightOfBar = bottomNavigationView.height - val isBottomBarVisible = bottomNavigationView.isVisible - - if (hide) { - bottomSheetBehavior.isHideable = true - bottomSheetBehavior.peekHeight = 0 - collapsePanel() - ViewCompat.setElevation(slidingPanel, 0f) - ViewCompat.setElevation(bottomNavigationView, 10f) - } else { - ViewCompat.setElevation(bottomNavigationView, 10f) - ViewCompat.setElevation(slidingPanel, 10f) - bottomSheetBehavior.isHideable = false - bottomSheetBehavior.peekHeight = - (if (isBottomBarVisible) heightOfBar * 2 else heightOfBar) - 24 - } - } - - override fun onServiceConnected() { super.onServiceConnected() if (MusicPlayerRemote.playingQueue.isNotEmpty()) { @@ -379,6 +368,7 @@ abstract class AbsSlidingMusicPanelActivity : AbsMusicServiceActivity() { } }) } + private var playerFragment: AbsPlayerFragment? = null private fun chooseFragmentForTheme() { nowPlayingScreen = PreferenceUtil.nowPlayingScreen @@ -398,7 +388,7 @@ abstract class AbsSlidingMusicPanelActivity : AbsMusicServiceActivity() { Color -> ColorFragment() Gradient -> GradientPlayerFragment() Tiny -> TinyPlayerFragment() - //PEAK -> PeakPlayerFragment() + Peak -> PeakPlayerFragment() Circle -> CirclePlayerFragment() else -> PlayerFragment() } // must implement AbsPlayerFragment @@ -406,7 +396,8 @@ abstract class AbsSlidingMusicPanelActivity : AbsMusicServiceActivity() { .commit() supportFragmentManager.executePendingTransactions() - playerFragment = supportFragmentManager.findFragmentById(R.id.playerFragmentContainer) as AbsPlayerFragment + playerFragment = + supportFragmentManager.findFragmentById(R.id.playerFragmentContainer) as AbsPlayerFragment miniPlayerFragment = whichFragment(R.id.miniPlayerFragment) miniPlayerFragment?.view?.setOnClickListener { expandPanel() } } diff --git a/app/src/main/java/code/name/monkey/retromusic/fragments/NowPlayingScreen.kt b/app/src/main/java/code/name/monkey/retromusic/fragments/NowPlayingScreen.kt index 19e08522..522a9329 100644 --- a/app/src/main/java/code/name/monkey/retromusic/fragments/NowPlayingScreen.kt +++ b/app/src/main/java/code/name/monkey/retromusic/fragments/NowPlayingScreen.kt @@ -24,7 +24,7 @@ enum class NowPlayingScreen constructor( Gradient(R.string.gradient, R.drawable.np_gradient, 17), Material(R.string.material, R.drawable.np_material, 11), Normal(R.string.normal, R.drawable.np_normal, 0), - //Peak(R.string.peak, R.drawable.np_peak, 14), + Peak(R.string.peak, R.drawable.np_peak, 14), Plain(R.string.plain, R.drawable.np_plain, 3), Simple(R.string.simple, R.drawable.np_simple, 8), Tiny(R.string.tiny, R.drawable.np_tiny, 7), diff --git a/app/src/main/res/layout/sliding_music_panel_layout.xml b/app/src/main/res/layout/sliding_music_panel_layout.xml index 43dfbd3c..5a907861 100644 --- a/app/src/main/res/layout/sliding_music_panel_layout.xml +++ b/app/src/main/res/layout/sliding_music_panel_layout.xml @@ -11,12 +11,19 @@ android:layout_width="match_parent" android:layout_height="match_parent" /> +