package Ġcom . g vk orea . g vs 1 0 0 0 _ dsp . fragment . music . adapter Ċ Ċ import Ġandroid . content . Context Ċ import Ġandroid . graphics . Color Ċ import Ġandroid . net . Uri Ċ import Ġandroid . view . LayoutInflater Ċ import Ġandroid . view . View Ċ import Ġandroid . view . ViewGroup Ċ import Ġandroid . widget . Base Adapter Ċ import Ġandroid . widget . ImageView Ċ import Ġandroid . widget . TextView Ċ import Ġandroidx . core . content . Context Compat Ċ import Ġcom . g vk orea . g vs 1 0 0 0 _ dsp . R Ċ import Ġcom . g vk orea . g vs 1 0 0 0 _ dsp . fragment . music . Music Fragment Ċ import Ġcom . g vk orea . g vs 1 0 0 0 _ dsp . fragment . music . Music Fragment . Companion . songs Ċ import Ġjava . net . URI Ċ import Ġjava . net . URI . create Ċ Ċ class ĠMusic ListAdapter ( val Ġview : ĠMusic Fragment ) Ġ: ĠBase Adapter () Ġ{ ĊĊĊĠĠĠ Ġprivate Ġclass ĠViewHolder ( row : ĠView ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġvar Ġtv Title : ĠTextView ? Ġ= Ġnull ĊĠĠĠĠĠĠĠ Ġvar Ġtv Artist : ĠTextView ? Ġ= Ġnull ĊĠĠĠĠĠĠĠ Ġvar Ġiv Album Art : ĠImageView ? Ġ= Ġnull ĊĊĠĠĠĠĠĠĠ Ġinit Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġthis . tv Title Ġ= Ġrow ?. findViewById ( R . id . tv _ row _ music Title ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġthis . tv Artist Ġ= Ġrow ?. findViewById ( R . id . tv _ row _ music Artist ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġthis . iv Album Art Ġ= Ġrow ?. findViewById ( R . id . iv _ row _ album Art ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġget View ( p 0 : ĠInt , Ġp 1 : ĠView ?, Ġp 2 : ĠViewGroup ?): ĠView Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġv : ĠView ? ĊĠĠĠĠĠĠĠ Ġval ĠviewHolder : ĠViewHolder ĊĊĠĠĠĠĠĠĠ Ġif ( m SelectedIndex Ġ== Ġp 0 ){ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġp 1 ?. set BackgroundColor ( Color . BLUE ) ĊĠĠĠĠĠĠĠ Ġ} else { ĊĠĠĠĠĠĠĠĠĠĠĠ Ġp 1 ?. set BackgroundColor ( Color . TRANSP ARENT ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĊĠĠĠĠĠĠĠ Ġif Ġ( p 1 Ġ== Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġinflater Ġ= Ġview . activity ?. getSystem Service ( Context . LAYOUT _ IN FL ATER _ SERVICE ) Ġas ĠLayoutInflater ĊĠĠĠĠĠĠĠĠĠĠĠ Ġv Ġ= Ġinflater . inflate ( R . layout . music _ list _ row , Ġnull ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠviewHolder Ġ= ĠViewHolder ( v ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġv ?. tag Ġ= ĠviewHolder ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġv Ġ= Ġp 1 ĊĠĠĠĠĠĠĠĠĠĠĠ ĠviewHolder Ġ= Ġv . tag Ġas ĠViewHolder ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġvar Ġcur Song Ġ= Ġsongs [ p 0 ] ĊĠĠĠĠĠĠĠ ĠviewHolder . tv Title ?. text Ġ= Ġcur Song . title ĊĠĠĠĠĠĠĠ ĠviewHolder . tv Artist ?. text Ġ= Ġcur Song . artist ĊĠĠĠĠĠĠĠ Ġval Ġuri Ġ= ĠUri . parse (" content :// media / external / audio / album art / 3 ") ĊĠĠĠĠĠĠĠ Ġval Ġuri 2 Ġ= ĠUri . parse (" content :// media / external / audio / album art / 8 ") ĊĠĠĠĠĠĠĠ Ġval Ġuri 3 Ġ= ĠUri . parse (" content :// media / external / audio / album art / 1 0 ") ĊĊĠĠĠĠĠĠĠ Ġif ( cur Song . album Art Ġ== Ġuri Ġ|| Ġcur Song . album Art Ġ== Ġuri 2 Ġ|| Ġcur Song . album Art Ġ== Ġuri 3 ){ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠviewHolder . iv Album Art ?. setImage Drawable ( Context Compat . get Drawable ( view . context !! , ĠR . drawable . no image )) ĊĠĠĠĠĠĠĠ Ġ} else { ĊĠĠĠĠĠĠĠĠĠĠĠ ĠviewHolder . iv Album Art ?. setImage URI ( cur Song . album Art ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĊĊĠĠĠĠĠĠĠ Ġreturn Ġv Ġas ĠView ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠgetItem ( p 0 : ĠInt ): ĠAny Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġsongs [ p 0 ] ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠgetItem Id ( p 0 : ĠInt ): ĠLong Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġp 0 . to Long () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġget Count (): ĠInt Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġsongs . size ĊĠĠĠ Ġ} ĊĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġvar Ġm SelectedIndex Ġ= Ġ- 1 ĊĠĠĠ Ġ} Ċ Ċ }