package Ġnet . slash _ omega . j uk t away . model Ċ Ċ import Ġandroid . widget . ImageView Ċ import Ġjp . ne phy . pen ic ill in . endpoints . users Ċ import Ġjp . ne phy . pen ic ill in . endpoints . users . lookup ById s Ċ import Ġjp . ne phy . pen ic ill in . extensions . await Ċ import Ġjp . ne phy . pen ic ill in . extensions . models . Profile Image Size Ċ import Ġjp . ne phy . pen ic ill in . extensions . models . profile ImageUrl Http sWith Variant Size Ċ import Ġjp . ne phy . pen ic ill in . models . Common User Ċ import Ġkotlinx . coroutines . Dispatch ers Ċ import Ġkotlinx . coroutines . Global Scope Ċ import Ġkotlinx . coroutines . launch Ċ import Ġkotlinx . coroutines . with Context Ċ import Ġnet . slash _ omega . j uk t away . settings . Preferences . Display Preferences . Picture Quality .* Ċ import Ġnet . slash _ omega . j uk t away . settings . preferences Ċ import Ġnet . slash _ omega . j uk t away . twitter . current Client Ċ import Ġnet . slash _ omega . j uk t away . twitter . is Identifier Set Ċ import Ġnet . slash _ omega . j uk t away . util . Image Util Ċ import Ġnet . slash _ omega . j uk t away . util . J uk t away DB Open Helper . Companion . db Use Ċ import Ġnet . slash _ omega . j uk t away . util . try And Trace Get Ċ import Ġorg . jetbrains . ank o . db .* Ċ Ċ /** Ċ Ġ* ĠCreated Ġon Ġ 2 0 1 8 / 1 1 / 0 1 . Ċ Ġ*/ Ċ Ċ fun ĠImageView . display User Icon ( user : ĠCommon User ) Ġ{ ĊĠĠĠ Ġval Ġurl Ġ= Ġuser . profile ImageUrl Http sWith Variant Size ( Ġwhen Ġ( preferences . display . picture Quality ) Ġ{ ĊĠĠĠĠĠĠĠ ĠHIGH Ġ-> ĠProfile Image Size . Big ger ĊĠĠĠĠĠĠĠ Ġelse Ġ-> ĠProfile Image Size . Mini ĊĠĠĠ Ġ}) ĊĊĠĠĠ Ġif Ġ( preferences . display . tweet . is Author Icon Rounded ) Ġ{ ĊĠĠĠĠĠĠĠ ĠImage Util . display Image ( url , Ġthis ) ĊĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠ ĠImage Util . display Rounded Image ( url , Ġthis ) ĊĠĠĠ Ġ} Ċ } Ċ Ċ object ĠUser Icon Manager Ġ{ ĊĠĠĠ Ġprivate Ġconst Ġval ĠtableName Ġ= Ġ" user Icon " ĊĊĠĠĠ Ġinit Ġ{ Ġdb Use Ġ{ ĊĠĠĠĠĠĠĠ Ġcreate Table ( tableName , Ġtrue , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" userId " Ġto ĠINTEGER Ġ+ ĠPRIMARY _ KEY , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" icon Url " Ġto ĠTEXT Ġ+ ĠNOT _ NULL , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" name " Ġto ĠTEXT Ġ+ ĠNOT _ NULL ) ĊĠĠĠ Ġ}} ĊĊĠĠĠ Ġfun ĠImageView . display User Icon ( userId : ĠLong ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġurl Ġ= Ġdb Use Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġselect ( tableName , Ġ" icon Url ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. where Args ("( userId ) Ġ= Ġ{ id }", Ġ" id " Ġto ĠuserId ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. parse Single ( String Parser ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ ĠImage Util . display Rounded Image ( url , Ġthis ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġsuspend Ġfun ĠgetName ( userId : ĠLong ): ĠString Ġ= Ġwith Context ( Dispatch ers . Default ) Ġ{ ĊĠĠĠĠĠĠĠ Ġdb Use Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġselect ( tableName , Ġ" name ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. where Args ("( userId Ġ= Ġ{ id })", Ġ" id " Ġto ĠuserId ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. parse Single ( String Parser ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġsuspend Ġfun Ġadd User Icon Map ( user : ĠCommon User ) Ġ{ ĊĠĠĠĠĠĠĠ Ġwith Context ( Dispatch ers . Default ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdb Use Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġrun Catch ing Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġselect ( tableName , Ġ" userId ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. where Args (" userId Ġ= Ġ{ id }", Ġ" id " Ġto Ġuser . id ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. parse Single ( Long Parser ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ}. on Failure Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġinsert ( tableName , Ġ" userId " Ġto Ġuser . id , Ġ" icon Url " Ġto Ġuser . profile ImageUrl , Ġ" name " Ġto Ġuser . name ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġwarm Up User Icon Map () Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ(! is Identifier Set ) Ġreturn ĊĠĠĠĠĠĠĠ ĠGlobal Scope . launch ( Dispatch ers . Main ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġdata Ġ= Ġdb Use Ġ{ Ġselect ( tableName , Ġ" userId "). parse List ( Long Parser ) Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( data . isNull OrEmpty ()) Ġreturn @ launch ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtry And Trace Get Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġusers Ġ= Ġcurrent Client . users . lookup ById s ( data ). await () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdb Use Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġusers . forEach Ġ{ Ġu Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġupdate ( tableName , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" icon Url " Ġto Ġu . profile ImageUrl Http sWith Variant Size ( Profile Image Size . Big ger ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" name " Ġto Ġu . name ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. where Args ("( userId Ġ= Ġ{ userId })", Ġ" userId " Ġto Ġu . id ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. exec () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ }