package Ġcom . example . music player . adapters Ċ Ċ import Ġandroid . view . ViewGroup Ċ import Ġandroidx . recyclerview . widget . RecyclerView Ċ import Ġcom . example . music player . music . Track Ċ import Ġcom . example . music player . view models . Player ViewModel Ċ Ċ class ĠClick ed Artist Tracks Adapter ( private Ġval Ġplayer Model : ĠPlayer ViewModel , Ġprivate Ġval Ġon Item Click : Ġ( data : ĠTrack ) Ġ-> ĠUnit ) Ġ: ĠRecyclerView . Adapter < Tracks ViewHolder >() Ġ{ ĊĊĠĠĠ Ġvar Ġtracks List : ĠList < Track > Ġ= ĠlistOf () ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate ViewHolder ( ĊĠĠĠĠĠĠĠ Ġparent : ĠViewGroup , ĊĠĠĠĠĠĠĠ Ġview Type : ĠInt ĊĠĠĠ Ġ): ĠTrack s ViewHolder Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĠTrack s ViewHolder . create ( parent . context , Ġplayer Model , Ġon Item Click ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠgetItem Count (): ĠInt Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġtracks List . size ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Bind ViewHolder ( holder : ĠTrack s ViewHolder , Ġposition : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠ Ġholder . bind ( tracks List [ position ]) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun ĠsetData ( data : ĠList < Track >) Ġ{ ĊĠĠĠĠĠĠĠ Ġtracks List Ġ= Ġdata ĊĠĠĠĠĠĠĠ Ġnotify DataSet Changed () ĊĠĠĠ Ġ} Ċ }