From 61074305ec4db69356d672fe724013b0d2f83c78 Mon Sep 17 00:00:00 2001 From: Prathamesh More Date: Mon, 27 Sep 2021 21:03:01 +0530 Subject: [PATCH] Fixed mini player becoming visible while collapsing BottomSheet --- .../base/AbsSlidingMusicPanelActivity.kt | 3 +-- .../retromusic/fragments/LyricsFragment.kt | 3 +++ .../monkey/retromusic/util/NavigationUtil.kt | 19 ++++++++++++++----- 3 files changed, 18 insertions(+), 7 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 b017e4d3..0c968857 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 @@ -163,12 +163,10 @@ abstract class AbsSlidingMusicPanelActivity : AbsMusicServiceActivity() { fun collapsePanel() { bottomSheetBehavior.state = STATE_COLLAPSED - setMiniPlayerAlphaProgress(0f) } fun expandPanel() { bottomSheetBehavior.state = STATE_EXPANDED - setMiniPlayerAlphaProgress(1f) } private fun setMiniPlayerAlphaProgress(progress: Float) { @@ -315,6 +313,7 @@ abstract class AbsSlidingMusicPanelActivity : AbsMusicServiceActivity() { libraryViewModel.setFabMargin(heightOfBar - RetroUtil.getNavigationBarHeight()) } } + bottomSheetBehavior.setAllowDragging(true) } } diff --git a/app/src/main/java/code/name/monkey/retromusic/fragments/LyricsFragment.kt b/app/src/main/java/code/name/monkey/retromusic/fragments/LyricsFragment.kt index cf2b9229..f4340075 100644 --- a/app/src/main/java/code/name/monkey/retromusic/fragments/LyricsFragment.kt +++ b/app/src/main/java/code/name/monkey/retromusic/fragments/LyricsFragment.kt @@ -21,6 +21,7 @@ import androidx.core.view.ViewCompat import androidx.fragment.app.Fragment import androidx.fragment.app.FragmentActivity import androidx.navigation.fragment.findNavController +import androidx.transition.Fade import androidx.viewpager2.adapter.FragmentStateAdapter import code.name.monkey.appthemehelper.ThemeStore import code.name.monkey.appthemehelper.util.ToolbarContentTintHelper @@ -90,6 +91,8 @@ class LyricsFragment : AbsMusicServiceFragment(R.layout.fragment_lyrics) { override fun onViewCreated(view: View, savedInstanceState: Bundle?) { super.onViewCreated(view, savedInstanceState) + enterTransition = Fade() + exitTransition = Fade() lyricsSectionsAdapter = LyricsSectionsAdapter(requireActivity()) _binding = FragmentLyricsBinding.bind(view) ViewCompat.setTransitionName(binding.container, "lyrics") diff --git a/app/src/main/java/code/name/monkey/retromusic/util/NavigationUtil.kt b/app/src/main/java/code/name/monkey/retromusic/util/NavigationUtil.kt index a3b3624e..ffba5bdd 100755 --- a/app/src/main/java/code/name/monkey/retromusic/util/NavigationUtil.kt +++ b/app/src/main/java/code/name/monkey/retromusic/util/NavigationUtil.kt @@ -25,6 +25,7 @@ import code.name.monkey.retromusic.R import code.name.monkey.retromusic.activities.* import code.name.monkey.retromusic.activities.bugreport.BugReportActivity import code.name.monkey.retromusic.helper.MusicPlayerRemote.audioSessionId +import com.google.android.material.bottomsheet.BottomSheetBehavior object NavigationUtil { fun bugReport(activity: Activity) { @@ -40,10 +41,18 @@ object NavigationUtil { } fun goToLyrics(activity: Activity) { - if (activity is MainActivity) { - activity.collapsePanel() + if (activity !is MainActivity) return + activity.apply { + //Hide Bottom Bar First, else Bottom Sheet doesn't collapse fully + setBottomBarVisibility(false) + if (getBottomSheetBehavior().state == BottomSheetBehavior.STATE_EXPANDED) { + collapsePanel() + } + + findNavController(R.id.fragment_container).navigate( + R.id.lyrics_fragment + ) } - activity.findNavController(R.id.fragment_container).navigate(R.id.lyrics_fragment) } fun goToProVersion(context: Context) { @@ -69,10 +78,10 @@ object NavigationUtil { } fun openEqualizer(activity: Activity) { - stockEqalizer(activity) + stockEqualizer(activity) } - private fun stockEqalizer(activity: Activity) { + private fun stockEqualizer(activity: Activity) { val sessionId = audioSessionId if (sessionId == AudioEffect.ERROR_BAD_VALUE) { Toast.makeText(