package Ġbr . com . ange l ach iam ol era . activity Ċ Ċ import Ġandroid . content . Intent Ċ import Ġandroidx . appcompat . app . AppCompatActivity Ċ import Ġandroid . os . Bundle Ċ import Ġandroid . view . MenuItem Ċ import Ġandroid . view . View Ċ import Ġandroid . widget . ListView Ċ import Ġandroid . widget . ProgressBar Ċ import Ġandroid . widget . TextView Ċ import Ġandroidx . appcompat . widget . Toolbar Ċ import Ġbr . com . ange l ach iam ol era . R Ċ import Ġbr . com . ange l ach iam ol era . model . Contact Ċ import Ġbr . com . ange l ach iam ol era . model . Contact DAO Ċ import Ġbr . com . ange l ach iam ol era . view . Contacts Adapter Ċ Ċ class ĠList Contacts Activity Ġ: ĠAppCompatActivity () Ġ{ ĊĊĠĠĠ Ġprivate Ġlateinit Ġvar ĠlistView Ġ: ĠListView ĊĠĠĠ Ġvar Ġlist Contacts Ġ: ĠList < Contact >? Ġ= ĠlistOf () ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate ( savedInstanceState : ĠBundle ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . onCreate ( savedInstanceState ) ĊĠĠĠĠĠĠĠ ĠsetContentView ( R . layout . activity _ list _ contacts ) ĊĊĠĠĠĠĠĠĠ Ġvar Ġtoolbar Ġ= ĠfindViewById < Toolbar >( R . id . toolbar ) ĊĠĠĠĠĠĠĠ Ġset Support ActionBar ( toolbar ) ĊĠĠĠĠĠĠĠ Ġsupport ActionBar !!. set Display Home As Up Enabled ( true ) ĊĠĠĠĠĠĠĠ Ġsupport ActionBar !!. set Display Show Home Enabled ( true ) ĊĠĠĠĠĠĠĠ Ġsupport ActionBar !!. set Display Show Title Enabled ( false ) ĊĠĠĠĠĠĠĠ Ġvar Ġtitle Toolbar Ġ= ĠfindViewById < TextView >( R . id . tv _ title _ toolbar ) ĊĠĠĠĠĠĠĠ Ġtitle Toolbar . setText (" LIST A ĠDE ĠCONT AT OS ") ĊĊĠĠĠĠĠĠĠ ĠlistView Ġ= ĠfindViewById < ListView >( R . id . list _ contacts ) ĊĊĠĠĠĠĠĠĠ Ġcall Load List Contact () ĊĊĠĠĠĠĠĠĠ ĠlistView . setOn ItemClickListener Ġ{ Ġ_, Ġ_, Ġposition , Ġ_ Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġcontact Ġ= Ġlist Contacts ! ![ position ] ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġintent Ġ= ĠIntent ( this , ĠDetail Contact Activity :: class . java ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġintent . putExtra (" Cont ato ", Ġcontact ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġintent . putExtra (" Position ", Ġlist Contacts ! ![ position ]) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠstartActivity ( intent ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġcall Load List Contact () Ġ{ ĊĠĠĠĠĠĠĠ Ġval ĠprogressBar Ġ= ĠfindViewById < ProgressBar >( R . id . progress _ contacts ) ĊĠĠĠĠĠĠĠ ĠContact DAO . getList Contact From Room ( object Ġ: ĠContact DAO . on Result < List < Contact >> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun ĠonSuccess ( result : ĠList < Contact >) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlist Contacts Ġ= Ġresult ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠprogressBar . visibility Ġ= ĠView . GONE ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġset Adapter ( result ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ}) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġset Adapter ( list Contacts : ĠList < Contact >) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġadapter Ġ= ĠContact s Adapter ( this , Ġlist Contacts ) ĊĠĠĠĠĠĠĠ ĠlistView . adapter Ġ= Ġadapter ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Resume () Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . on Resume () ĊĠĠĠĠĠĠĠ Ġcall Load List Contact () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Options ItemSelected ( item : ĠMenuItem ): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( item . getItem Id () Ġ=== Ġandroid . R . id . home ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfinish () ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġreturn Ġsuper . on Options ItemSelected ( item ) ĊĠĠĠ Ġ} Ċ } Ċ