Added Dagger
This commit is contained in:
parent
074298dcb0
commit
6cdea14316
47 changed files with 1130 additions and 826 deletions
|
@ -2,18 +2,23 @@ package code.name.monkey.retromusic.fragments.mainactivity
|
|||
|
||||
import android.os.Bundle
|
||||
import androidx.recyclerview.widget.GridLayoutManager
|
||||
import code.name.monkey.retromusic.App
|
||||
import code.name.monkey.retromusic.R
|
||||
import code.name.monkey.retromusic.adapter.album.AlbumAdapter
|
||||
import code.name.monkey.retromusic.fragments.base.AbsLibraryPagerRecyclerViewCustomGridSizeFragment
|
||||
import code.name.monkey.retromusic.model.Album
|
||||
import code.name.monkey.retromusic.mvp.contract.AlbumContract
|
||||
import code.name.monkey.retromusic.mvp.presenter.AlbumPresenter
|
||||
import code.name.monkey.retromusic.mvp.presenter.AlbumsPresenter
|
||||
import code.name.monkey.retromusic.mvp.presenter.AlbumsView
|
||||
import code.name.monkey.retromusic.util.PreferenceUtil
|
||||
import javax.inject.Inject
|
||||
|
||||
open class AlbumsFragment : AbsLibraryPagerRecyclerViewCustomGridSizeFragment<AlbumAdapter, GridLayoutManager>(), AlbumContract.AlbumView {
|
||||
|
||||
private lateinit var presenter: AlbumPresenter
|
||||
open class AlbumsFragment : AbsLibraryPagerRecyclerViewCustomGridSizeFragment<AlbumAdapter, GridLayoutManager>(), AlbumsView {
|
||||
override fun albums(albums: java.util.ArrayList<Album>) {
|
||||
adapter?.swapDataSet(albums)
|
||||
}
|
||||
|
||||
@Inject
|
||||
lateinit var albumsPresenter: AlbumsPresenter
|
||||
|
||||
override val emptyMessage: Int
|
||||
get() = R.string.no_albums
|
||||
|
@ -26,15 +31,13 @@ open class AlbumsFragment : AbsLibraryPagerRecyclerViewCustomGridSizeFragment<Al
|
|||
var itemLayoutRes = itemLayoutRes
|
||||
notifyLayoutResChanged(itemLayoutRes)
|
||||
if (itemLayoutRes != R.layout.item_list) {
|
||||
|
||||
itemLayoutRes = PreferenceUtil.getInstance().getAlbumGridStyle(context!!)
|
||||
itemLayoutRes = PreferenceUtil.getInstance().getAlbumGridStyle(requireContext())
|
||||
}
|
||||
val dataSet = if (adapter == null) ArrayList() else adapter!!.dataSet
|
||||
return AlbumAdapter(libraryFragment.mainActivity, dataSet, itemLayoutRes, loadUsePalette(), libraryFragment)
|
||||
}
|
||||
|
||||
public override fun loadUsePalette(): Boolean {
|
||||
|
||||
return PreferenceUtil.getInstance().albumColoredFooters()
|
||||
}
|
||||
|
||||
|
@ -43,13 +46,10 @@ open class AlbumsFragment : AbsLibraryPagerRecyclerViewCustomGridSizeFragment<Al
|
|||
}
|
||||
|
||||
override fun setGridSize(gridSize: Int) {
|
||||
layoutManager!!.spanCount = gridSize
|
||||
adapter!!.notifyDataSetChanged()
|
||||
layoutManager?.spanCount = gridSize
|
||||
adapter?.notifyDataSetChanged()
|
||||
}
|
||||
|
||||
override fun setSortOrder(sortOrder: String) {
|
||||
presenter.loadAlbums()
|
||||
}
|
||||
|
||||
override fun loadSortOrder(): String {
|
||||
|
||||
|
@ -86,38 +86,36 @@ open class AlbumsFragment : AbsLibraryPagerRecyclerViewCustomGridSizeFragment<Al
|
|||
PreferenceUtil.getInstance().setAlbumColoredFooters(usePalette)
|
||||
}
|
||||
|
||||
override fun onMediaStoreChanged() {
|
||||
presenter.loadAlbums()
|
||||
}
|
||||
|
||||
override fun onCreate(savedInstanceState: Bundle?) {
|
||||
super.onCreate(savedInstanceState)
|
||||
presenter = AlbumPresenter(this)
|
||||
}
|
||||
|
||||
App.musicComponent.inject(this)
|
||||
albumsPresenter.attachView(this)
|
||||
}
|
||||
|
||||
override fun onResume() {
|
||||
super.onResume()
|
||||
if (adapter!!.dataSet.isEmpty()) {
|
||||
presenter.subscribe()
|
||||
albumsPresenter.loadAlbums()
|
||||
}
|
||||
}
|
||||
|
||||
override fun onDestroy() {
|
||||
super.onDestroy()
|
||||
presenter.unsubscribe()
|
||||
override fun onMediaStoreChanged() {
|
||||
albumsPresenter.loadAlbums()
|
||||
}
|
||||
|
||||
override fun setSortOrder(sortOrder: String) {
|
||||
albumsPresenter.loadAlbums()
|
||||
}
|
||||
|
||||
override fun onDestroyView() {
|
||||
super.onDestroyView()
|
||||
albumsPresenter.detachView()
|
||||
}
|
||||
|
||||
override fun loading() {}
|
||||
|
||||
override fun showEmptyView() {
|
||||
adapter!!.swapDataSet(ArrayList())
|
||||
}
|
||||
|
||||
override fun completed() {}
|
||||
|
||||
override fun showData(list: ArrayList<Album>) {
|
||||
adapter!!.swapDataSet(list)
|
||||
adapter?.swapDataSet(ArrayList())
|
||||
}
|
||||
|
||||
companion object {
|
||||
|
|
|
@ -2,24 +2,46 @@ package code.name.monkey.retromusic.fragments.mainactivity
|
|||
|
||||
import android.os.Bundle
|
||||
import androidx.recyclerview.widget.GridLayoutManager
|
||||
import code.name.monkey.retromusic.App
|
||||
import code.name.monkey.retromusic.R
|
||||
import code.name.monkey.retromusic.adapter.artist.ArtistAdapter
|
||||
import code.name.monkey.retromusic.fragments.base.AbsLibraryPagerRecyclerViewCustomGridSizeFragment
|
||||
import code.name.monkey.retromusic.model.Artist
|
||||
import code.name.monkey.retromusic.mvp.contract.ArtistContract
|
||||
import code.name.monkey.retromusic.mvp.presenter.ArtistPresenter
|
||||
import code.name.monkey.retromusic.mvp.presenter.ArtistsPresenter
|
||||
import code.name.monkey.retromusic.mvp.presenter.ArtistsView
|
||||
import code.name.monkey.retromusic.util.PreferenceUtil
|
||||
import java.util.*
|
||||
import javax.inject.Inject
|
||||
|
||||
class ArtistsFragment : AbsLibraryPagerRecyclerViewCustomGridSizeFragment<ArtistAdapter, GridLayoutManager>(), ArtistContract.ArtistView {
|
||||
private lateinit var presenter: ArtistPresenter
|
||||
class ArtistsFragment : AbsLibraryPagerRecyclerViewCustomGridSizeFragment<ArtistAdapter, GridLayoutManager>(), ArtistsView {
|
||||
override fun artists(artists: ArrayList<Artist>) {
|
||||
adapter?.swapDataSet(artists)
|
||||
}
|
||||
|
||||
@Inject
|
||||
lateinit var artistsPresenter: ArtistsPresenter
|
||||
|
||||
override val emptyMessage: Int
|
||||
get() = R.string.no_artists
|
||||
|
||||
override fun onCreate(savedInstanceState: Bundle?) {
|
||||
super.onCreate(savedInstanceState)
|
||||
presenter = ArtistPresenter(this)
|
||||
App.musicComponent.inject(this)
|
||||
artistsPresenter.attachView(this)
|
||||
}
|
||||
|
||||
override fun onResume() {
|
||||
super.onResume()
|
||||
if (adapter!!.dataSet.isEmpty()) {
|
||||
artistsPresenter.loadArtists()
|
||||
}
|
||||
}
|
||||
|
||||
override fun onMediaStoreChanged() {
|
||||
artistsPresenter.loadArtists()
|
||||
}
|
||||
|
||||
override fun setSortOrder(sortOrder: String) {
|
||||
artistsPresenter.loadArtists()
|
||||
}
|
||||
|
||||
override fun createLayoutManager(): GridLayoutManager {
|
||||
|
@ -30,15 +52,12 @@ class ArtistsFragment : AbsLibraryPagerRecyclerViewCustomGridSizeFragment<Artist
|
|||
var itemLayoutRes = itemLayoutRes
|
||||
notifyLayoutResChanged(itemLayoutRes)
|
||||
if (itemLayoutRes != R.layout.item_list) {
|
||||
itemLayoutRes = PreferenceUtil.getInstance().getArtistGridStyle(context!!)
|
||||
itemLayoutRes = PreferenceUtil.getInstance().getArtistGridStyle(requireContext())
|
||||
}
|
||||
val dataSet = if (adapter == null) ArrayList() else adapter!!.dataSet
|
||||
return ArtistAdapter(libraryFragment.mainActivity, dataSet, itemLayoutRes, loadUsePalette(), libraryFragment)
|
||||
}
|
||||
|
||||
override fun onMediaStoreChanged() {
|
||||
presenter.loadArtists()
|
||||
}
|
||||
|
||||
override fun loadGridSize(): Int {
|
||||
return PreferenceUtil.getInstance().getArtistGridSize(activity!!)
|
||||
|
@ -65,12 +84,12 @@ class ArtistsFragment : AbsLibraryPagerRecyclerViewCustomGridSizeFragment<Artist
|
|||
}
|
||||
|
||||
override fun setUsePalette(usePalette: Boolean) {
|
||||
adapter!!.usePalette(usePalette)
|
||||
adapter?.usePalette(usePalette)
|
||||
}
|
||||
|
||||
override fun setGridSize(gridSize: Int) {
|
||||
layoutManager!!.spanCount = gridSize
|
||||
adapter!!.notifyDataSetChanged()
|
||||
layoutManager?.spanCount = gridSize
|
||||
adapter?.notifyDataSetChanged()
|
||||
}
|
||||
|
||||
|
||||
|
@ -82,34 +101,13 @@ class ArtistsFragment : AbsLibraryPagerRecyclerViewCustomGridSizeFragment<Artist
|
|||
PreferenceUtil.getInstance().artistSortOrder = sortOrder
|
||||
}
|
||||
|
||||
override fun setSortOrder(sortOrder: String) {
|
||||
presenter.loadArtists()
|
||||
override fun onDestroyView() {
|
||||
super.onDestroyView()
|
||||
artistsPresenter.detachView()
|
||||
}
|
||||
|
||||
override fun onResume() {
|
||||
super.onResume()
|
||||
if (adapter!!.dataSet.isEmpty()) {
|
||||
presenter.subscribe()
|
||||
}
|
||||
}
|
||||
|
||||
override fun onDestroy() {
|
||||
super.onDestroy()
|
||||
presenter.unsubscribe()
|
||||
}
|
||||
|
||||
override fun loading() {}
|
||||
|
||||
override fun showEmptyView() {
|
||||
adapter!!.swapDataSet(ArrayList())
|
||||
}
|
||||
|
||||
override fun completed() {
|
||||
|
||||
}
|
||||
|
||||
override fun showData(list: ArrayList<Artist>) {
|
||||
adapter!!.swapDataSet(list)
|
||||
adapter?.swapDataSet(ArrayList())
|
||||
}
|
||||
|
||||
companion object {
|
||||
|
@ -125,5 +123,4 @@ class ArtistsFragment : AbsLibraryPagerRecyclerViewCustomGridSizeFragment<Artist
|
|||
return fragment
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -16,31 +16,25 @@ package code.name.monkey.retromusic.fragments.mainactivity
|
|||
|
||||
import android.os.Bundle
|
||||
import androidx.recyclerview.widget.LinearLayoutManager
|
||||
import code.name.monkey.retromusic.App
|
||||
import code.name.monkey.retromusic.R
|
||||
import code.name.monkey.retromusic.adapter.GenreAdapter
|
||||
import code.name.monkey.retromusic.fragments.base.AbsLibraryPagerRecyclerViewFragment
|
||||
import code.name.monkey.retromusic.model.Genre
|
||||
import code.name.monkey.retromusic.mvp.contract.GenreContract
|
||||
import code.name.monkey.retromusic.mvp.presenter.GenrePresenter
|
||||
import code.name.monkey.retromusic.mvp.presenter.GenresPresenter
|
||||
import code.name.monkey.retromusic.mvp.presenter.GenresView
|
||||
import javax.inject.Inject
|
||||
|
||||
|
||||
class GenresFragment : AbsLibraryPagerRecyclerViewFragment<GenreAdapter, LinearLayoutManager>(), GenreContract.GenreView {
|
||||
override fun loading() {
|
||||
|
||||
}
|
||||
|
||||
override fun showData(list: ArrayList<Genre>) {
|
||||
adapter?.swapDataSet(list)
|
||||
class GenresFragment : AbsLibraryPagerRecyclerViewFragment<GenreAdapter, LinearLayoutManager>(), GenresView {
|
||||
override fun genres(genres: ArrayList<Genre>) {
|
||||
adapter?.swapDataSet(genres)
|
||||
}
|
||||
|
||||
override fun showEmptyView() {
|
||||
|
||||
}
|
||||
|
||||
override fun completed() {
|
||||
|
||||
}
|
||||
|
||||
override fun createLayoutManager(): LinearLayoutManager {
|
||||
return LinearLayoutManager(activity)
|
||||
}
|
||||
|
@ -53,28 +47,31 @@ class GenresFragment : AbsLibraryPagerRecyclerViewFragment<GenreAdapter, LinearL
|
|||
override val emptyMessage: Int
|
||||
get() = R.string.no_genres
|
||||
|
||||
private lateinit var presenter: GenrePresenter
|
||||
|
||||
@Inject
|
||||
lateinit var genresPresenter: GenresPresenter
|
||||
|
||||
|
||||
override fun onCreate(savedInstanceState: Bundle?) {
|
||||
super.onCreate(savedInstanceState)
|
||||
|
||||
presenter = GenrePresenter(this)
|
||||
App.musicComponent.inject(this)
|
||||
genresPresenter.attachView(this)
|
||||
}
|
||||
|
||||
override fun onResume() {
|
||||
super.onResume()
|
||||
if (adapter!!.dataSet.isEmpty()) {
|
||||
presenter.subscribe()
|
||||
genresPresenter.loadGenres()
|
||||
}
|
||||
}
|
||||
|
||||
override fun onDestroy() {
|
||||
presenter.unsubscribe()
|
||||
super.onDestroy()
|
||||
override fun onDestroyView() {
|
||||
super.onDestroyView()
|
||||
genresPresenter.detachView()
|
||||
}
|
||||
|
||||
override fun onMediaStoreChanged() {
|
||||
presenter.loadGenre()
|
||||
genresPresenter.loadGenres()
|
||||
}
|
||||
|
||||
companion object {
|
||||
|
|
|
@ -4,26 +4,28 @@ import android.os.Bundle
|
|||
import android.view.Menu
|
||||
import android.view.MenuInflater
|
||||
import androidx.recyclerview.widget.LinearLayoutManager
|
||||
import code.name.monkey.retromusic.App
|
||||
import code.name.monkey.retromusic.R
|
||||
import code.name.monkey.retromusic.adapter.playlist.PlaylistAdapter
|
||||
import code.name.monkey.retromusic.fragments.base.AbsLibraryPagerRecyclerViewFragment
|
||||
import code.name.monkey.retromusic.model.Playlist
|
||||
import code.name.monkey.retromusic.mvp.contract.PlaylistContract
|
||||
import code.name.monkey.retromusic.mvp.presenter.PlaylistPresenter
|
||||
import java.util.*
|
||||
import code.name.monkey.retromusic.mvp.presenter.PlaylistView
|
||||
import code.name.monkey.retromusic.mvp.presenter.PlaylistsPresenter
|
||||
import javax.inject.Inject
|
||||
|
||||
|
||||
class PlaylistsFragment : AbsLibraryPagerRecyclerViewFragment<PlaylistAdapter, LinearLayoutManager>(), PlaylistContract.PlaylistView {
|
||||
class PlaylistsFragment : AbsLibraryPagerRecyclerViewFragment<PlaylistAdapter, LinearLayoutManager>(), PlaylistView {
|
||||
|
||||
private lateinit var presenter: PlaylistPresenter
|
||||
@Inject
|
||||
lateinit var playlistsPresenter: PlaylistsPresenter
|
||||
|
||||
override val emptyMessage: Int
|
||||
get() = R.string.no_playlists
|
||||
|
||||
override fun onCreate(savedInstanceState: Bundle?) {
|
||||
super.onCreate(savedInstanceState)
|
||||
setHasOptionsMenu(true)
|
||||
presenter = PlaylistPresenter(this)
|
||||
App.musicComponent.inject(this)
|
||||
playlistsPresenter.attachView(this)
|
||||
}
|
||||
|
||||
override fun createLayoutManager(): LinearLayoutManager {
|
||||
|
@ -38,33 +40,25 @@ class PlaylistsFragment : AbsLibraryPagerRecyclerViewFragment<PlaylistAdapter, L
|
|||
override fun onResume() {
|
||||
super.onResume()
|
||||
if (adapter!!.dataSet.isEmpty()) {
|
||||
presenter.subscribe()
|
||||
playlistsPresenter.playlists()
|
||||
}
|
||||
}
|
||||
|
||||
override fun onDestroy() {
|
||||
presenter.unsubscribe()
|
||||
super.onDestroy()
|
||||
override fun onDestroyView() {
|
||||
super.onDestroyView()
|
||||
playlistsPresenter.detachView()
|
||||
}
|
||||
|
||||
override fun onMediaStoreChanged() {
|
||||
super.onMediaStoreChanged()
|
||||
presenter.loadPlaylists()
|
||||
}
|
||||
|
||||
override fun loading() {
|
||||
|
||||
playlistsPresenter.playlists()
|
||||
}
|
||||
|
||||
override fun showEmptyView() {
|
||||
adapter!!.swapDataSet(ArrayList())
|
||||
}
|
||||
|
||||
override fun completed() {
|
||||
|
||||
}
|
||||
|
||||
override fun showData(list: ArrayList<Playlist>) {
|
||||
override fun playlists(list: ArrayList<Playlist>) {
|
||||
adapter!!.swapDataSet(list)
|
||||
}
|
||||
|
||||
|
|
|
@ -2,27 +2,32 @@ package code.name.monkey.retromusic.fragments.mainactivity
|
|||
|
||||
import android.os.Bundle
|
||||
import androidx.recyclerview.widget.GridLayoutManager
|
||||
import code.name.monkey.retromusic.App
|
||||
import code.name.monkey.retromusic.R
|
||||
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.model.Song
|
||||
import code.name.monkey.retromusic.mvp.contract.SongContract
|
||||
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>(), SongContract.SongView {
|
||||
class SongsFragment : AbsLibraryPagerRecyclerViewCustomGridSizeFragment<SongAdapter, GridLayoutManager>(), SongView {
|
||||
|
||||
@Inject
|
||||
lateinit var songPresenter: SongPresenter
|
||||
|
||||
private lateinit var presenter: SongPresenter
|
||||
|
||||
override val emptyMessage: Int
|
||||
get() = R.string.no_songs
|
||||
|
||||
override fun onCreate(savedInstanceState: Bundle?) {
|
||||
super.onCreate(savedInstanceState)
|
||||
presenter = SongPresenter(this)
|
||||
App.musicComponent.inject(this)
|
||||
|
||||
songPresenter.attachView(this)
|
||||
}
|
||||
|
||||
override fun createLayoutManager(): GridLayoutManager {
|
||||
|
@ -41,8 +46,12 @@ class SongsFragment : AbsLibraryPagerRecyclerViewCustomGridSizeFragment<SongAdap
|
|||
} else SongAdapter(libraryFragment.mainActivity, dataSet, itemLayoutRes, usePalette, libraryFragment)
|
||||
}
|
||||
|
||||
override fun songs(songs: ArrayList<Song>) {
|
||||
adapter?.swapDataSet(songs)
|
||||
}
|
||||
|
||||
override fun onMediaStoreChanged() {
|
||||
presenter.loadSongs()
|
||||
songPresenter.loadSongs()
|
||||
}
|
||||
|
||||
override fun loadGridSize(): Int {
|
||||
|
@ -81,31 +90,19 @@ class SongsFragment : AbsLibraryPagerRecyclerViewCustomGridSizeFragment<SongAdap
|
|||
override fun onResume() {
|
||||
super.onResume()
|
||||
if (adapter!!.dataSet.isEmpty()) {
|
||||
presenter.subscribe()
|
||||
songPresenter.loadSongs()
|
||||
}
|
||||
}
|
||||
|
||||
override fun onDestroy() {
|
||||
presenter.unsubscribe()
|
||||
super.onDestroy()
|
||||
}
|
||||
|
||||
override fun loading() {
|
||||
|
||||
}
|
||||
|
||||
override fun showData(list: ArrayList<Song>) {
|
||||
adapter!!.swapDataSet(list)
|
||||
override fun onDestroyView() {
|
||||
super.onDestroyView()
|
||||
songPresenter.detachView()
|
||||
}
|
||||
|
||||
override fun showEmptyView() {
|
||||
adapter!!.swapDataSet(ArrayList())
|
||||
}
|
||||
|
||||
override fun completed() {
|
||||
|
||||
}
|
||||
|
||||
override fun loadSortOrder(): String {
|
||||
return PreferenceUtil.getInstance().songSortOrder
|
||||
}
|
||||
|
@ -115,7 +112,7 @@ class SongsFragment : AbsLibraryPagerRecyclerViewCustomGridSizeFragment<SongAdap
|
|||
}
|
||||
|
||||
override fun setSortOrder(sortOrder: String) {
|
||||
presenter.loadSongs()
|
||||
songPresenter.loadSongs()
|
||||
}
|
||||
|
||||
companion object {
|
||||
|
|
|
@ -13,6 +13,7 @@ import code.name.monkey.appthemehelper.ThemeStore
|
|||
import code.name.monkey.appthemehelper.common.ATHToolbarActivity
|
||||
import code.name.monkey.appthemehelper.util.ColorUtil
|
||||
import code.name.monkey.appthemehelper.util.ToolbarContentTintHelper
|
||||
import code.name.monkey.retromusic.App
|
||||
import code.name.monkey.retromusic.Constants
|
||||
import code.name.monkey.retromusic.Constants.USER_BANNER
|
||||
import code.name.monkey.retromusic.R
|
||||
|
@ -29,8 +30,8 @@ import code.name.monkey.retromusic.model.Home
|
|||
import code.name.monkey.retromusic.model.smartplaylist.HistoryPlaylist
|
||||
import code.name.monkey.retromusic.model.smartplaylist.LastAddedPlaylist
|
||||
import code.name.monkey.retromusic.model.smartplaylist.MyTopTracksPlaylist
|
||||
import code.name.monkey.retromusic.mvp.contract.HomeContract
|
||||
import code.name.monkey.retromusic.mvp.presenter.HomePresenter
|
||||
import code.name.monkey.retromusic.mvp.presenter.HomeView
|
||||
import code.name.monkey.retromusic.util.*
|
||||
import com.bumptech.glide.load.engine.DiskCacheStrategy
|
||||
import io.reactivex.android.schedulers.AndroidSchedulers
|
||||
|
@ -41,12 +42,29 @@ import kotlinx.android.synthetic.main.fragment_banner_home.*
|
|||
import kotlinx.android.synthetic.main.home_content.*
|
||||
import java.io.File
|
||||
import java.util.*
|
||||
import javax.inject.Inject
|
||||
import kotlin.collections.ArrayList
|
||||
|
||||
class BannerHomeFragment : AbsMainActivityFragment(), MainActivityFragmentCallbacks, HomeContract.HomeView {
|
||||
class BannerHomeFragment : AbsMainActivityFragment(), MainActivityFragmentCallbacks, HomeView {
|
||||
|
||||
override fun sections(sections: ArrayList<Home>) {
|
||||
val finalList = sections.sortedWith(compareBy { it.priority })
|
||||
homeAdapter.swapData(finalList)
|
||||
recyclerView.apply {
|
||||
layoutManager = LinearLayoutManager(mainActivity)
|
||||
adapter = homeAdapter
|
||||
}
|
||||
if (sections.isEmpty()) {
|
||||
showEmptyView()
|
||||
} else {
|
||||
emptyContainer.hide()
|
||||
}
|
||||
}
|
||||
|
||||
@Inject
|
||||
lateinit var homePresenter: HomePresenter
|
||||
|
||||
private var disposable: CompositeDisposable = CompositeDisposable()
|
||||
private lateinit var homePresenter: HomePresenter
|
||||
private lateinit var toolbar: Toolbar
|
||||
|
||||
override fun onCreateView(inflater: LayoutInflater, viewGroup: ViewGroup?, savedInstanceState: Bundle?): View? {
|
||||
|
@ -83,7 +101,8 @@ class BannerHomeFragment : AbsMainActivityFragment(), MainActivityFragmentCallba
|
|||
|
||||
override fun onCreate(savedInstanceState: Bundle?) {
|
||||
super.onCreate(savedInstanceState)
|
||||
homePresenter = HomePresenter(this)
|
||||
App.musicComponent.inject(this)
|
||||
homePresenter.attachView(this)
|
||||
}
|
||||
|
||||
|
||||
|
@ -108,22 +127,18 @@ class BannerHomeFragment : AbsMainActivityFragment(), MainActivityFragmentCallba
|
|||
}
|
||||
|
||||
actionShuffle.setOnClickListener {
|
||||
MusicPlayerRemote.openAndShuffleQueue(SongLoader.getAllSongs(requireActivity()) , true)
|
||||
MusicPlayerRemote.openAndShuffleQueue(SongLoader.getAllSongs(requireActivity()), true)
|
||||
}
|
||||
|
||||
history.setOnClickListener {
|
||||
NavigationUtil.goToPlaylistNew(requireActivity(), HistoryPlaylist(requireActivity()))
|
||||
}
|
||||
|
||||
homePresenter = HomePresenter(this)
|
||||
|
||||
contentContainer.setBackgroundColor(ThemeStore.primaryColor(requireContext()))
|
||||
|
||||
setupToolbar()
|
||||
homeAdapter = HomeAdapter(mainActivity, ArrayList(), displayMetrics)
|
||||
|
||||
homePresenter.subscribe()
|
||||
|
||||
checkPadding()
|
||||
|
||||
userInfoContainer.setOnClickListener {
|
||||
|
@ -131,6 +146,8 @@ class BannerHomeFragment : AbsMainActivityFragment(), MainActivityFragmentCallba
|
|||
}
|
||||
titleWelcome.setTextColor(ThemeStore.textColorPrimary(requireContext()))
|
||||
titleWelcome.text = String.format("%s", PreferenceUtil.getInstance().userName)
|
||||
|
||||
homePresenter.loadSections()
|
||||
}
|
||||
|
||||
private fun checkPadding() {
|
||||
|
@ -177,21 +194,13 @@ class BannerHomeFragment : AbsMainActivityFragment(), MainActivityFragmentCallba
|
|||
override fun onDestroyView() {
|
||||
super.onDestroyView()
|
||||
disposable.dispose()
|
||||
homePresenter.unsubscribe()
|
||||
}
|
||||
|
||||
override fun loading() {
|
||||
|
||||
homePresenter.detachView()
|
||||
}
|
||||
|
||||
override fun showEmptyView() {
|
||||
emptyContainer.show()
|
||||
}
|
||||
|
||||
override fun completed() {
|
||||
|
||||
}
|
||||
|
||||
override fun onServiceConnected() {
|
||||
super.onServiceConnected()
|
||||
checkPadding()
|
||||
|
@ -204,20 +213,6 @@ class BannerHomeFragment : AbsMainActivityFragment(), MainActivityFragmentCallba
|
|||
|
||||
private lateinit var homeAdapter: HomeAdapter
|
||||
|
||||
override fun showData(list: ArrayList<Home>) {
|
||||
val finalList = list.sortedWith(compareBy { it.priority })
|
||||
homeAdapter.swapData(finalList)
|
||||
recyclerView.apply {
|
||||
layoutManager = LinearLayoutManager(mainActivity)
|
||||
adapter = homeAdapter
|
||||
}
|
||||
if (list.isEmpty()) {
|
||||
showEmptyView()
|
||||
} else {
|
||||
emptyContainer.hide()
|
||||
}
|
||||
}
|
||||
|
||||
override fun onCreateOptionsMenu(menu: Menu, inflater: MenuInflater) {
|
||||
super.onCreateOptionsMenu(menu, inflater)
|
||||
inflater.inflate(R.menu.menu_search, menu)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue