Code Cleanup
This commit is contained in:
parent
350cba2042
commit
9af80592b3
4 changed files with 21 additions and 16 deletions
|
@ -27,10 +27,9 @@ import code.name.monkey.retromusic.*
|
||||||
import code.name.monkey.retromusic.activities.base.AbsCastActivity
|
import code.name.monkey.retromusic.activities.base.AbsCastActivity
|
||||||
import code.name.monkey.retromusic.databinding.SlidingMusicPanelLayoutBinding
|
import code.name.monkey.retromusic.databinding.SlidingMusicPanelLayoutBinding
|
||||||
import code.name.monkey.retromusic.extensions.*
|
import code.name.monkey.retromusic.extensions.*
|
||||||
import code.name.monkey.retromusic.fragments.base.AbsRecyclerViewFragment
|
|
||||||
import code.name.monkey.retromusic.fragments.home.HomeFragment
|
|
||||||
import code.name.monkey.retromusic.helper.MusicPlayerRemote
|
import code.name.monkey.retromusic.helper.MusicPlayerRemote
|
||||||
import code.name.monkey.retromusic.helper.SearchQueryHelper.getSongs
|
import code.name.monkey.retromusic.helper.SearchQueryHelper.getSongs
|
||||||
|
import code.name.monkey.retromusic.interfaces.IScrollHelper
|
||||||
import code.name.monkey.retromusic.model.CategoryInfo
|
import code.name.monkey.retromusic.model.CategoryInfo
|
||||||
import code.name.monkey.retromusic.model.Song
|
import code.name.monkey.retromusic.model.Song
|
||||||
import code.name.monkey.retromusic.repository.PlaylistSongsLoader
|
import code.name.monkey.retromusic.repository.PlaylistSongsLoader
|
||||||
|
@ -90,13 +89,9 @@ class MainActivity : AbsCastActivity(), OnSharedPreferenceChangeListener {
|
||||||
bottomNavigationView.setupWithNavController(navController)
|
bottomNavigationView.setupWithNavController(navController)
|
||||||
// Scroll Fragment to top
|
// Scroll Fragment to top
|
||||||
bottomNavigationView.setOnItemReselectedListener {
|
bottomNavigationView.setOnItemReselectedListener {
|
||||||
currentFragment(R.id.fragment_container)
|
currentFragment(R.id.fragment_container).apply {
|
||||||
.also {
|
if (this is IScrollHelper) {
|
||||||
if (it is AbsRecyclerViewFragment<*, *>) {
|
scrollToTop()
|
||||||
it.scrollToTop()
|
|
||||||
}
|
|
||||||
if (it is HomeFragment) {
|
|
||||||
it.scrollToTop()
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -117,7 +112,10 @@ class MainActivity : AbsCastActivity(), OnSharedPreferenceChangeListener {
|
||||||
setBottomNavVisibility(visible = false)
|
setBottomNavVisibility(visible = false)
|
||||||
hideBottomSheet(true)
|
hideBottomSheet(true)
|
||||||
}
|
}
|
||||||
else -> setBottomNavVisibility(visible = false, animate = true) // Hide Bottom Navigation Bar
|
else -> setBottomNavVisibility(
|
||||||
|
visible = false,
|
||||||
|
animate = true
|
||||||
|
) // Hide Bottom Navigation Bar
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -34,6 +34,7 @@ import code.name.monkey.retromusic.extensions.accentColor
|
||||||
import code.name.monkey.retromusic.extensions.dip
|
import code.name.monkey.retromusic.extensions.dip
|
||||||
import code.name.monkey.retromusic.extensions.drawNextToNavbar
|
import code.name.monkey.retromusic.extensions.drawNextToNavbar
|
||||||
import code.name.monkey.retromusic.helper.MusicPlayerRemote
|
import code.name.monkey.retromusic.helper.MusicPlayerRemote
|
||||||
|
import code.name.monkey.retromusic.interfaces.IScrollHelper
|
||||||
import code.name.monkey.retromusic.util.ThemedFastScroller.create
|
import code.name.monkey.retromusic.util.ThemedFastScroller.create
|
||||||
import com.google.android.material.shape.MaterialShapeDrawable
|
import com.google.android.material.shape.MaterialShapeDrawable
|
||||||
import com.google.android.material.transition.MaterialFadeThrough
|
import com.google.android.material.transition.MaterialFadeThrough
|
||||||
|
@ -42,7 +43,7 @@ import me.zhanghai.android.fastscroll.FastScroller
|
||||||
import me.zhanghai.android.fastscroll.FastScrollerBuilder
|
import me.zhanghai.android.fastscroll.FastScrollerBuilder
|
||||||
|
|
||||||
abstract class AbsRecyclerViewFragment<A : RecyclerView.Adapter<*>, LM : RecyclerView.LayoutManager> :
|
abstract class AbsRecyclerViewFragment<A : RecyclerView.Adapter<*>, LM : RecyclerView.LayoutManager> :
|
||||||
AbsMainActivityFragment(R.layout.fragment_main_recycler) {
|
AbsMainActivityFragment(R.layout.fragment_main_recycler), IScrollHelper {
|
||||||
|
|
||||||
private var _binding: FragmentMainRecyclerBinding? = null
|
private var _binding: FragmentMainRecyclerBinding? = null
|
||||||
private val binding get() = _binding!!
|
private val binding get() = _binding!!
|
||||||
|
@ -200,7 +201,7 @@ abstract class AbsRecyclerViewFragment<A : RecyclerView.Adapter<*>, LM : Recycle
|
||||||
|
|
||||||
val container get() = binding.root
|
val container get() = binding.root
|
||||||
|
|
||||||
fun scrollToTop() {
|
override fun scrollToTop() {
|
||||||
recyclerView.scrollToPosition(0)
|
recyclerView.scrollToPosition(0)
|
||||||
binding.appBarLayout.setExpanded(true, true)
|
binding.appBarLayout.setExpanded(true, true)
|
||||||
}
|
}
|
||||||
|
|
|
@ -40,6 +40,7 @@ import code.name.monkey.retromusic.extensions.drawNextToNavbar
|
||||||
import code.name.monkey.retromusic.fragments.base.AbsMainActivityFragment
|
import code.name.monkey.retromusic.fragments.base.AbsMainActivityFragment
|
||||||
import code.name.monkey.retromusic.glide.GlideApp
|
import code.name.monkey.retromusic.glide.GlideApp
|
||||||
import code.name.monkey.retromusic.glide.RetroGlideExtension
|
import code.name.monkey.retromusic.glide.RetroGlideExtension
|
||||||
|
import code.name.monkey.retromusic.interfaces.IScrollHelper
|
||||||
import code.name.monkey.retromusic.util.PreferenceUtil
|
import code.name.monkey.retromusic.util.PreferenceUtil
|
||||||
import com.google.android.gms.cast.framework.CastButtonFactory
|
import com.google.android.gms.cast.framework.CastButtonFactory
|
||||||
import com.google.android.material.shape.MaterialShapeDrawable
|
import com.google.android.material.shape.MaterialShapeDrawable
|
||||||
|
@ -47,7 +48,7 @@ import com.google.android.material.transition.MaterialFadeThrough
|
||||||
import com.google.android.material.transition.MaterialSharedAxis
|
import com.google.android.material.transition.MaterialSharedAxis
|
||||||
|
|
||||||
class HomeFragment :
|
class HomeFragment :
|
||||||
AbsMainActivityFragment(if (PreferenceUtil.isHomeBanner) R.layout.fragment_banner_home else R.layout.fragment_home) {
|
AbsMainActivityFragment(if (PreferenceUtil.isHomeBanner) R.layout.fragment_banner_home else R.layout.fragment_home), IScrollHelper {
|
||||||
|
|
||||||
private var _binding: HomeBindingAdapter? = null
|
private var _binding: HomeBindingAdapter? = null
|
||||||
private val binding get() = _binding!!
|
private val binding get() = _binding!!
|
||||||
|
@ -189,7 +190,7 @@ class HomeFragment :
|
||||||
CastButtonFactory.setUpMediaRouteButton(requireContext(), menu, R.id.action_cast)
|
CastButtonFactory.setUpMediaRouteButton(requireContext(), menu, R.id.action_cast)
|
||||||
}
|
}
|
||||||
|
|
||||||
fun scrollToTop() {
|
override fun scrollToTop() {
|
||||||
binding.container.scrollTo(0, 0)
|
binding.container.scrollTo(0, 0)
|
||||||
binding.appBarLayout.setExpanded(true)
|
binding.appBarLayout.setExpanded(true)
|
||||||
}
|
}
|
||||||
|
|
|
@ -0,0 +1,5 @@
|
||||||
|
package code.name.monkey.retromusic.interfaces
|
||||||
|
|
||||||
|
interface IScrollHelper {
|
||||||
|
fun scrollToTop()
|
||||||
|
}
|
Loading…
Add table
Add a link
Reference in a new issue