package Ġcom . ky bers wap . android . util . views Ċ Ċ import Ġandroid . graphics . drawable . Drawable Ċ import Ġandroid . graphics . drawable . Picture Drawable Ċ import Ġandroid . net . Uri Ċ import Ġandroid . view . View Ċ import Ġandroid . widget . ImageView Ċ import Ġandroidx . databinding . Binding Adapter Ċ import Ġcom . bump tech . glide . G lide Ċ import Ġcom . bump tech . glide . request . RequestOptions Ċ import Ġcom . ca ver ock . android svg . SVG Ċ import Ġcom . ky bers wap . android . R Ċ import Ġcom . ky bers wap . android . domain . model . Token Ċ import Ġcom . ky bers wap . android . presentation . main . profile . Login Type Ċ import Ġcom . ky bers wap . android . util . ext . dp To Px Ċ import Ġcom . ky bers wap . android . util . ext . to BigDecimal OrDefault Zero Ċ import Ġj dent icon . Jd ent icon ĊĊ Ċ object ĠImageView Binding Adapter Ġ{ ĊĠĠĠ Ġ@ Binding Adapter (" app : imageUrl ") ĊĠĠĠ Ġ@ Jvm Static ĊĠĠĠ Ġfun Ġload Image ( view : ĠImageView , Ġurl : ĠString ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( url . isNull OrEmpty ()) Ġreturn ĊĠĠĠĠĠĠĠ Ġval Ġfinal Url Ġ= Ġif Ġ( url . startsWith (" http :// ")) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġurl . replace (" http :// ", Ġ" https :// ") ĊĠĠĠĠĠĠĠ Ġelse ĊĠĠĠĠĠĠĠĠĠĠĠ Ġurl ĊĠĠĠĠĠĠĠ ĠG lide . with ( view ). load ( final Url ). into ( view ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Binding Adapter (" app : imageUrl ", Ġ" app : error ") ĊĠĠĠ Ġ@ Jvm Static ĊĠĠĠ Ġfun Ġload Image ( view : ĠImageView , Ġurl : ĠString ?, Ġerror : ĠDrawable ) Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( url Ġ== Ġnull Ġ|| Ġurl . isEmpty ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġview . setImage Drawable ( error ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ ĠG lide . with ( view ). load ( url ). apply ( RequestOptions (). error ( error )). into ( view ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Binding Adapter (" imageUrl ", Ġ" place Holder ") ĊĠĠĠ Ġ@ Jvm Static ĊĠĠĠ Ġfun Ġload Image With Place Holder ( view : ĠImageView , Ġurl : ĠString ?, Ġplace Holder : ĠDrawable ) Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( url Ġ== Ġnull Ġ|| Ġurl . isEmpty ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġview . setImage Drawable ( place Holder ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ ĠG lide . with ( view ). load ( url ). apply ( RequestOptions (). placeholder ( place Holder )). into ( view ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Binding Adapter (" app : image Uri ", Ġ" app : error ") ĊĠĠĠ Ġ@ Jvm Static ĊĠĠĠ Ġfun Ġload Image Uri ( view : ĠImageView , Ġuri : ĠUri ?, Ġerror : ĠDrawable ) Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( uri Ġ== Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġview . setImage Drawable ( error ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ ĠG lide . with ( view ). load ( uri ). apply ( RequestOptions (). error ( error )). into ( view ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Binding Adapter (" app : resourceId ") ĊĠĠĠ Ġ@ Jvm Static ĊĠĠĠ Ġfun Ġload Resource ( view : ĠImageView , Ġresource Id : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠ ĠG lide . with ( view ). load (" "). error ( resourceId ). into ( view ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Binding Adapter (" app : identifier ") ĊĠĠĠ Ġ@ Jvm Static ĊĠĠĠ Ġfun Ġload Resource ( view : ĠImageView , Ġidentifier : ĠString ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( identifier Ġ== Ġnull ) Ġreturn ĊĊĠĠĠĠĠĠĠ Ġval Ġid Ġ= Ġif Ġ( identifier Ġ== ĠToken . ETH _ SYMBOL _ STAR ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠToken . ETH ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġidentifier ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġval Ġstring Url Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" https :// files . ky ber . network / Design Assets / tokens / iOS /${ id . toLowerCase ()}. png " ĊĠĠĠĠĠĠĠ Ġvar Ġresource Icon : ĠInt ? ĊĠĠĠĠĠĠĠ Ġtry Ġ{ ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġresource Icon Ġ= Ġview . context . resources . getIdentifier ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġidentifier . toLowerCase (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" drawable ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġview . context . packageName ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( identifier . toLowerCase () Ġ== Ġview . context . getString ( R . string . token _ eth _ star ). toLowerCase ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġresource Icon Ġ= ĠR . drawable . eth ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( resource Icon Ġ== Ġ 0 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġresource Icon Ġ= ĠR . drawable . token _ default ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ ĠG lide . with ( view ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. load ( string Url ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. apply ( RequestOptions (). override ( 3 2 . dp To Px ( view . context ), Ġ 3 2 . dp To Px ( view . context ))) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. placeholder ( resource Icon ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. error ( resource Icon ). into ( view ) ĊĠĠĠĠĠĠĠ Ġ} Ġcatch Ġ( exception : ĠException ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġexception . printStackTrace () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Binding Adapter (" app : rate Percentage ", Ġ" app : has Same Pair ", Ġ" app : warning ") ĊĠĠĠ Ġ@ Jvm Static ĊĠĠĠ Ġfun Ġpercentage Rate ( ĊĠĠĠĠĠĠĠ Ġview : ĠImageView , ĊĠĠĠĠĠĠĠ Ġpercentage Rate : ĠString ?, ĊĠĠĠĠĠĠĠ Ġsame Pair : ĠBoolean ?, ĊĠĠĠĠĠĠĠ Ġwarning : ĠBoolean ? ĊĠĠĠ Ġ) Ġ{ ĊĊĠĠĠĠĠĠĠ Ġif Ġ( same Pair Ġ!= Ġnull Ġ&& Ġsame Pair ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġview . visibility Ġ= ĠView . GONE ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġif Ġ( percentage Rate . to BigDecimal OrDefault Zero () Ġ> Ġ(- 0 . 1 ). to BigDecimal ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġview . visibility Ġ= ĠView . GONE ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( warning Ġ!= Ġnull Ġ&& Ġwarning ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġview . visibility Ġ= ĠView . VISIBLE ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠView . GONE ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Binding Adapter (" app : token Symbol ") ĊĠĠĠ Ġ@ Jvm Static ĊĠĠĠ Ġfun Ġtoken Symbol ( view : ĠImageView , Ġtoken Symbol : ĠString ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( token Symbol Ġ!= Ġnull Ġ&& Ġtoken Symbol . toLowerCase () Ġ== Ġview . context . getString ( R . string . token _ eth _ star ). toLowerCase ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġview . visibility Ġ= ĠView . VISIBLE ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġview . visibility Ġ= ĠView . GONE ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĊĠĠĠ Ġ@ Binding Adapter (" app : address ") ĊĠĠĠ Ġ@ Jvm Static ĊĠĠĠ Ġfun Ġgenerate Image ( view : ĠImageView , Ġaddress : ĠString ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( address . isNull OrEmpty ()) Ġreturn ĊĠĠĠĠĠĠĠ Ġtry Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġsvg Ġ= ĠSVG . get FromString ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠJ dent icon . to Svg ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġaddress . remove Prefix (" 0 x "), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġview . layout Params . width ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġdrawable Ġ= ĠPicture Drawable ( svg . render To Picture ()) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠG lide . with ( view ). load ( drawable ). into ( view ) ĊĠĠĠĠĠĠĠ Ġ} Ġcatch Ġ( ex : ĠException ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġex . printStackTrace () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Binding Adapter (" app : login Type ") ĊĠĠĠ Ġ@ Jvm Static ĊĠĠĠ Ġfun Ġgenerate Image ( view : ĠImageView , Ġlogin Type : ĠLogin Type ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġdrawable Ġ= Ġwhen Ġ( login Type ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠLogin Type . GOOGLE Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠR . drawable . ic _ google _ plus _ register ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ ĠLogin Type . FACE BOOK Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠR . drawable . ic _ facebook _ register ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ ĠLogin Type . TW IT TER Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠR . drawable . ic _ twitter ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ ĠLogin Type . NORMAL Ġ-> Ġ 0 ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ ĠG lide . with ( view ). load ( drawable ). into ( view ) ĊĠĠĠ Ġ} Ċ }