package Ġcom . ch oo lo o . www . ch oo lo ol ib . adapter Ċ Ċ import Ġandroid . graphics . Color Ċ import Ġandroid . net . Uri Ċ import Ġandroid . provider . Contacts Contract . Common Data Kinds . Phone Ċ import Ġcom . ch oo lo o . www . ch oo lo ol ib . inter actor . animation . Animations Interactor Ċ import Ġcom . ch oo lo o . www . ch oo lo ol ib . inter actor . permission . Permissions Interactor Ċ import Ġcom . ch oo lo o . www . ch oo lo ol ib . inter actor . phone accounts . Ph ones Interactor Ċ import Ġcom . ch oo lo o . www . ch oo lo ol ib . inter actor . preferences . Preferences Interactor Ċ import Ġcom . ch oo lo o . www . ch oo lo ol ib . inter actor . recent s . Recent s Interactor Ċ import Ġcom . ch oo lo o . www . ch oo lo ol ib . model . List Data Ċ import Ġcom . ch oo lo o . www . ch oo lo ol ib . model . Recent Account Ċ import Ġcom . ch oo lo o . www . ch oo lo ol ib . ui . widgets . list item . ListItem Ċ import Ġcom . ch oo lo o . www . ch oo lo ol ib . util . getHours String Ċ import Ġcom . ch oo lo o . www . ch oo lo ol ib . util . initial s Ċ import Ġjavax . inject . Inject Ċ Ċ class ĠRecent s Adapter Ġ@ Inject Ġconstructor ( ĊĠĠĠ Ġanimations : ĠAnim ations Interactor , ĊĠĠĠ Ġprivate Ġval Ġph ones : ĠPh ones Interactor , ĊĠĠĠ Ġprivate Ġval Ġrecent s : ĠRecent s Interactor , ĊĠĠĠ Ġprivate Ġval Ġpreferences : ĠPreferences Interactor , ĊĠĠĠ Ġprivate Ġval Ġpermissions : ĠPermissions Interactor Ċ ) Ġ: ĠList Adapter < Recent Account >( animations ) Ġ{ ĊĊĠĠĠ Ġprivate Ġvar Ġ_ group Similar : ĠBoolean Ġ= Ġfalse ĊĊĠĠĠ Ġvar Ġgroup Similar : ĠBoolean ĊĠĠĠĠĠĠĠ Ġget () Ġ= Ġ_ group Similar ĊĠĠĠĠĠĠĠ Ġset ( value ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ_ group Similar Ġ= Ġvalue ĊĠĠĠĠĠĠĠ Ġ} ĊĊĊĠĠĠ Ġoverride Ġfun Ġon Bind ListItem ( list Item : ĠListItem , Ġitem : ĠRecent Account ) Ġ{ ĊĠĠĠĠĠĠĠ Ġlist Item . apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġdate Ġ= Ġcontext . getHours String ( item . date ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġis Compact Ġ= Ġpreferences . is Compact ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcaption Text Ġ= Ġif Ġ( item . group Count Ġ> Ġ 1 ) Ġ" (${ item . group Count }) Ġ$ date " Ġelse Ġdate ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġph ones . lookup Account ( item . number ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtitle Text Ġ= Ġit ?. name Ġ?: Ġitem . number ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġit ?. let Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcaption Text Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ"$ caption Text ĠÂ· Ġ${ Phone . getType Label ( resources , Ġit . type , Ġit . label )} ĠÂ· " ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġset Image Initial s ( it . name ?. initial s ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġset Image Uri ( if Ġ( it ?. photo Uri Ġ!= Ġnull ) ĠUri . parse ( it . photo Uri ) Ġelse Ġnull ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġset Image BackgroundColor ( Color . TRANSP ARENT ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġset Caption Image Res ( recent s . get Call Type Image ( item . type )) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġconvert Data ToList Data ( data : ĠList < Recent Account >) Ġ= ĊĠĠĠĠĠĠĠ ĠList Data . from Recent s ( data , Ġgroup Similar ) Ċ }