This commit is contained in:
Hemanth S 2020-05-17 22:18:36 +05:30
parent 6d9860016e
commit 563ae8a699
16 changed files with 63 additions and 50 deletions

View file

@ -82,8 +82,6 @@ class AlbumsFragment :
albumViewModel.getAlbums()
}
override fun setLayoutRes(layoutRes: Int) {
}
override fun loadLayoutRes(): Int {
return PreferenceUtil.getInstance(requireContext()).albumGridStyle

View file

@ -88,9 +88,6 @@ class ArtistsFragment :
PreferenceUtil.getInstance(requireContext()).artistSortOrder = sortOrder
}
override fun setLayoutRes(layoutRes: Int) {
}
override fun loadLayoutRes(): Int {
return PreferenceUtil.getInstance(requireContext()).artistGridStyle
}

View file

@ -31,7 +31,6 @@ abstract class AbsLibraryPagerRecyclerViewCustomGridSizeFragment<A : RecyclerVie
fun setAndSaveLayoutRes(layoutRes: Int) {
setLayoutRes(layoutRes)
saveLayoutRes(layoutRes)
invalidateAdapter()
}
@ -108,8 +107,6 @@ abstract class AbsLibraryPagerRecyclerViewCustomGridSizeFragment<A : RecyclerVie
protected abstract fun setSortOrder(sortOrder: String)
protected abstract fun setLayoutRes(layoutRes: Int)
protected abstract fun loadSortOrder(): String
protected abstract fun saveSortOrder(sortOrder: String)

View file

@ -50,7 +50,6 @@ import java.util.Collections;
import java.util.Comparator;
import java.util.LinkedList;
import java.util.List;
import java.util.Objects;
import code.name.monkey.appthemehelper.ThemeStore;
import code.name.monkey.appthemehelper.util.ATHUtil;
@ -596,7 +595,7 @@ public class FoldersFragment extends AbsMainActivityFragment implements
private WeakReference<FoldersFragment> fragmentWeakReference;
AsyncFileLoader(FoldersFragment foldersFragment) {
super(Objects.requireNonNull(foldersFragment.getActivity()));
super(foldersFragment.requireActivity());
fragmentWeakReference = new WeakReference<>(foldersFragment);
}

View file

@ -275,7 +275,7 @@ class ClassicPlayerFragment : AbsPlayerFragment(), View.OnLayoutChangeListener,
playerContainer.setBackgroundColor(color.backgroundColor)
songInfo.setTextColor(color.primaryTextColor)
player_queue_sub_header.setTextColor(color.backgroundColor)
player_queue_sub_header.setTextColor(color.primaryTextColor)
songCurrentProgress.setTextColor(lastPlaybackControlsColor)
songTotalTime.setTextColor(lastPlaybackControlsColor)

View file

@ -3,7 +3,6 @@ package code.name.monkey.retromusic.fragments.songs
import android.os.Bundle
import android.view.View
import androidx.annotation.LayoutRes
import androidx.lifecycle.ViewModelProvider
import androidx.recyclerview.widget.GridLayoutManager
import code.name.monkey.retromusic.App
import code.name.monkey.retromusic.R
@ -11,13 +10,19 @@ import code.name.monkey.retromusic.adapter.song.ShuffleButtonSongAdapter
import code.name.monkey.retromusic.adapter.song.SongAdapter
import code.name.monkey.retromusic.fragments.base.AbsLibraryPagerRecyclerViewCustomGridSizeFragment
import code.name.monkey.retromusic.interfaces.MainActivityFragmentCallbacks
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 javax.inject.Inject
class SongsFragment :
AbsLibraryPagerRecyclerViewCustomGridSizeFragment<SongAdapter, GridLayoutManager>(),
MainActivityFragmentCallbacks {
SongView, MainActivityFragmentCallbacks {
private lateinit var songViewModel: SongsViewModel
@Inject
lateinit var songPresenter: SongPresenter
override val emptyMessage: Int
get() = R.string.no_songs
@ -25,22 +30,15 @@ class SongsFragment :
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
App.musicComponent.inject(this)
retainInstance = true
}
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
super.onViewCreated(view, savedInstanceState)
songViewModel = ViewModelProvider(this).get(SongsViewModel::class.java)
songViewModel.songs.observe(viewLifecycleOwner,
androidx.lifecycle.Observer { songs ->
if (songs.isNotEmpty())
adapter?.swapDataSet(songs)
else
adapter?.swapDataSet(listOf())
})
songPresenter.attachView(this)
}
override fun createLayoutManager(): GridLayoutManager {
println("createLayoutManager: ${getGridSize()}")
return GridLayoutManager(requireActivity(), getGridSize()).apply {
spanSizeLookup = object : GridLayoutManager.SpanSizeLookup() {
override fun getSpanSize(position: Int): Int {
@ -64,8 +62,12 @@ class SongsFragment :
)
}
override fun songs(songs: List<Song>) {
adapter?.swapDataSet(songs)
}
override fun onMediaStoreChanged() {
//songPresenter.loadSongs()
songPresenter.loadSongs()
}
override fun loadGridSize(): Int {
@ -88,6 +90,20 @@ class SongsFragment :
adapter?.notifyDataSetChanged()
}
override fun onResume() {
super.onResume()
if (adapter?.dataSet.isNullOrEmpty())
songPresenter.loadSongs()
}
override fun onDestroyView() {
super.onDestroyView()
songPresenter.detachView()
}
override fun showEmptyView() {
adapter?.swapDataSet(ArrayList())
}
override fun loadSortOrder(): String {
return PreferenceUtil.getInstance(requireContext()).songSortOrder
@ -98,7 +114,7 @@ class SongsFragment :
}
override fun setSortOrder(sortOrder: String) {
songViewModel.loadSongs()
songPresenter.loadSongs()
}
companion object {
@ -109,16 +125,12 @@ class SongsFragment :
@JvmStatic
fun newInstance(): SongsFragment {
val args = Bundle()
val fragment =
SongsFragment()
val fragment = SongsFragment()
fragment.arguments = args
return fragment
}
}
override fun setLayoutRes(@LayoutRes layoutRes: Int) {
}
@LayoutRes
override fun loadLayoutRes(): Int {
return PreferenceUtil.getInstance(requireContext()).songGridStyle