Added grid layout change option
This commit is contained in:
parent
fc7c3b30f5
commit
6210065221
49 changed files with 1571 additions and 1428 deletions
|
@ -12,10 +12,9 @@ abstract class AbsLibraryPagerRecyclerViewCustomGridSizeFragment<A : RecyclerVie
|
|||
|
||||
private var gridSize: Int = 0
|
||||
private var sortOrder: String? = null
|
||||
|
||||
private var usePaletteInitialized: Boolean = false
|
||||
private var usePalette: Boolean = false
|
||||
private var currentLayoutRes: Int = 0
|
||||
private val isLandscape: Boolean
|
||||
get() = RetroUtil.isLandscape()
|
||||
|
||||
val maxGridSize: Int
|
||||
get() = if (isLandscape) {
|
||||
|
@ -24,25 +23,24 @@ abstract class AbsLibraryPagerRecyclerViewCustomGridSizeFragment<A : RecyclerVie
|
|||
resources.getInteger(R.integer.max_columns)
|
||||
}
|
||||
|
||||
/**
|
||||
* Override to customize which item layout currentLayoutRes should be used. You might also want to
|
||||
* override [.canUsePalette] then.
|
||||
*
|
||||
* @see .getGridSize
|
||||
*/
|
||||
protected val itemLayoutRes: Int
|
||||
get() = if (getGridSize() > maxGridSizeForList) {
|
||||
R.layout.item_grid
|
||||
fun itemLayoutRes(): Int {
|
||||
return if (getGridSize() > maxGridSizeForList) {
|
||||
loadLayoutRes()
|
||||
} else R.layout.item_list
|
||||
}
|
||||
|
||||
protected val maxGridSizeForList: Int
|
||||
protected abstract fun setLayoutRes(layoutRes: Int)
|
||||
|
||||
fun setAndSaveLayoutRes(layoutRes: Int) {
|
||||
saveLayoutRes(layoutRes)
|
||||
setLayoutRes(layoutRes)
|
||||
}
|
||||
|
||||
private val maxGridSizeForList: Int
|
||||
get() = if (isLandscape) {
|
||||
activity!!.resources.getInteger(R.integer.default_list_columns_land)
|
||||
} else activity!!.resources.getInteger(R.integer.default_list_columns)
|
||||
|
||||
private val isLandscape: Boolean
|
||||
get() = RetroUtil.isLandscape()
|
||||
|
||||
fun getGridSize(): Int {
|
||||
if (gridSize == 0) {
|
||||
gridSize = if (isLandscape) {
|
||||
|
@ -71,19 +69,8 @@ abstract class AbsLibraryPagerRecyclerViewCustomGridSizeFragment<A : RecyclerVie
|
|||
setSortOrder(sortOrder)
|
||||
}
|
||||
|
||||
/**
|
||||
* @return whether the palette should be used at all or not
|
||||
*/
|
||||
fun usePalette(): Boolean {
|
||||
if (!usePaletteInitialized) {
|
||||
usePalette = loadUsePalette()
|
||||
usePaletteInitialized = true
|
||||
}
|
||||
return usePalette
|
||||
}
|
||||
|
||||
fun setAndSaveGridSize(gridSize: Int) {
|
||||
val oldLayoutRes = itemLayoutRes
|
||||
val oldLayoutRes = itemLayoutRes()
|
||||
this.gridSize = gridSize
|
||||
if (isLandscape) {
|
||||
saveGridSizeLand(gridSize)
|
||||
|
@ -91,7 +78,7 @@ abstract class AbsLibraryPagerRecyclerViewCustomGridSizeFragment<A : RecyclerVie
|
|||
saveGridSize(gridSize)
|
||||
}
|
||||
// only recreate the adapter and layout manager if the layout currentLayoutRes has changed
|
||||
if (oldLayoutRes != itemLayoutRes) {
|
||||
if (oldLayoutRes != itemLayoutRes()) {
|
||||
invalidateLayoutManager()
|
||||
invalidateAdapter()
|
||||
} else {
|
||||
|
@ -99,19 +86,6 @@ abstract class AbsLibraryPagerRecyclerViewCustomGridSizeFragment<A : RecyclerVie
|
|||
}
|
||||
}
|
||||
|
||||
fun setAndSaveUsePalette(usePalette: Boolean) {
|
||||
this.usePalette = usePalette
|
||||
saveUsePalette(usePalette)
|
||||
setUsePalette(usePalette)
|
||||
}
|
||||
|
||||
/**
|
||||
* @return whether the palette option should be available for the current item layout or not
|
||||
*/
|
||||
fun canUsePalette(): Boolean {
|
||||
return itemLayoutRes == R.layout.item_card_color
|
||||
}
|
||||
|
||||
protected fun notifyLayoutResChanged(@LayoutRes res: Int) {
|
||||
this.currentLayoutRes = res
|
||||
val recyclerView = recyclerView()
|
||||
|
@ -149,4 +123,8 @@ abstract class AbsLibraryPagerRecyclerViewCustomGridSizeFragment<A : RecyclerVie
|
|||
protected abstract fun loadUsePalette(): Boolean
|
||||
|
||||
protected abstract fun setUsePalette(usePalette: Boolean)
|
||||
|
||||
protected abstract fun loadLayoutRes(): Int
|
||||
|
||||
protected abstract fun saveLayoutRes(layoutRes: Int)
|
||||
}
|
||||
|
|
|
@ -10,15 +10,16 @@ import androidx.recyclerview.widget.RecyclerView
|
|||
import code.name.monkey.retromusic.R
|
||||
import code.name.monkey.retromusic.helper.MusicPlayerRemote
|
||||
import code.name.monkey.retromusic.util.DensityUtil
|
||||
import code.name.monkey.retromusic.util.ViewUtil
|
||||
import code.name.monkey.retromusic.util.ThemedFastScroller.create
|
||||
import code.name.monkey.retromusic.views.ScrollingViewOnApplyWindowInsetsListener
|
||||
import com.google.android.material.appbar.AppBarLayout
|
||||
import com.simplecityapps.recyclerview_fastscroll.views.FastScrollRecyclerView
|
||||
import kotlinx.android.synthetic.main.fragment_main_activity_recycler_view.container
|
||||
import kotlinx.android.synthetic.main.fragment_main_activity_recycler_view.empty
|
||||
import kotlinx.android.synthetic.main.fragment_main_activity_recycler_view.emptyEmoji
|
||||
import kotlinx.android.synthetic.main.fragment_main_activity_recycler_view.emptyText
|
||||
import kotlinx.android.synthetic.main.fragment_main_activity_recycler_view.recyclerView
|
||||
import me.everything.android.ui.overscroll.OverScrollDecoratorHelper
|
||||
import me.zhanghai.android.fastscroll.FastScroller
|
||||
import me.zhanghai.android.fastscroll.FastScrollerBuilder
|
||||
|
||||
abstract class AbsLibraryPagerRecyclerViewFragment<A : RecyclerView.Adapter<*>, LM : RecyclerView.LayoutManager> :
|
||||
AbsLibraryPagerFragment(), AppBarLayout.OnOffsetChangedListener {
|
||||
|
@ -41,13 +42,21 @@ abstract class AbsLibraryPagerRecyclerViewFragment<A : RecyclerView.Adapter<*>,
|
|||
}
|
||||
|
||||
private fun setUpRecyclerView() {
|
||||
if (recyclerView is FastScrollRecyclerView) {
|
||||
ViewUtil.setUpFastScrollRecyclerViewColor(requireActivity(), recyclerView as FastScrollRecyclerView)
|
||||
}
|
||||
|
||||
recyclerView.layoutManager = layoutManager
|
||||
recyclerView.adapter = adapter
|
||||
val fastScroller = create(recyclerView)
|
||||
recyclerView.setOnApplyWindowInsetsListener(
|
||||
ScrollingViewOnApplyWindowInsetsListener(
|
||||
recyclerView,
|
||||
fastScroller
|
||||
)
|
||||
)
|
||||
//OverScrollDecoratorHelper.setUpOverScroll(recyclerView, OverScrollDecoratorHelper.ORIENTATION_VERTICAL)
|
||||
}
|
||||
|
||||
OverScrollDecoratorHelper.setUpOverScroll(recyclerView, OverScrollDecoratorHelper.ORIENTATION_VERTICAL)
|
||||
protected open fun createFastScroller(recyclerView: RecyclerView): FastScroller {
|
||||
return FastScrollerBuilder(recyclerView).useMd2Style().build()
|
||||
}
|
||||
|
||||
private fun initAdapter() {
|
||||
|
|
|
@ -53,13 +53,13 @@ open class AlbumsFragment : AbsLibraryPagerRecyclerViewCustomGridSizeFragment<Al
|
|||
}
|
||||
|
||||
override fun createAdapter(): AlbumAdapter {
|
||||
var itemLayoutRes = itemLayoutRes
|
||||
notifyLayoutResChanged(itemLayoutRes)
|
||||
if (itemLayoutRes != R.layout.item_list) {
|
||||
itemLayoutRes = PreferenceUtil.getInstance(requireContext()).getAlbumGridStyle(requireContext())
|
||||
}
|
||||
/* var itemLayoutRes = itemLayoutRes
|
||||
notifyLayoutResChanged(itemLayoutRes)
|
||||
if (itemLayoutRes != R.layout.item_list) {
|
||||
itemLayoutRes = PreferenceUtil.getInstance(requireContext()).getAlbumGridStyle(requireContext())
|
||||
}*/
|
||||
val dataSet = if (adapter == null) ArrayList() else adapter!!.dataSet
|
||||
return AlbumAdapter(libraryFragment.mainActivity, dataSet, itemLayoutRes, loadUsePalette(), libraryFragment)
|
||||
return AlbumAdapter(libraryFragment.mainActivity, dataSet, itemLayoutRes(), loadUsePalette(), libraryFragment)
|
||||
}
|
||||
|
||||
public override fun loadUsePalette(): Boolean {
|
||||
|
@ -76,37 +76,30 @@ open class AlbumsFragment : AbsLibraryPagerRecyclerViewCustomGridSizeFragment<Al
|
|||
}
|
||||
|
||||
override fun loadSortOrder(): String {
|
||||
|
||||
return PreferenceUtil.getInstance(requireContext()).albumSortOrder
|
||||
}
|
||||
|
||||
override fun saveSortOrder(sortOrder: String) {
|
||||
|
||||
PreferenceUtil.getInstance(requireContext()).albumSortOrder = sortOrder
|
||||
}
|
||||
|
||||
override fun loadGridSize(): Int {
|
||||
|
||||
return PreferenceUtil.getInstance(requireContext()).getAlbumGridSize(activity!!)
|
||||
}
|
||||
|
||||
override fun saveGridSize(gridColumns: Int) {
|
||||
|
||||
PreferenceUtil.getInstance(requireContext()).setAlbumGridSize(gridColumns)
|
||||
}
|
||||
|
||||
override fun loadGridSizeLand(): Int {
|
||||
|
||||
return PreferenceUtil.getInstance(requireContext()).getAlbumGridSizeLand(activity!!)
|
||||
}
|
||||
|
||||
override fun saveGridSizeLand(gridColumns: Int) {
|
||||
|
||||
PreferenceUtil.getInstance(requireContext()).setAlbumGridSizeLand(gridColumns)
|
||||
}
|
||||
|
||||
override fun saveUsePalette(usePalette: Boolean) {
|
||||
|
||||
PreferenceUtil.getInstance(requireContext()).setAlbumColoredFooters(usePalette)
|
||||
}
|
||||
|
||||
|
@ -122,6 +115,18 @@ open class AlbumsFragment : AbsLibraryPagerRecyclerViewCustomGridSizeFragment<Al
|
|||
adapter?.swapDataSet(ArrayList())
|
||||
}
|
||||
|
||||
override fun setLayoutRes(layoutRes: Int) {
|
||||
//adapter?.itemCount?.let { adapter?.notifyItemRangeChanged(0, it) }
|
||||
}
|
||||
|
||||
override fun loadLayoutRes(): Int {
|
||||
return PreferenceUtil.getInstance(requireContext()).albumGridStyle
|
||||
}
|
||||
|
||||
override fun saveLayoutRes(layoutRes: Int) {
|
||||
PreferenceUtil.getInstance(requireContext()).albumGridStyle = layoutRes
|
||||
}
|
||||
|
||||
companion object {
|
||||
@JvmField
|
||||
var TAG: String = AlbumsFragment::class.java.simpleName
|
||||
|
|
|
@ -61,13 +61,14 @@ class ArtistsFragment : AbsLibraryPagerRecyclerViewCustomGridSizeFragment<Artist
|
|||
}
|
||||
|
||||
override fun createAdapter(): ArtistAdapter {
|
||||
var itemLayoutRes = itemLayoutRes
|
||||
notifyLayoutResChanged(itemLayoutRes)
|
||||
if (itemLayoutRes != R.layout.item_list) {
|
||||
itemLayoutRes = PreferenceUtil.getInstance(requireContext()).getArtistGridStyle(requireContext())
|
||||
}
|
||||
val dataSet = if (adapter == null) ArrayList() else adapter!!.dataSet
|
||||
return ArtistAdapter(libraryFragment.mainActivity, dataSet, itemLayoutRes, loadUsePalette(), libraryFragment)
|
||||
return ArtistAdapter(
|
||||
libraryFragment.mainActivity,
|
||||
dataSet,
|
||||
itemLayoutRes(),
|
||||
loadUsePalette(),
|
||||
libraryFragment
|
||||
)
|
||||
}
|
||||
|
||||
override fun loadGridSize(): Int {
|
||||
|
@ -128,4 +129,15 @@ class ArtistsFragment : AbsLibraryPagerRecyclerViewCustomGridSizeFragment<Artist
|
|||
return fragment
|
||||
}
|
||||
}
|
||||
|
||||
override fun setLayoutRes(layoutRes: Int) {
|
||||
}
|
||||
|
||||
override fun loadLayoutRes(): Int {
|
||||
return PreferenceUtil.getInstance(requireContext()).artistGridStyle
|
||||
}
|
||||
|
||||
override fun saveLayoutRes(layoutRes: Int) {
|
||||
PreferenceUtil.getInstance(requireContext()).artistGridStyle = layoutRes
|
||||
}
|
||||
}
|
||||
|
|
|
@ -35,7 +35,6 @@ import code.name.monkey.retromusic.util.RetroUtil;
|
|||
import com.afollestad.materialcab.MaterialCab;
|
||||
import com.google.android.material.appbar.AppBarLayout;
|
||||
import com.google.android.material.card.MaterialCardView;
|
||||
import io.reactivex.disposables.CompositeDisposable;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
|
||||
public class LibraryFragment extends AbsMainActivityFragment implements CabHolder, MainActivityFragmentCallbacks {
|
||||
|
@ -48,8 +47,6 @@ public class LibraryFragment extends AbsMainActivityFragment implements CabHolde
|
|||
|
||||
private MaterialCab cab;
|
||||
|
||||
private CompositeDisposable disposable;
|
||||
|
||||
private FragmentManager fragmentManager;
|
||||
|
||||
private Toolbar toolbar;
|
||||
|
@ -76,7 +73,6 @@ public class LibraryFragment extends AbsMainActivityFragment implements CabHolde
|
|||
@Nullable ViewGroup container,
|
||||
@Nullable Bundle savedInstanceState) {
|
||||
View view = inflater.inflate(R.layout.fragment_library, container, false);
|
||||
disposable = new CompositeDisposable();
|
||||
appBarLayout = view.findViewById(R.id.appBarLayout);
|
||||
toolbarContainer = view.findViewById(R.id.toolbarContainer);
|
||||
toolbar = view.findViewById(R.id.toolbar);
|
||||
|
@ -91,11 +87,6 @@ public class LibraryFragment extends AbsMainActivityFragment implements CabHolde
|
|||
inflateFragment();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onDestroyView() {
|
||||
super.onDestroyView();
|
||||
disposable.dispose();
|
||||
}
|
||||
|
||||
public void addOnAppBarOffsetChangedListener(
|
||||
@NonNull AppBarLayout.OnOffsetChangedListener onOffsetChangedListener) {
|
||||
|
@ -126,11 +117,18 @@ public class LibraryFragment extends AbsMainActivityFragment implements CabHolde
|
|||
AbsLibraryPagerRecyclerViewCustomGridSizeFragment fragment
|
||||
= (AbsLibraryPagerRecyclerViewCustomGridSizeFragment) currentFragment;
|
||||
|
||||
MenuItem gridSizeItem = menu.findItem(R.id.action_grid_size);
|
||||
if (RetroUtil.isLandscape()) {
|
||||
gridSizeItem.setTitle(R.string.action_grid_size_land);
|
||||
if (fragment instanceof SongsFragment) {
|
||||
menu.removeItem(R.id.action_grid_size);
|
||||
menu.removeItem(R.id.action_layout_type);
|
||||
} else {
|
||||
MenuItem gridSizeItem = menu.findItem(R.id.action_grid_size);
|
||||
if (RetroUtil.isLandscape()) {
|
||||
gridSizeItem.setTitle(R.string.action_grid_size_land);
|
||||
}
|
||||
setUpGridSizeMenu(fragment, gridSizeItem.getSubMenu());
|
||||
MenuItem layoutItem = menu.findItem(R.id.action_layout_type);
|
||||
setupLayoutMenu(fragment, layoutItem.getSubMenu());
|
||||
}
|
||||
setUpGridSizeMenu(fragment, gridSizeItem.getSubMenu());
|
||||
|
||||
setUpSortOrderMenu(fragment, menu.findItem(R.id.action_sort_order).getSubMenu());
|
||||
|
||||
|
@ -157,6 +155,9 @@ public class LibraryFragment extends AbsMainActivityFragment implements CabHolde
|
|||
if (handleGridSizeMenuItem(fragment, item)) {
|
||||
return true;
|
||||
}
|
||||
if (handleLayoutResType(fragment, item)) {
|
||||
return true;
|
||||
}
|
||||
if (handleSortOrderMenuItem(fragment, item)) {
|
||||
return true;
|
||||
}
|
||||
|
@ -220,8 +221,8 @@ public class LibraryFragment extends AbsMainActivityFragment implements CabHolde
|
|||
}
|
||||
|
||||
private boolean handleGridSizeMenuItem(
|
||||
@NonNull AbsLibraryPagerRecyclerViewCustomGridSizeFragment
|
||||
fragment, @NonNull MenuItem item) {
|
||||
@NonNull AbsLibraryPagerRecyclerViewCustomGridSizeFragment fragment,
|
||||
@NonNull MenuItem item) {
|
||||
int gridSize = 0;
|
||||
switch (item.getItemId()) {
|
||||
case R.id.action_grid_size_1:
|
||||
|
@ -258,6 +259,38 @@ public class LibraryFragment extends AbsMainActivityFragment implements CabHolde
|
|||
return false;
|
||||
}
|
||||
|
||||
private boolean handleLayoutResType(
|
||||
final AbsLibraryPagerRecyclerViewCustomGridSizeFragment fragment,
|
||||
final MenuItem item) {
|
||||
int layoutRes = -1;
|
||||
switch (item.getItemId()) {
|
||||
case R.id.action_layout_normal:
|
||||
layoutRes = R.layout.item_grid;
|
||||
break;
|
||||
case R.id.action_layout_card:
|
||||
layoutRes = R.layout.item_card;
|
||||
break;
|
||||
case R.id.action_layout_colored_card:
|
||||
layoutRes = R.layout.item_card_color;
|
||||
break;
|
||||
case R.id.action_layout_circular:
|
||||
layoutRes = R.layout.item_grid_circle;
|
||||
break;
|
||||
case R.id.action_layout_image:
|
||||
layoutRes = R.layout.image;
|
||||
break;
|
||||
case R.id.action_layout_gradient_image:
|
||||
layoutRes = R.layout.item_image_gradient;
|
||||
break;
|
||||
}
|
||||
if (layoutRes != -1) {
|
||||
item.setChecked(true);
|
||||
fragment.setAndSaveLayoutRes(layoutRes);
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
private boolean handleSortOrderMenuItem(
|
||||
@NonNull AbsLibraryPagerRecyclerViewCustomGridSizeFragment
|
||||
fragment, @NonNull MenuItem item) {
|
||||
|
@ -448,7 +481,31 @@ public class LibraryFragment extends AbsMainActivityFragment implements CabHolde
|
|||
sortOrderMenu.setGroupCheckable(0, true, true);
|
||||
}
|
||||
|
||||
@SuppressWarnings("ConstantConditions")
|
||||
private void setupLayoutMenu(
|
||||
@NonNull final AbsLibraryPagerRecyclerViewCustomGridSizeFragment fragment,
|
||||
@NonNull final SubMenu subMenu) {
|
||||
switch (fragment.itemLayoutRes()) {
|
||||
case R.layout.item_card:
|
||||
subMenu.findItem(R.id.action_layout_card).setChecked(true);
|
||||
break;
|
||||
case R.layout.item_grid:
|
||||
subMenu.findItem(R.id.action_layout_normal).setChecked(true);
|
||||
break;
|
||||
case R.layout.item_card_color:
|
||||
subMenu.findItem(R.id.action_layout_colored_card).setChecked(true);
|
||||
break;
|
||||
case R.layout.item_grid_circle:
|
||||
subMenu.findItem(R.id.action_layout_circular).setChecked(true);
|
||||
break;
|
||||
case R.layout.image:
|
||||
subMenu.findItem(R.id.action_layout_image).setChecked(true);
|
||||
break;
|
||||
case R.layout.item_image_gradient:
|
||||
subMenu.findItem(R.id.action_layout_gradient_image).setChecked(true);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
private void setupToolbar() {
|
||||
toolbar.setBackgroundTintList(
|
||||
ColorStateList.valueOf(ATHUtil.INSTANCE.resolveColor(requireContext(), R.attr.colorSurface)));
|
||||
|
@ -462,6 +519,5 @@ public class LibraryFragment extends AbsMainActivityFragment implements CabHolde
|
|||
getMainActivity().setSupportActionBar(toolbar);
|
||||
toolbar.setNavigationOnClickListener(v -> showMainMenu(OptionsSheetDialogFragment.LIBRARY));
|
||||
ToolbarContentTintHelper.colorBackButton(toolbar);
|
||||
//toolbar.setTitleTextColor(ATHUtil.INSTANCE.resolveColor(requireContext(), R.attr.colorOnSecondary));
|
||||
}
|
||||
}
|
|
@ -2,7 +2,8 @@ package code.name.monkey.retromusic.fragments.mainactivity
|
|||
|
||||
import android.os.Bundle
|
||||
import android.view.View
|
||||
import androidx.recyclerview.widget.GridLayoutManager
|
||||
import androidx.annotation.LayoutRes
|
||||
import androidx.recyclerview.widget.LinearLayoutManager
|
||||
import code.name.monkey.retromusic.App
|
||||
import code.name.monkey.retromusic.R
|
||||
import code.name.monkey.retromusic.adapter.song.ShuffleButtonSongAdapter
|
||||
|
@ -12,15 +13,15 @@ import code.name.monkey.retromusic.model.Song
|
|||
import code.name.monkey.retromusic.mvp.presenter.SongPresenter
|
||||
import code.name.monkey.retromusic.mvp.presenter.SongView
|
||||
import code.name.monkey.retromusic.util.PreferenceUtil
|
||||
import java.util.*
|
||||
import java.util.ArrayList
|
||||
import javax.inject.Inject
|
||||
|
||||
class SongsFragment : AbsLibraryPagerRecyclerViewCustomGridSizeFragment<SongAdapter, GridLayoutManager>(), SongView {
|
||||
class SongsFragment : AbsLibraryPagerRecyclerViewCustomGridSizeFragment<SongAdapter, LinearLayoutManager>(),
|
||||
SongView {
|
||||
|
||||
@Inject
|
||||
lateinit var songPresenter: SongPresenter
|
||||
|
||||
|
||||
override val emptyMessage: Int
|
||||
get() = R.string.no_songs
|
||||
|
||||
|
@ -34,20 +35,18 @@ class SongsFragment : AbsLibraryPagerRecyclerViewCustomGridSizeFragment<SongAdap
|
|||
songPresenter.attachView(this)
|
||||
}
|
||||
|
||||
override fun createLayoutManager(): GridLayoutManager {
|
||||
return GridLayoutManager(activity, getGridSize())
|
||||
override fun createLayoutManager(): LinearLayoutManager {
|
||||
return LinearLayoutManager(activity)
|
||||
}
|
||||
|
||||
override fun createAdapter(): SongAdapter {
|
||||
val itemLayoutRes = itemLayoutRes
|
||||
notifyLayoutResChanged(itemLayoutRes)
|
||||
val usePalette = loadUsePalette()
|
||||
|
||||
val dataSet = if (adapter == null) ArrayList() else adapter!!.dataSet
|
||||
|
||||
return if (getGridSize() <= maxGridSizeForList) {
|
||||
ShuffleButtonSongAdapter(libraryFragment.mainActivity, dataSet, itemLayoutRes, usePalette, libraryFragment)
|
||||
} else SongAdapter(libraryFragment.mainActivity, dataSet, itemLayoutRes, usePalette, libraryFragment)
|
||||
return ShuffleButtonSongAdapter(
|
||||
libraryFragment.mainActivity,
|
||||
dataSet,
|
||||
R.layout.item_list,
|
||||
libraryFragment
|
||||
)
|
||||
}
|
||||
|
||||
override fun songs(songs: ArrayList<Song>) {
|
||||
|
@ -83,11 +82,9 @@ class SongsFragment : AbsLibraryPagerRecyclerViewCustomGridSizeFragment<SongAdap
|
|||
}
|
||||
|
||||
public override fun setUsePalette(usePalette: Boolean) {
|
||||
adapter?.usePalette(usePalette)
|
||||
}
|
||||
|
||||
override fun setGridSize(gridSize: Int) {
|
||||
layoutManager?.spanCount = gridSize
|
||||
adapter?.notifyDataSetChanged()
|
||||
}
|
||||
|
||||
|
@ -131,4 +128,15 @@ class SongsFragment : AbsLibraryPagerRecyclerViewCustomGridSizeFragment<SongAdap
|
|||
return fragment
|
||||
}
|
||||
}
|
||||
|
||||
override fun setLayoutRes(@LayoutRes layoutRes: Int) {
|
||||
}
|
||||
|
||||
@LayoutRes
|
||||
override fun loadLayoutRes(): Int {
|
||||
return R.layout.item_list
|
||||
}
|
||||
|
||||
override fun saveLayoutRes(@LayoutRes layoutRes: Int) {
|
||||
}
|
||||
}
|
||||
|
|
File diff suppressed because it is too large
Load diff
|
@ -111,6 +111,7 @@ class PlayerPlaybackControlsFragment : AbsPlayerControlsFragment(), OnSharedPref
|
|||
val song = MusicPlayerRemote.currentSong
|
||||
title.text = song.title
|
||||
text.text = song.artistName
|
||||
|
||||
if (PreferenceUtil.getInstance(requireContext()).isSongInfo) {
|
||||
songInfo?.text = getSongInfo(song)
|
||||
} else {
|
||||
|
@ -266,7 +267,7 @@ class PlayerPlaybackControlsFragment : AbsPlayerControlsFragment(), OnSharedPref
|
|||
override fun onSharedPreferenceChanged(sharedPreferences: SharedPreferences?, key: String?) {
|
||||
println(key)
|
||||
if (key == PreferenceUtil.EXTRA_SONG_INFO) {
|
||||
updateSong()
|
||||
if (activity != null) updateSong()
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -41,11 +41,7 @@ class PersonalizeSettingsFragment : AbsSettingsFragment(), SharedPreferences.OnS
|
|||
super.onViewCreated(view, savedInstanceState)
|
||||
PreferenceUtil.getInstance(requireContext()).registerOnSharedPreferenceChangedListener(this)
|
||||
|
||||
var preference: Preference? = findPreference("album_grid_style")
|
||||
setSummary(preference!!)
|
||||
preference = findPreference("artist_grid_style")
|
||||
setSummary(preference!!)
|
||||
preference = findPreference("home_artist_grid_style")
|
||||
var preference: Preference? = findPreference("home_artist_grid_style")
|
||||
setSummary(preference!!)
|
||||
preference = findPreference("tab_text_mode")
|
||||
setSummary(preference!!)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue