Refreash viewholder item codes
Fix the viewholder item codes so they actually make sense.
This commit is contained in:
parent
46fa300252
commit
966adf7704
5 changed files with 97 additions and 80 deletions
|
@ -79,7 +79,7 @@ class AlbumDetailAdapter(
|
||||||
}
|
}
|
||||||
|
|
||||||
companion object {
|
companion object {
|
||||||
const val ALBUM_HEADER_ITEM_TYPE = 0xA024
|
const val ALBUM_HEADER_ITEM_TYPE = 0xA007
|
||||||
const val ALBUM_SONG_ITEM_TYPE = 0xA025
|
const val ALBUM_SONG_ITEM_TYPE = 0xA008
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -84,7 +84,7 @@ class ArtistDetailAdapter(
|
||||||
}
|
}
|
||||||
|
|
||||||
companion object {
|
companion object {
|
||||||
const val ARTIST_HEADER_ITEM_TYPE = 0xA022
|
const val ARTIST_HEADER_ITEM_TYPE = 0xA009
|
||||||
const val ARTIST_ALBUM_ITEM_TYPE = 0xA023
|
const val ARTIST_ALBUM_ITEM_TYPE = 0xA00A
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -83,7 +83,7 @@ class GenreDetailAdapter(
|
||||||
}
|
}
|
||||||
|
|
||||||
companion object {
|
companion object {
|
||||||
const val GENRE_HEADER_ITEM_TYPE = 0xA020
|
const val GENRE_HEADER_ITEM_TYPE = 0xA00B
|
||||||
const val GENRE_SONG_ITEM_TYPE = 0xA021
|
const val GENRE_SONG_ITEM_TYPE = 0xA00C
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -44,7 +44,7 @@ class QueueAdapter(
|
||||||
else
|
else
|
||||||
HeaderViewHolder.ITEM_TYPE
|
HeaderViewHolder.ITEM_TYPE
|
||||||
else
|
else
|
||||||
QUEUE_ITEM_TYPE
|
QUEUE_SONG_ITEM_TYPE
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): RecyclerView.ViewHolder {
|
override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): RecyclerView.ViewHolder {
|
||||||
|
@ -55,7 +55,7 @@ class QueueAdapter(
|
||||||
parent.context, ItemActionHeaderBinding.inflate(LayoutInflater.from(parent.context))
|
parent.context, ItemActionHeaderBinding.inflate(LayoutInflater.from(parent.context))
|
||||||
)
|
)
|
||||||
|
|
||||||
QUEUE_ITEM_TYPE -> QueueSongViewHolder(
|
QUEUE_SONG_ITEM_TYPE -> QueueSongViewHolder(
|
||||||
ItemQueueSongBinding.inflate(LayoutInflater.from(parent.context))
|
ItemQueueSongBinding.inflate(LayoutInflater.from(parent.context))
|
||||||
)
|
)
|
||||||
|
|
||||||
|
@ -182,7 +182,7 @@ class QueueAdapter(
|
||||||
}
|
}
|
||||||
|
|
||||||
companion object {
|
companion object {
|
||||||
const val QUEUE_ITEM_TYPE = 0xA015
|
const val QUEUE_SONG_ITEM_TYPE = 0xA005
|
||||||
const val USER_QUEUE_HEADER_ITEM_TYPE = 0xA016
|
const val USER_QUEUE_HEADER_ITEM_TYPE = 0xA006
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -19,66 +19,52 @@ import org.oxycblt.auxio.recycler.viewholders.GenreViewHolder.Companion.from
|
||||||
import org.oxycblt.auxio.recycler.viewholders.HeaderViewHolder.Companion.from
|
import org.oxycblt.auxio.recycler.viewholders.HeaderViewHolder.Companion.from
|
||||||
import org.oxycblt.auxio.recycler.viewholders.SongViewHolder.Companion.from
|
import org.oxycblt.auxio.recycler.viewholders.SongViewHolder.Companion.from
|
||||||
|
|
||||||
/**
|
/*
|
||||||
* The Shared ViewHolder for a [Genre]. Instantiation should be done with [from].
|
* A table of all ViewHolder codes. Please add to these so that all viewholder codes are unique.
|
||||||
|
* SongViewHolder -> 0xA000
|
||||||
|
* AlbumViewHolder -> 0xA001
|
||||||
|
* ArtistViewHolder -> 0xA002
|
||||||
|
* GenreViewHolder -> 0xA003
|
||||||
|
* HeaderViewHolder -> 0xA004
|
||||||
|
* QueueSongViewHolder -> 0xA005
|
||||||
|
* UserQueueHeaderViewHolder -> 0xA006
|
||||||
|
* AlbumHeaderViewHolder -> 0xA007
|
||||||
|
* AlbumSongViewHolder -> 0xA008
|
||||||
|
* ArtistHeaderViewHolder -> 0xA009
|
||||||
|
* ArtistAlbumViewHolder -> 0xA00A
|
||||||
|
* GenreHeaderViewHolder -> 0xA00B
|
||||||
|
* GenreSongViewHolder -> 0xA00C
|
||||||
*/
|
*/
|
||||||
class GenreViewHolder private constructor(
|
|
||||||
private val binding: ItemGenreBinding,
|
|
||||||
doOnClick: (Genre) -> Unit,
|
|
||||||
doOnLongClick: (data: Genre, view: View) -> Unit
|
|
||||||
) : BaseViewHolder<Genre>(binding, doOnClick, doOnLongClick) {
|
|
||||||
|
|
||||||
override fun onBind(data: Genre) {
|
/**
|
||||||
binding.genre = data
|
* The Shared ViewHolder for a [Song]. Instantiation should be done with [from].
|
||||||
binding.genreName.requestLayout()
|
*/
|
||||||
|
class SongViewHolder private constructor(
|
||||||
|
private val binding: ItemSongBinding,
|
||||||
|
doOnClick: (data: Song) -> Unit,
|
||||||
|
doOnLongClick: (data: Song, view: View) -> Unit
|
||||||
|
) : BaseViewHolder<Song>(binding, doOnClick, doOnLongClick) {
|
||||||
|
|
||||||
|
override fun onBind(data: Song) {
|
||||||
|
binding.song = data
|
||||||
|
|
||||||
|
binding.songName.requestLayout()
|
||||||
|
binding.songInfo.requestLayout()
|
||||||
}
|
}
|
||||||
|
|
||||||
companion object {
|
companion object {
|
||||||
const val ITEM_TYPE = 0xA010
|
const val ITEM_TYPE = 0xA000
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Create an instance of [GenreViewHolder]
|
* Create an instance of [SongViewHolder]
|
||||||
*/
|
*/
|
||||||
fun from(
|
fun from(
|
||||||
context: Context,
|
context: Context,
|
||||||
doOnClick: (Genre) -> Unit,
|
doOnClick: (data: Song) -> Unit,
|
||||||
doOnLongClick: (data: Genre, view: View) -> Unit
|
doOnLongClick: (data: Song, view: View) -> Unit
|
||||||
): GenreViewHolder {
|
): SongViewHolder {
|
||||||
return GenreViewHolder(
|
return SongViewHolder(
|
||||||
ItemGenreBinding.inflate(LayoutInflater.from(context)),
|
ItemSongBinding.inflate(LayoutInflater.from(context)),
|
||||||
doOnClick, doOnLongClick
|
|
||||||
)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* The Shared ViewHolder for a [Artist]. Instantiation should be done with [from].
|
|
||||||
*/
|
|
||||||
class ArtistViewHolder private constructor(
|
|
||||||
private val binding: ItemArtistBinding,
|
|
||||||
doOnClick: (Artist) -> Unit,
|
|
||||||
doOnLongClick: (data: Artist, view: View) -> Unit
|
|
||||||
) : BaseViewHolder<Artist>(binding, doOnClick, doOnLongClick) {
|
|
||||||
|
|
||||||
override fun onBind(data: Artist) {
|
|
||||||
binding.artist = data
|
|
||||||
binding.artistName.requestLayout()
|
|
||||||
}
|
|
||||||
|
|
||||||
companion object {
|
|
||||||
const val ITEM_TYPE = 0xA011
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Create an instance of [ArtistViewHolder]
|
|
||||||
*/
|
|
||||||
fun from(
|
|
||||||
context: Context,
|
|
||||||
doOnClick: (Artist) -> Unit,
|
|
||||||
doOnLongClick: (data: Artist, view: View) -> Unit
|
|
||||||
): ArtistViewHolder {
|
|
||||||
return ArtistViewHolder(
|
|
||||||
ItemArtistBinding.inflate(LayoutInflater.from(context)),
|
|
||||||
doOnClick, doOnLongClick
|
doOnClick, doOnLongClick
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
@ -100,7 +86,7 @@ class AlbumViewHolder private constructor(
|
||||||
}
|
}
|
||||||
|
|
||||||
companion object {
|
companion object {
|
||||||
const val ITEM_TYPE = 0xA012
|
const val ITEM_TYPE = 0xA001
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Create an instance of [AlbumViewHolder]
|
* Create an instance of [AlbumViewHolder]
|
||||||
|
@ -119,34 +105,65 @@ class AlbumViewHolder private constructor(
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* The Shared ViewHolder for a [Song]. Instantiation should be done with [from].
|
* The Shared ViewHolder for a [Artist]. Instantiation should be done with [from].
|
||||||
*/
|
*/
|
||||||
class SongViewHolder private constructor(
|
class ArtistViewHolder private constructor(
|
||||||
private val binding: ItemSongBinding,
|
private val binding: ItemArtistBinding,
|
||||||
doOnClick: (data: Song) -> Unit,
|
doOnClick: (Artist) -> Unit,
|
||||||
doOnLongClick: (data: Song, view: View) -> Unit
|
doOnLongClick: (data: Artist, view: View) -> Unit
|
||||||
) : BaseViewHolder<Song>(binding, doOnClick, doOnLongClick) {
|
) : BaseViewHolder<Artist>(binding, doOnClick, doOnLongClick) {
|
||||||
|
|
||||||
override fun onBind(data: Song) {
|
override fun onBind(data: Artist) {
|
||||||
binding.song = data
|
binding.artist = data
|
||||||
|
binding.artistName.requestLayout()
|
||||||
binding.songName.requestLayout()
|
|
||||||
binding.songInfo.requestLayout()
|
|
||||||
}
|
}
|
||||||
|
|
||||||
companion object {
|
companion object {
|
||||||
const val ITEM_TYPE = 0xA013
|
const val ITEM_TYPE = 0xA002
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Create an instance of [SongViewHolder]
|
* Create an instance of [ArtistViewHolder]
|
||||||
*/
|
*/
|
||||||
fun from(
|
fun from(
|
||||||
context: Context,
|
context: Context,
|
||||||
doOnClick: (data: Song) -> Unit,
|
doOnClick: (Artist) -> Unit,
|
||||||
doOnLongClick: (data: Song, view: View) -> Unit
|
doOnLongClick: (data: Artist, view: View) -> Unit
|
||||||
): SongViewHolder {
|
): ArtistViewHolder {
|
||||||
return SongViewHolder(
|
return ArtistViewHolder(
|
||||||
ItemSongBinding.inflate(LayoutInflater.from(context)),
|
ItemArtistBinding.inflate(LayoutInflater.from(context)),
|
||||||
|
doOnClick, doOnLongClick
|
||||||
|
)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* The Shared ViewHolder for a [Genre]. Instantiation should be done with [from].
|
||||||
|
*/
|
||||||
|
class GenreViewHolder private constructor(
|
||||||
|
private val binding: ItemGenreBinding,
|
||||||
|
doOnClick: (Genre) -> Unit,
|
||||||
|
doOnLongClick: (data: Genre, view: View) -> Unit
|
||||||
|
) : BaseViewHolder<Genre>(binding, doOnClick, doOnLongClick) {
|
||||||
|
|
||||||
|
override fun onBind(data: Genre) {
|
||||||
|
binding.genre = data
|
||||||
|
binding.genreName.requestLayout()
|
||||||
|
}
|
||||||
|
|
||||||
|
companion object {
|
||||||
|
const val ITEM_TYPE = 0xA003
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Create an instance of [GenreViewHolder]
|
||||||
|
*/
|
||||||
|
fun from(
|
||||||
|
context: Context,
|
||||||
|
doOnClick: (Genre) -> Unit,
|
||||||
|
doOnLongClick: (data: Genre, view: View) -> Unit
|
||||||
|
): GenreViewHolder {
|
||||||
|
return GenreViewHolder(
|
||||||
|
ItemGenreBinding.inflate(LayoutInflater.from(context)),
|
||||||
doOnClick, doOnLongClick
|
doOnClick, doOnLongClick
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
@ -165,7 +182,7 @@ class HeaderViewHolder(
|
||||||
}
|
}
|
||||||
|
|
||||||
companion object {
|
companion object {
|
||||||
const val ITEM_TYPE = 0xA014
|
const val ITEM_TYPE = 0xA004
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Create an instance of [HeaderViewHolder]
|
* Create an instance of [HeaderViewHolder]
|
||||||
|
|
Loading…
Reference in a new issue