Removed RetroBottomSheetBehavior

RetroBottomSheetBehavior was there to enable or disable dragging of bottom sheet but BottomSheetBehavior has methods to do that
This commit is contained in:
Prathamesh More 2022-04-21 17:06:32 +05:30
parent d34fcab30c
commit dabdcc1d31
7 changed files with 25 additions and 63 deletions

View file

@ -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<V extends View> extends BottomSheetBehavior<V> {
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);
}
}

View file

@ -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<LibraryViewModel>()
private lateinit var bottomSheetBehavior: RetroBottomSheetBehavior<FrameLayout>
private lateinit var bottomSheetBehavior: BottomSheetBehavior<FrameLayout>
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)
}

View file

@ -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<MaterialCardView> {
return RetroBottomSheetBehavior.from(binding.playerQueueSheet) as RetroBottomSheetBehavior<MaterialCardView>
private fun getQueuePanel(): BottomSheetBehavior<MaterialCardView> {
return from(binding.playerQueueSheet)
}
private fun setupPanel() {

View file

@ -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<ConstraintLayout> {
return RetroBottomSheetBehavior.from(binding.playerQueueSheet) as RetroBottomSheetBehavior<ConstraintLayout>
private fun getQueuePanel(): BottomSheetBehavior<ConstraintLayout> {
return from(binding.playerQueueSheet)
}
override fun onResume() {

View file

@ -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">
<LinearLayout

View file

@ -80,7 +80,7 @@
android:layout_height="match_parent"
app:behavior_hideable="false"
app:gestureInsetBottomIgnored="true"
app:layout_behavior="code.name.monkey.retromusic.RetroBottomSheetBehavior">
app:layout_behavior="com.google.android.material.bottomsheet.BottomSheetBehavior">
<LinearLayout
android:id="@+id/container"

View file

@ -25,7 +25,7 @@
app:behavior_peekHeight="0dp"
app:enableEdgeToEdge="true"
app:gestureInsetBottomIgnored="true"
app:layout_behavior="code.name.monkey.retromusic.RetroBottomSheetBehavior">
app:layout_behavior="com.google.android.material.bottomsheet.BottomSheetBehavior">
<FrameLayout
android:id="@+id/playerFragmentContainer"