diff --git a/app/src/main/java/code/name/monkey/retromusic/RetroBottomSheetBehavior.java b/app/src/main/java/code/name/monkey/retromusic/RetroBottomSheetBehavior.java deleted file mode 100644 index 1ad8c572d..000000000 --- a/app/src/main/java/code/name/monkey/retromusic/RetroBottomSheetBehavior.java +++ /dev/null @@ -1,38 +0,0 @@ -package code.name.monkey.retromusic; - -import android.content.Context; -import android.util.AttributeSet; -import android.view.MotionEvent; -import android.view.View; - -import androidx.coordinatorlayout.widget.CoordinatorLayout; - -import com.google.android.material.bottomsheet.BottomSheetBehavior; - -import org.jetbrains.annotations.NotNull; - -public class RetroBottomSheetBehavior extends BottomSheetBehavior { - - private static final String TAG = "RetroBottomSheetBehavior"; - - private boolean allowDragging = true; - - public RetroBottomSheetBehavior() {} - - public RetroBottomSheetBehavior(Context context, AttributeSet attrs) { - super(context, attrs); - } - - public void setAllowDragging(boolean allowDragging) { - this.allowDragging = allowDragging; - } - - @Override - public boolean onInterceptTouchEvent( - @NotNull CoordinatorLayout parent, @NotNull V child, @NotNull MotionEvent event) { - if (!allowDragging) { - return false; - } - return super.onInterceptTouchEvent(parent, child, event); - } -} 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 75f1584a3..ef42c8ebf 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 @@ -30,7 +30,6 @@ import androidx.fragment.app.Fragment import androidx.fragment.app.commit import code.name.monkey.appthemehelper.util.VersionUtils import code.name.monkey.retromusic.R -import code.name.monkey.retromusic.RetroBottomSheetBehavior import code.name.monkey.retromusic.databinding.SlidingMusicPanelLayoutBinding import code.name.monkey.retromusic.extensions.* import code.name.monkey.retromusic.fragments.LibraryViewModel @@ -60,6 +59,7 @@ import code.name.monkey.retromusic.helper.MusicPlayerRemote import code.name.monkey.retromusic.model.CategoryInfo import code.name.monkey.retromusic.util.PreferenceUtil import code.name.monkey.retromusic.util.ViewUtil +import com.google.android.material.bottomsheet.BottomSheetBehavior import com.google.android.material.bottomsheet.BottomSheetBehavior.* import org.koin.androidx.viewmodel.ext.android.viewModel @@ -72,7 +72,7 @@ abstract class AbsSlidingMusicPanelActivity : AbsMusicServiceActivity() { var fromNotification = false private var windowInsets: WindowInsetsCompat? = null protected val libraryViewModel by viewModel() - private lateinit var bottomSheetBehavior: RetroBottomSheetBehavior + private lateinit var bottomSheetBehavior: BottomSheetBehavior private var playerFragment: AbsPlayerFragment? = null private var miniPlayerFragment: MiniPlayerFragment? = null private var nowPlayingScreen: NowPlayingScreen? = null @@ -157,7 +157,7 @@ abstract class AbsSlidingMusicPanelActivity : AbsMusicServiceActivity() { } private fun setupBottomSheet() { - bottomSheetBehavior = from(binding.slidingPanel) as RetroBottomSheetBehavior + bottomSheetBehavior = from(binding.slidingPanel) bottomSheetBehavior.addBottomSheetCallback(bottomSheetCallbackList) bottomSheetBehavior.isHideable = true setMiniPlayerAlphaProgress(0F) @@ -435,7 +435,7 @@ abstract class AbsSlidingMusicPanelActivity : AbsMusicServiceActivity() { } fun setAllowDragging(allowDragging: Boolean) { - bottomSheetBehavior.setAllowDragging(allowDragging) + bottomSheetBehavior.isDraggable = allowDragging hideBottomSheet(false) } 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 50520dc60..99d7aad61 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 @@ -32,7 +32,6 @@ import code.name.monkey.appthemehelper.util.ColorUtil import code.name.monkey.appthemehelper.util.TintHelper import code.name.monkey.appthemehelper.util.ToolbarContentTintHelper import code.name.monkey.retromusic.R -import code.name.monkey.retromusic.RetroBottomSheetBehavior import code.name.monkey.retromusic.adapter.song.PlayingQueueAdapter import code.name.monkey.retromusic.databinding.FragmentClassicPlayerBinding import code.name.monkey.retromusic.extensions.* @@ -54,6 +53,7 @@ import code.name.monkey.retromusic.util.PreferenceUtil import code.name.monkey.retromusic.util.ViewUtil import code.name.monkey.retromusic.util.color.MediaNotificationProcessor import com.google.android.material.bottomsheet.BottomSheetBehavior +import com.google.android.material.bottomsheet.BottomSheetBehavior.from import com.google.android.material.card.MaterialCardView import com.google.android.material.shape.MaterialShapeDrawable import com.google.android.material.shape.ShapeAppearanceModel @@ -85,7 +85,7 @@ class ClassicPlayerFragment : AbsPlayerFragment(R.layout.fragment_classic_player private val bottomSheetCallbackList = object : BottomSheetBehavior.BottomSheetCallback() { override fun onSlide(bottomSheet: View, slideOffset: Float) { - mainActivity.getBottomSheetBehavior().setAllowDragging(false) + mainActivity.getBottomSheetBehavior().isDraggable = false binding.playerQueueSheet.setContentPadding( binding.playerQueueSheet.contentPaddingLeft, (slideOffset * binding.statusBar.height).toInt(), @@ -100,14 +100,14 @@ class ClassicPlayerFragment : AbsPlayerFragment(R.layout.fragment_classic_player when (newState) { BottomSheetBehavior.STATE_EXPANDED, BottomSheetBehavior.STATE_DRAGGING -> { - mainActivity.getBottomSheetBehavior().setAllowDragging(false) + mainActivity.getBottomSheetBehavior().isDraggable = false } BottomSheetBehavior.STATE_COLLAPSED -> { resetToCurrentPosition() - mainActivity.getBottomSheetBehavior().setAllowDragging(true) + mainActivity.getBottomSheetBehavior().isDraggable = true } else -> { - mainActivity.getBottomSheetBehavior().setAllowDragging(true) + mainActivity.getBottomSheetBehavior().isDraggable = true } } } @@ -145,8 +145,8 @@ class ClassicPlayerFragment : AbsPlayerFragment(R.layout.fragment_classic_player binding.playerQueueSheet.background = shapeDrawable binding.playerQueueSheet.setOnTouchListener { _, _ -> - mainActivity.getBottomSheetBehavior().setAllowDragging(false) - getQueuePanel().setAllowDragging(true) + mainActivity.getBottomSheetBehavior().isDraggable = false + getQueuePanel().isDraggable = true return@setOnTouchListener false } @@ -359,8 +359,8 @@ class ClassicPlayerFragment : AbsPlayerFragment(R.layout.fragment_classic_player linearLayoutManager.scrollToPositionWithOffset(MusicPlayerRemote.position + 1, 0) } - private fun getQueuePanel(): RetroBottomSheetBehavior { - return RetroBottomSheetBehavior.from(binding.playerQueueSheet) as RetroBottomSheetBehavior + private fun getQueuePanel(): BottomSheetBehavior { + return from(binding.playerQueueSheet) } private fun setupPanel() { 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 dbd3afb97..74db742be 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 @@ -38,7 +38,6 @@ import androidx.recyclerview.widget.RecyclerView import code.name.monkey.appthemehelper.util.ColorUtil import code.name.monkey.appthemehelper.util.VersionUtils import code.name.monkey.retromusic.R -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.* @@ -57,6 +56,7 @@ import code.name.monkey.retromusic.util.MusicUtil import code.name.monkey.retromusic.util.PreferenceUtil import code.name.monkey.retromusic.util.ViewUtil import code.name.monkey.retromusic.util.color.MediaNotificationProcessor +import com.google.android.material.bottomsheet.BottomSheetBehavior import com.google.android.material.bottomsheet.BottomSheetBehavior.* import com.h6ah4i.android.widget.advrecyclerview.animator.DraggableItemAnimator import com.h6ah4i.android.widget.advrecyclerview.draggable.RecyclerViewDragDropManager @@ -88,7 +88,7 @@ class GradientPlayerFragment : AbsPlayerFragment(R.layout.fragment_gradient_play private val bottomSheetCallbackList = object : BottomSheetCallback() { override fun onSlide(bottomSheet: View, slideOffset: Float) { - mainActivity.getBottomSheetBehavior().setAllowDragging(false) + mainActivity.getBottomSheetBehavior().isDraggable = false binding.playerQueueSheet.updatePadding( top = (slideOffset * binding.statusBarLayout.statusBar.height).toInt() ) @@ -101,14 +101,14 @@ class GradientPlayerFragment : AbsPlayerFragment(R.layout.fragment_gradient_play when (newState) { STATE_EXPANDED, STATE_DRAGGING -> { - mainActivity.getBottomSheetBehavior().setAllowDragging(false) + mainActivity.getBottomSheetBehavior().isDraggable = false } STATE_COLLAPSED -> { resetToCurrentPosition() - mainActivity.getBottomSheetBehavior().setAllowDragging(true) + mainActivity.getBottomSheetBehavior().isDraggable = true } else -> { - mainActivity.getBottomSheetBehavior().setAllowDragging(true) + mainActivity.getBottomSheetBehavior().isDraggable = true } } } @@ -173,14 +173,14 @@ class GradientPlayerFragment : AbsPlayerFragment(R.layout.fragment_gradient_play private fun setupSheet() { getQueuePanel().addBottomSheetCallback(bottomSheetCallbackList) binding.playerQueueSheet.setOnTouchListener { _, _ -> - mainActivity.getBottomSheetBehavior().setAllowDragging(false) - getQueuePanel().setAllowDragging(true) + mainActivity.getBottomSheetBehavior().isDraggable = false + getQueuePanel().isDraggable = true return@setOnTouchListener false } } - private fun getQueuePanel(): RetroBottomSheetBehavior { - return RetroBottomSheetBehavior.from(binding.playerQueueSheet) as RetroBottomSheetBehavior + private fun getQueuePanel(): BottomSheetBehavior { + return from(binding.playerQueueSheet) } override fun onResume() { diff --git a/app/src/main/res/layout/fragment_classic_player.xml b/app/src/main/res/layout/fragment_classic_player.xml index cfddbd87e..049309aab 100644 --- a/app/src/main/res/layout/fragment_classic_player.xml +++ b/app/src/main/res/layout/fragment_classic_player.xml @@ -82,7 +82,7 @@ android:theme="@style/TopCornerCardView" app:behavior_hideable="false" app:cardElevation="24dp" - app:layout_behavior="code.name.monkey.retromusic.RetroBottomSheetBehavior" + app:layout_behavior="com.google.android.material.bottomsheet.BottomSheetBehavior" tools:peekHeight="0dp"> + app:layout_behavior="com.google.android.material.bottomsheet.BottomSheetBehavior"> + app:layout_behavior="com.google.android.material.bottomsheet.BottomSheetBehavior">