2020-04-25 15:59:52 +00:00
|
|
|
package code.name.monkey.retromusic.fragments.playlists
|
2018-11-30 01:06:16 +00:00
|
|
|
|
|
|
|
import android.os.Bundle
|
2020-09-05 19:11:48 +00:00
|
|
|
import android.view.Menu
|
|
|
|
import android.view.MenuInflater
|
|
|
|
import android.view.MenuItem
|
2019-09-29 02:10:25 +00:00
|
|
|
import android.view.View
|
2020-04-25 15:59:52 +00:00
|
|
|
import androidx.lifecycle.Observer
|
2020-09-05 20:13:45 +00:00
|
|
|
import androidx.recyclerview.widget.LinearLayoutManager
|
2020-09-05 19:11:48 +00:00
|
|
|
import code.name.monkey.appthemehelper.util.ToolbarContentTintHelper
|
2018-11-30 01:06:16 +00:00
|
|
|
import code.name.monkey.retromusic.R
|
2019-07-22 15:26:37 +00:00
|
|
|
import code.name.monkey.retromusic.adapter.playlist.PlaylistAdapter
|
2020-07-30 14:11:19 +00:00
|
|
|
import code.name.monkey.retromusic.fragments.base.AbsRecyclerViewFragment
|
2020-09-05 19:11:48 +00:00
|
|
|
import kotlinx.android.synthetic.main.fragment_library.*
|
2018-11-30 01:06:16 +00:00
|
|
|
|
2020-09-05 20:13:45 +00:00
|
|
|
class PlaylistsFragment : AbsRecyclerViewFragment<PlaylistAdapter, LinearLayoutManager>() {
|
2020-04-25 15:59:52 +00:00
|
|
|
|
|
|
|
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
|
|
|
|
super.onViewCreated(view, savedInstanceState)
|
2020-09-05 14:03:12 +00:00
|
|
|
libraryViewModel.getPlaylists().observe(viewLifecycleOwner, Observer {
|
2020-08-13 08:24:36 +00:00
|
|
|
if (it.isNotEmpty())
|
|
|
|
adapter?.swapDataSet(it)
|
|
|
|
else
|
2020-07-25 20:22:37 +00:00
|
|
|
adapter?.swapDataSet(listOf())
|
|
|
|
})
|
2020-04-25 15:59:52 +00:00
|
|
|
}
|
|
|
|
|
2018-11-30 01:06:16 +00:00
|
|
|
override val emptyMessage: Int
|
|
|
|
get() = R.string.no_playlists
|
|
|
|
|
2020-09-05 20:13:45 +00:00
|
|
|
override fun createLayoutManager(): LinearLayoutManager {
|
|
|
|
return LinearLayoutManager(requireContext())
|
2018-11-30 01:06:16 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
override fun createAdapter(): PlaylistAdapter {
|
2020-02-17 15:08:20 +00:00
|
|
|
return PlaylistAdapter(
|
2020-08-11 18:29:44 +00:00
|
|
|
requireActivity(),
|
2020-02-18 19:11:26 +00:00
|
|
|
ArrayList(),
|
2020-04-16 18:13:12 +00:00
|
|
|
R.layout.item_list,
|
2020-08-11 18:29:44 +00:00
|
|
|
null
|
2020-02-17 15:08:20 +00:00
|
|
|
)
|
2018-11-30 01:06:16 +00:00
|
|
|
}
|
|
|
|
|
2020-09-05 19:11:48 +00:00
|
|
|
override fun onPrepareOptionsMenu(menu: Menu) {
|
|
|
|
super.onPrepareOptionsMenu(menu)
|
|
|
|
ToolbarContentTintHelper.handleOnPrepareOptionsMenu(requireActivity(), toolbar)
|
|
|
|
}
|
2020-08-20 06:49:08 +00:00
|
|
|
|
2020-09-05 19:11:48 +00:00
|
|
|
override fun onCreateOptionsMenu(menu: Menu, inflater: MenuInflater) {
|
|
|
|
menu.removeItem(R.id.action_grid_size)
|
|
|
|
menu.removeItem(R.id.action_layout_type)
|
|
|
|
menu.removeItem(R.id.action_sort_order)
|
|
|
|
menu.add(0, R.id.action_add_to_playlist, 0, R.string.new_playlist_title)
|
2020-09-05 20:13:45 +00:00
|
|
|
menu.add(0, R.id.action_import_playlist, 0, R.string.import_playlist)
|
2020-09-05 19:11:48 +00:00
|
|
|
menu.findItem(R.id.action_settings).setShowAsAction(MenuItem.SHOW_AS_ACTION_NEVER)
|
|
|
|
super.onCreateOptionsMenu(menu, inflater)
|
2018-11-30 01:06:16 +00:00
|
|
|
}
|
|
|
|
}
|