package Ġapp us . software . github users . presentation . common Ċ Ċ import Ġandroid . graphics . drawable . Drawable Ċ import Ġandroid . view . View Ċ import Ġandroid . widget . ImageView Ċ import Ġandroidx . databinding . Binding Adapter Ċ import Ġandroidx . recyclerview . widget . RecyclerView Ċ import Ġapp us . software . github users . domain . model . field . Field Ċ import Ġapp us . software . github users . domain . model . field . Field Action Ċ import Ġapp us . software . github users . presentation . common . recycler . List Config Ċ import Ġapp us . software . github users . presentation . common . recycler . On Recycler Item Click Ċ import Ġcom . bump tech . glide . G lide Ċ import Ġcom . bump tech . glide . request . RequestOptions Ċ Ċ /** Ċ Ġ* ĠCreated Ġby Ġb og dan . mart yn ov Ġon Ġ 2 0 1 9 - 0 4 - 2 5 Ġ 1 2 : 4 8 . Ġtop - github - contributors - android Ċ Ġ*/ Ċ Ċ /** Ċ Ġ* Ġ@ param Ġaction Handler ĠOn Recycler Item Click Ċ Ġ* Ġ@ param Ġdata ĠData Ġof Ġitem Ċ Ġ* Ġ@ param Ġaction ĠAction Ġwhen Ġclicked Ċ Ġ* Ġ@ param Ġposition ĠPosition Ġof Ġthe Ġclicked Ġitem Ċ Ġ*/ Ċ @ Binding Adapter (" action Handler ", Ġ" data ", Ġ" action ", Ġ" position ") Ċ fun Ġfield Action Click ( view : ĠView , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġaction Handler : ĠOn Recycler Item Click < Field >, ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdata : ĠField , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġaction : ĠField Action , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġposition : ĠInt ) Ġ{ ĊĠĠĠ Ġview . setOnClickListener Ġ{ ĊĠĠĠĠĠĠĠ Ġdata . field Action Ġ= Ġaction ĊĠĠĠĠĠĠĠ Ġaction Handler . on Item Click ( data , Ġposition ) ĊĠĠĠ Ġ} Ċ } ĊĊ Ċ /** Ċ Ġ* Ġ@ param Ġurl ĠImage Ġurl Ġfor Ġdownloading Ġfrom Ġinternet Ċ Ġ* Ġ@ param Ġerror ĠError Ġdrawable Ġif Ġimage Ġnot Ġdownloaded Ċ Ġ*/ Ċ @ Binding Adapter (" imageUrl ", Ġ" error ") Ċ fun Ġload Image ( view : ĠImageView , Ġurl : ĠString ?, Ġerror : ĠDrawable ) Ġ{ ĊĠĠĠ ĠG lide . with ( view . context ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. as Bitmap () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. load ( url ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. apply ( RequestOptions (). error ( error )) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. into ( view ) Ċ } ĊĊ Ċ /** Ċ Ġ* Ġ@ param Ġconfig Builder ĠBuilder Ġfor ĠList Config Ċ Ġ*/ Ċ @ Binding Adapter (" list Config ") Ċ fun Ġconfig RecyclerView ( re cyclerView : ĠRecyclerView , Ġconfig Builder : ĠList Config . Builder < Field > ?) Ġ{ ĊĠĠĠ Ġif Ġ( config Builder Ġ== Ġnull ) Ġreturn ĊĠĠĠ Ġval Ġconfig Ġ= Ġconfig Builder . build ( re cyclerView . context ) ĊĠĠĠ Ġconfig . apply Config ( re cyclerView . context , Ġre cyclerView ) Ċ } Ċ