package Ġorg . metab rain z . android . presentation . features . links Ċ Ċ import Ġandroid . content . Context Ċ import Ġandroid . content . Intent Ċ import Ġandroid . graphics . drawable . Drawable Ċ import Ġandroid . net . Uri Ċ import Ġandroid . view . LayoutInflater Ċ import Ġandroid . view . View Ċ import Ġandroid . view . ViewGroup Ċ import Ġandroidx . recyclerview . widget . RecyclerView Ċ import Ġorg . metab rain z . android . R Ċ import Ġorg . metab rain z . android . data . sources . api . entities . Link Ċ import Ġorg . metab rain z . android . data . sources . api . entities . Links Classifier Ċ import Ġorg . metab rain z . android . data . sources . api . entities . Url Ċ import Ġorg . metab rain z . android . databinding . Item Link Binding Ċ import Ġorg . metab rain z . android . presentation . features . links . Links Adapter . Link ViewHolder Ċ Ċ internal Ġclass ĠLinks Adapter ( private Ġval Ġcontext : ĠContext , Ġprivate Ġval Ġlinks : ĠList < Link >) Ġ: ĠRecyclerView . Adapter < Link ViewHolder >(), ĠView . OnClickListener Ġ{ ĊĠĠĠ Ġoverride Ġfun ĠonCreate ViewHolder ( parent : ĠViewGroup , Ġview Type : ĠInt ): ĠLink ViewHolder Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġlayout Inflater Ġ= Ġparent . context ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. getSystem Service ( Context . LAYOUT _ IN FL ATER _ SERVICE ) Ġas ĠLayoutInflater ĊĠĠĠĠĠĠĠ Ġreturn ĠLink ViewHolder ( Item Link Binding . inflate ( layout Inflater , Ġparent , Ġfalse )) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Bind ViewHolder ( holder : ĠLink ViewHolder , Ġposition : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġtype Ġ= Ġlinks [ position ]. type ĊĠĠĠĠĠĠĠ Ġval Ġdrawable Ġ= Ġget Link Image ( holder . item View . context , Ġtype ) ĊĠĠĠĠĠĠĠ Ġholder . bind ( drawable , Ġtype ) ĊĠĠĠĠĠĠĠ Ġholder . item View . setTag ( R . id . link _ image , Ġlinks [ position ]. url ) ĊĠĠĠĠĠĠĠ Ġholder . item View . setOnClickListener ( this ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠgetItem Count (): ĠInt Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġlinks . size ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠonClick ( v : ĠView ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġurl Ġ= Ġv . getTag ( R . id . link _ image ) Ġas ĠUrl ĊĠĠĠĠĠĠĠ Ġval Ġintent Ġ= ĠIntent () ĊĠĠĠĠĠĠĠ Ġintent . action Ġ= ĠIntent . ACTION _ VIEW ĊĠĠĠĠĠĠĠ Ġintent . data Ġ= ĠUri . parse ( url . resource ) ĊĠĠĠĠĠĠĠ Ġcontext . startActivity ( intent ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġget Link Image ( context : ĠContext , Ġtype : ĠString ?): ĠDrawable Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġresources Ġ= Ġcontext . resources ĊĠĠĠĠĠĠĠ Ġreturn Ġwhen Ġ( type ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠLinks Classifier . Y OUT UBE Ġ-> Ġresources . get Drawable ( R . drawable . youtube _ logo ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠLinks Classifier . BAND CA MP Ġ-> Ġresources . get Drawable ( R . drawable . band camp _ logo ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠLinks Classifier . DIS CO GS Ġ-> Ġresources . get Drawable ( R . drawable . dis cogs _ logo ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠLinks Classifier . IM DB Ġ-> Ġresources . get Drawable ( R . drawable . imdb _ logo ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠLinks Classifier . VI AF Ġ-> Ġresources . get Drawable ( R . drawable . via f _ logo ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠLinks Classifier . MY SPACE Ġ-> Ġresources . get Drawable ( R . drawable . my space _ logo ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġ-> Ġresources . get Drawable ( R . drawable . link _ generic ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġinternal Ġclass ĠLink ViewHolder ( var Ġbinding : ĠItem Link Binding ) Ġ: ĠRecyclerView . ViewHolder ( binding . root ) Ġ{ ĊĠĠĠĠĠĠĠ Ġfun Ġbind ( drawable : ĠDrawable ?, Ġtext : ĠString ?) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbinding . link Text . text Ġ= Ġtext ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbinding . link Image . setImage Drawable ( drawable ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ }