package Ġcom . w tl . base . ui . resume Ċ Ċ import Ġandroid . content . Context Ċ import Ġandroid . content . Intent Ċ import Ġandroid . content . Intent .* Ċ import Ġandroid . net . Uri Ċ import Ġandroid . os . Bundle Ċ import Ġandroid . view . Menu Ċ import Ġandroid . view . MenuItem Ċ import Ġandroidx . recyclerview . widget . Linear LayoutManager Ċ import Ġcom . jak ew h art on . r xb ind ing 3 . view . click s Ċ import Ġcom . w tl . base . R Ċ import Ġcom . w tl . base . api . model . Employ er Ċ import Ġcom . w tl . base . api . model . H obby Ċ import Ġcom . w tl . base . ui . Base Activity Ċ import Ġcom . w tl . base . ui . employ er . Employ er Activity Ċ import Ġcom . w tl . base . ui . resume . employ er . Employ er Adapter Ċ import Ġcom . w tl . base . ui . resume . employ er . Employ er Item Ċ import Ġcom . w tl . base . ui . resume . h obby . H obby Adapter Ċ import Ġcom . w tl . base . ui . resume . h obby . H obby Item Ċ import Ġcom . w tl . base . ui . settings . Settings Fragment Ċ import Ġcom . w tl . base . ui . util . recycler . Horizontal Offset Decoration Ċ import Ġio . reactivex . rx kotlin . plus Assign Ċ import Ġkotlinx . android . synt hetic . main . view _ resume _ contact .* Ċ import Ġkotlinx . android . synt hetic . main . view _ resume _ employ ers .* Ċ import Ġkotlinx . android . synt hetic . main . view _ resume _ h obb ies .* Ċ import Ġorg . k oin . android x . view model . ext . android . viewModel Ċ Ċ class ĠResume Activity Ġ: ĠBase Activity () Ġ{ ĊĊĠĠĠ Ġoverride Ġval Ġcontent Layout Id Ġ= ĠR . layout . act _ resume ĊĊĠĠĠ Ġprivate Ġval Ġmodel : ĠResume ViewModel Ġby ĠviewModel () ĊĠĠĠ Ġprivate Ġval Ġh obby Adapter Ġ= ĠH obby Adapter () ĊĠĠĠ Ġprivate Ġval Ġemploy er Adapter Ġ= ĠEmploy er Adapter () ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate ( savedInstanceState : ĠBundle ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . onCreate ( savedInstanceState ) ĊĊĠĠĠĠĠĠĠ Ġinit Employ ers () ĊĠĠĠĠĠĠĠ Ġinit H obb ies () ĊĠĠĠĠĠĠĠ Ġinit ViewModel () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Resume () Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . on Resume () ĊĊĠĠĠĠĠĠĠ Ġdis pos ables Ġ+= Ġphone View . click s (). subscribe Ġ{ Ġmodel . on Phone Click () Ġ} ĊĠĠĠĠĠĠĠ Ġdis pos ables Ġ+= Ġemail View . click s (). subscribe Ġ{ Ġmodel . on Email Click () Ġ} ĊĠĠĠĠĠĠĠ Ġdis pos ables Ġ+= Ġlocation View . click s (). subscribe Ġ{ Ġmodel . on Location Click () Ġ} ĊĠĠĠĠĠĠĠ Ġdis pos ables Ġ+= Ġemploy er Adapter . item Click s (). subscribe Ġ{ Ġmodel . on Employ er Click ( it . employ er ) Ġ} ĊĠĠĠĠĠĠĠ Ġdis pos ables Ġ+= Ġh obby Adapter . item Click s (). subscribe Ġ{ Ġmodel . on H obby Click ( it . h obby ) Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġinit ViewModel () Ġ{ ĊĠĠĠĠĠĠĠ Ġmodel . employ ers . observe ( this , Ġthis :: on Employ ers Changed ) ĊĠĠĠĠĠĠĠ Ġmodel . h obb ies . observe ( this , Ġthis :: on H obb ies Changed ) ĊĠĠĠĠĠĠĠ Ġmodel . events . dial . observe ( this , Ġthis :: on Dial ) ĊĠĠĠĠĠĠĠ Ġmodel . events . email . observe ( this , Ġthis :: on Email ) ĊĠĠĠĠĠĠĠ Ġmodel . events . map . observe ( this , Ġthis :: on Map ) ĊĠĠĠĠĠĠĠ Ġmodel . events . employ er Details . observe ( this , Ġthis :: on Employ er Details ) ĊĠĠĠĠĠĠĠ Ġmodel . events . h obby Details . observe ( this , Ġthis :: on H obby Details ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġon H obby Details ( h obby : ĠH obby ) Ġ{ ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġon Employ er Details ( employ er : ĠEmploy er ) Ġ{ ĊĠĠĠĠĠĠĠ ĠstartActivity ( Employ er Activity . new Intent ( this , Ġemploy er )) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġon Email ( email : ĠString ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġintent Ġ= ĠIntent ( ACTION _ SEND TO , ĠUri . parse (" mailto :$ email ")). putExtra ( EXTRA _ EMAIL , ĠarrayOf ( email )) ĊĠĠĠĠĠĠĠ Ġwhen Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġpackage Manager . query Intent Activities ( intent , Ġ 0 ). isNotEmpty () Ġ-> ĠstartActivity ( intent ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġ-> ĠR . string . intent _ un available _ email . toast () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġon Dial ( number : ĠString ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġintent Ġ= ĠIntent ( ACTION _ DI AL , ĠUri . parse (" tel :$ number ")) ĊĠĠĠĠĠĠĠ Ġwhen Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġpackage Manager . query Intent Activities ( intent , Ġ 0 ). isNotEmpty () Ġ-> ĠstartActivity ( intent ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġ-> ĠR . string . intent _ un available _ dial . toast () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġon Map ( uri : ĠString ) Ġ{ ĊĠĠĠĠĠĠĠ ĠstartActivity ( Intent ( ACTION _ VIEW , ĠUri . parse ( uri ))) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġon Employ ers Changed ( res : ĠEmploy ers Resource ) Ġ{ ĊĠĠĠĠĠĠĠ Ġres . data ?. let Ġ{ Ġemploy er Adapter . items Ġ= Ġit . map (:: Employ er Item ) Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġon H obb ies Changed ( res : ĠH obb ies Resource ) Ġ{ ĊĠĠĠĠĠĠĠ Ġres . data ?. let Ġ{ Ġh obby Adapter . items Ġ= Ġit . map (:: H obby Item ) Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġinit H obb ies () Ġ{ ĊĠĠĠĠĠĠĠ Ġh obby RecyclerView . layout Manager Ġ= ĠLinearLayoutManager ( this , ĠLinearLayoutManager . HORIZONTAL , Ġfalse ) ĊĠĠĠĠĠĠĠ Ġh obby RecyclerView . addItem Decoration ( Horizontal Offset Decoration ( R . dim en . spacing _ small . to Pixel Offset ())) ĊĠĠĠĠĠĠĠ Ġh obby RecyclerView . adapter Ġ= Ġh obby Adapter ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġinit Employ ers () Ġ{ ĊĠĠĠĠĠĠĠ Ġemploy er RecyclerView . layout Manager Ġ= ĠLinearLayoutManager ( this , ĠLinearLayoutManager . HORIZONTAL , Ġfalse ) ĊĠĠĠĠĠĠĠ Ġemploy er RecyclerView . addItem Decoration ( Horizontal Offset Decoration ( R . dim en . spacing _ small . to Pixel Offset ())) ĊĠĠĠĠĠĠĠ Ġemploy er RecyclerView . adapter Ġ= Ġemploy er Adapter ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Options ItemSelected ( item : ĠMenuItem ): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġwhen Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġitem . itemId Ġ== ĠR . id . settings MenuItem Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠSettings Fragment (). show ( support FragmentManager , ĠTAG _ SETTINGS ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġ-> Ġsuper . on Options ItemSelected ( item ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate Options Menu ( menu : ĠMenu ): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . onCreate Options Menu ( menu ) ĊĠĠĠĠĠĠĠ Ġmenu Inflater . inflate ( R . menu . act _ resume , Ġmenu ) ĊĠĠĠĠĠĠĠ Ġreturn Ġtrue ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġconst Ġval ĠTAG _ SETTINGS Ġ= Ġ" settings " ĊĊĠĠĠĠĠĠĠ Ġfun Ġnew Intent ( context : ĠContext ): ĠIntent Ġ= ĠIntent ( context , ĠResume Activity :: class . java ) ĊĠĠĠ Ġ} Ċ } Ċ