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 {
|
||||
const val ALBUM_HEADER_ITEM_TYPE = 0xA024
|
||||
const val ALBUM_SONG_ITEM_TYPE = 0xA025
|
||||
const val ALBUM_HEADER_ITEM_TYPE = 0xA007
|
||||
const val ALBUM_SONG_ITEM_TYPE = 0xA008
|
||||
}
|
||||
}
|
||||
|
|
|
@ -84,7 +84,7 @@ class ArtistDetailAdapter(
|
|||
}
|
||||
|
||||
companion object {
|
||||
const val ARTIST_HEADER_ITEM_TYPE = 0xA022
|
||||
const val ARTIST_ALBUM_ITEM_TYPE = 0xA023
|
||||
const val ARTIST_HEADER_ITEM_TYPE = 0xA009
|
||||
const val ARTIST_ALBUM_ITEM_TYPE = 0xA00A
|
||||
}
|
||||
}
|
||||
|
|
|
@ -83,7 +83,7 @@ class GenreDetailAdapter(
|
|||
}
|
||||
|
||||
companion object {
|
||||
const val GENRE_HEADER_ITEM_TYPE = 0xA020
|
||||
const val GENRE_SONG_ITEM_TYPE = 0xA021
|
||||
const val GENRE_HEADER_ITEM_TYPE = 0xA00B
|
||||
const val GENRE_SONG_ITEM_TYPE = 0xA00C
|
||||
}
|
||||
}
|
||||
|
|
|
@ -44,7 +44,7 @@ class QueueAdapter(
|
|||
else
|
||||
HeaderViewHolder.ITEM_TYPE
|
||||
else
|
||||
QUEUE_ITEM_TYPE
|
||||
QUEUE_SONG_ITEM_TYPE
|
||||
}
|
||||
|
||||
override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): RecyclerView.ViewHolder {
|
||||
|
@ -55,7 +55,7 @@ class QueueAdapter(
|
|||
parent.context, ItemActionHeaderBinding.inflate(LayoutInflater.from(parent.context))
|
||||
)
|
||||
|
||||
QUEUE_ITEM_TYPE -> QueueSongViewHolder(
|
||||
QUEUE_SONG_ITEM_TYPE -> QueueSongViewHolder(
|
||||
ItemQueueSongBinding.inflate(LayoutInflater.from(parent.context))
|
||||
)
|
||||
|
||||
|
@ -182,7 +182,7 @@ class QueueAdapter(
|
|||
}
|
||||
|
||||
companion object {
|
||||
const val QUEUE_ITEM_TYPE = 0xA015
|
||||
const val USER_QUEUE_HEADER_ITEM_TYPE = 0xA016
|
||||
const val QUEUE_SONG_ITEM_TYPE = 0xA005
|
||||
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.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
|
||||
binding.genreName.requestLayout()
|
||||
/**
|
||||
* The Shared ViewHolder for a [Song]. Instantiation should be done with [from].
|
||||
*/
|
||||
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 {
|
||||
const val ITEM_TYPE = 0xA010
|
||||
const val ITEM_TYPE = 0xA000
|
||||
|
||||
/**
|
||||
* Create an instance of [GenreViewHolder]
|
||||
* Create an instance of [SongViewHolder]
|
||||
*/
|
||||
fun from(
|
||||
context: Context,
|
||||
doOnClick: (Genre) -> Unit,
|
||||
doOnLongClick: (data: Genre, view: View) -> Unit
|
||||
): GenreViewHolder {
|
||||
return GenreViewHolder(
|
||||
ItemGenreBinding.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: (data: Song) -> Unit,
|
||||
doOnLongClick: (data: Song, view: View) -> Unit
|
||||
): SongViewHolder {
|
||||
return SongViewHolder(
|
||||
ItemSongBinding.inflate(LayoutInflater.from(context)),
|
||||
doOnClick, doOnLongClick
|
||||
)
|
||||
}
|
||||
|
@ -100,7 +86,7 @@ class AlbumViewHolder private constructor(
|
|||
}
|
||||
|
||||
companion object {
|
||||
const val ITEM_TYPE = 0xA012
|
||||
const val ITEM_TYPE = 0xA001
|
||||
|
||||
/**
|
||||
* 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(
|
||||
private val binding: ItemSongBinding,
|
||||
doOnClick: (data: Song) -> Unit,
|
||||
doOnLongClick: (data: Song, view: View) -> Unit
|
||||
) : BaseViewHolder<Song>(binding, doOnClick, doOnLongClick) {
|
||||
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: Song) {
|
||||
binding.song = data
|
||||
|
||||
binding.songName.requestLayout()
|
||||
binding.songInfo.requestLayout()
|
||||
override fun onBind(data: Artist) {
|
||||
binding.artist = data
|
||||
binding.artistName.requestLayout()
|
||||
}
|
||||
|
||||
companion object {
|
||||
const val ITEM_TYPE = 0xA013
|
||||
const val ITEM_TYPE = 0xA002
|
||||
|
||||
/**
|
||||
* Create an instance of [SongViewHolder]
|
||||
* Create an instance of [ArtistViewHolder]
|
||||
*/
|
||||
fun from(
|
||||
context: Context,
|
||||
doOnClick: (data: Song) -> Unit,
|
||||
doOnLongClick: (data: Song, view: View) -> Unit
|
||||
): SongViewHolder {
|
||||
return SongViewHolder(
|
||||
ItemSongBinding.inflate(LayoutInflater.from(context)),
|
||||
doOnClick: (Artist) -> Unit,
|
||||
doOnLongClick: (data: Artist, view: View) -> Unit
|
||||
): ArtistViewHolder {
|
||||
return ArtistViewHolder(
|
||||
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
|
||||
)
|
||||
}
|
||||
|
@ -165,7 +182,7 @@ class HeaderViewHolder(
|
|||
}
|
||||
|
||||
companion object {
|
||||
const val ITEM_TYPE = 0xA014
|
||||
const val ITEM_TYPE = 0xA004
|
||||
|
||||
/**
|
||||
* Create an instance of [HeaderViewHolder]
|
||||
|
|
Loading…
Reference in a new issue