package Ġcom . fe v zi om ur te kin . dee zer . ui . artist . details . albums Ċ Ċ import Ġandroid . view . LayoutInflater Ċ import Ġandroid . view . ViewGroup Ċ import Ġandroidx . databinding . Data Binding Util Ċ import Ġandroidx . recyclerview . widget . RecyclerView Ċ import Ġcom . fe v zi om ur te kin . dee zer . R Ċ import Ġcom . fe v zi om ur te kin . dee zer . data . Artist Album Data Ċ import Ġcom . fe v zi om ur te kin . dee zer . databinding . Item Artist Album Binding Ċ import Ġtim ber . log . Tim ber ĊĊ Ċ class ĠArtist Album Adapter ( ĊĠĠĠ Ġval ĠonClick Item : Ġ( Artist Album Data ) Ġ-> ĠUnit Ċ ) Ġ: ĠRecyclerView . Adapter < Artist Album Adapter . Artist Album ViewHolder >() Ġ{ ĊĊĠĠĠ Ġprivate Ġval Ġitems : ĠMutable List < Artist Album Data > Ġ= Ġmutable ListOf () ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate ViewHolder ( parent : ĠViewGroup , Ġview Type : ĠInt ): ĠArtist Album ViewHolder Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġinflater Ġ= ĠLayoutInflater . from ( parent . context ) ĊĠĠĠĠĠĠĠ Ġval Ġbinding Ġ= ĠData Binding Util ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. inflate < Item Artist Album Binding >( in flater , ĠR . layout . item _ artist _ album , Ġparent , Ġfalse ) ĊĊĠĠĠĠĠĠĠ Ġreturn ĠArtist Album ViewHolder ( binding ). apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbinding . root . setOnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġposition Ġ= Ġadapter Position . take If Ġ{ Ġp Ġ-> Ġp Ġ!= ĠRecyclerView . NO _ POSITION Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ?: Ġreturn @ setOnClickListener ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠonClick Item . invoke ( items [ position ]) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġadd Album List ( artist List : ĠList < Artist Album Data >) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġprevious Size Ġ= Ġitems . size ĊĠĠĠĠĠĠĠ Ġitems . addAll ( artist List ) ĊĠĠĠĠĠĠĠ Ġnotify Item Range Changed ( previous Size , Ġitems . size ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Bind ViewHolder ( holder : ĠArtist Album ViewHolder , Ġposition : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠ Ġholder . binding . apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠTim ber . d (" binding .. ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġalbum Ġ= Ġitems [ position ] ĊĠĠĠĠĠĠĠĠĠĠĠ Ġexecute Pending Bindings () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠgetItem Count (): ĠInt Ġ= Ġitems . size ĊĊĠĠĠ Ġclass ĠArtist Album ViewHolder ( val Ġbinding : ĠItem Artist Album Binding ) Ġ: ĊĠĠĠĠĠĠĠ ĠRecyclerView . ViewHolder ( binding . root ) Ċ } Ċ