Fixed Playlist Details selection backgroud

This commit is contained in:
Prathamesh More 2022-01-28 12:00:35 +05:30
parent 84295eda82
commit 4dc596fdf2
3 changed files with 8 additions and 25 deletions

View file

@ -19,14 +19,13 @@ import android.view.View
import androidx.core.view.isVisible
import androidx.fragment.app.FragmentActivity
import androidx.lifecycle.lifecycleScope
import code.name.monkey.appthemehelper.ThemeStore
import code.name.monkey.retromusic.R
import code.name.monkey.retromusic.db.PlaylistEntity
import code.name.monkey.retromusic.db.toSongEntity
import code.name.monkey.retromusic.db.toSongsEntity
import code.name.monkey.retromusic.dialogs.RemoveSongFromPlaylistDialog
import code.name.monkey.retromusic.extensions.applyColor
import code.name.monkey.retromusic.extensions.applyOutlineColor
import code.name.monkey.retromusic.extensions.accentColor
import code.name.monkey.retromusic.extensions.accentOutlineColor
import code.name.monkey.retromusic.fragments.LibraryViewModel
import code.name.monkey.retromusic.helper.MusicPlayerRemote
import code.name.monkey.retromusic.interfaces.ICabHolder
@ -48,7 +47,6 @@ class OrderablePlaylistSongAdapter(
DraggableItemAdapter<OrderablePlaylistSongAdapter.ViewHolder> {
val libraryViewModel: LibraryViewModel by activity.viewModel()
val tempDataSet = dataSet
init {
this.setHasStableIds(true)
@ -63,8 +61,6 @@ class OrderablePlaylistSongAdapter(
} else {
-1
}
}
override fun createViewHolder(view: View): SongAdapter.ViewHolder {
@ -77,19 +73,18 @@ class OrderablePlaylistSongAdapter(
override fun onBindViewHolder(holder: SongAdapter.ViewHolder, position: Int) {
if (holder.itemViewType == OFFSET_ITEM) {
val color = ThemeStore.accentColor(activity)
val viewHolder = holder as ViewHolder
viewHolder.playAction?.let {
it.setOnClickListener {
MusicPlayerRemote.openQueue(dataSet, 0, true)
}
it.applyOutlineColor(color)
it.accentOutlineColor()
}
viewHolder.shuffleAction?.let {
it.setOnClickListener {
MusicPlayerRemote.openAndShuffleQueue(dataSet, true)
}
it.applyColor(color)
it.accentColor()
}
} else {
super.onBindViewHolder(holder, position - 1)
@ -132,18 +127,10 @@ class OrderablePlaylistSongAdapter(
init {
dragView?.isVisible = true
}
override fun onClick(v: View?) {
if (itemViewType == OFFSET_ITEM) {
MusicPlayerRemote.openAndShuffleQueue(dataSet, true)
return
}
super.onClick(v)
}
}
override fun onCheckCanStartDrag(holder: ViewHolder, position: Int, x: Int, y: Int): Boolean {
if (dataSet.size == 0 or 1) {
if (dataSet.size == 0 or 1 || isInQuickSelectMode) {
return false
}
val dragHandle = holder.dragView ?: return false
@ -161,7 +148,6 @@ class OrderablePlaylistSongAdapter(
dataSet.add(toPosition - 1, dataSet.removeAt(fromPosition - 1))
}
override fun onGetItemDraggableRange(holder: ViewHolder, position: Int): ItemDraggableRange {
return ItemDraggableRange(1, itemCount - 1)
}

View file

@ -1,7 +1,6 @@
package code.name.monkey.retromusic.fragments.playlists
import android.os.Bundle
import android.util.Log
import android.view.Menu
import android.view.MenuInflater
import android.view.MenuItem
@ -20,7 +19,6 @@ import code.name.monkey.retromusic.db.PlaylistWithSongs
import code.name.monkey.retromusic.db.toSongs
import code.name.monkey.retromusic.extensions.dip
import code.name.monkey.retromusic.extensions.surfaceColor
import code.name.monkey.retromusic.extensions.updateMargin
import code.name.monkey.retromusic.fragments.base.AbsMainActivityFragment
import code.name.monkey.retromusic.helper.MusicPlayerRemote
import code.name.monkey.retromusic.helper.menu.PlaylistMenuHelper
@ -51,7 +49,6 @@ class PlaylistDetailsFragment : AbsMainActivityFragment(R.layout.fragment_playli
private var _binding: FragmentPlaylistDetailBinding? = null
private val binding get() = _binding!!
private lateinit var playlist: PlaylistWithSongs
private lateinit var playlistSongAdapter: OrderablePlaylistSongAdapter
@ -67,9 +64,9 @@ class PlaylistDetailsFragment : AbsMainActivityFragment(R.layout.fragment_playli
playlist = arguments.extraPlaylist
binding.toolbar.title = playlist.playlistEntity.playlistName
setUpRecyclerView()
viewModel.getSongs().observe(viewLifecycleOwner, {
viewModel.getSongs().observe(viewLifecycleOwner) {
songs(it.toSongs())
})
}
postponeEnterTransition()
requireView().doOnPreDraw { startPostponedEnterTransition() }
requireActivity().onBackPressedDispatcher.addCallback(viewLifecycleOwner) {
@ -157,7 +154,6 @@ class PlaylistDetailsFragment : AbsMainActivityFragment(R.layout.fragment_playli
fun songs(songs: List<Song>) {
binding.progressIndicator.hide()
if (songs.isNotEmpty()) {
Log.i("Updated", songs[0].title)
playlistSongAdapter.swapDataSet(songs)
} else {
showEmptyView()