package Ġorg . mat om oc amp . comp anion . activities Ċ Ċ import Ġandroid . content . Activity NotFoundException Ċ import Ġandroid . net . Uri Ċ import Ġandroid . os . Bundle Ċ import Ġandroid . view . View Ċ import Ġandroidx . activity . view Models Ċ import Ġandroidx . appcompat . app . AppCompatActivity Ċ import Ġandroidx . browser . custom tabs . Custom Tabs Intent Ċ import Ġandroidx . fragment . app . add Ċ import Ġandroidx . fragment . app . commit Ċ import Ġorg . mat om oc amp . comp anion . R Ċ import Ġorg . mat om oc amp . comp anion . fragments . Person InfoList Fragment Ċ import Ġorg . mat om oc amp . comp anion . model . Person Ċ import Ġorg . mat om oc amp . comp anion . utils . Date Utils Ċ import Ġorg . mat om oc amp . comp anion . utils . configure Toolbar Colors Ċ import Ġorg . mat om oc amp . comp anion . view models . Person Info ViewModel Ċ import Ġdagger . h ilt . android . Android EntryPoint Ċ Ċ @ Android EntryPoint Ċ class ĠPerson Info Activity Ġ: ĠAppCompatActivity ( R . layout . person _ info ) Ġ{ ĊĊĠĠĠ Ġprivate Ġval ĠviewModel : ĠPerson Info ViewModel Ġby Ġview Models () ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate ( savedInstanceState : ĠBundle ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . onCreate ( savedInstanceState ) ĊĠĠĠĠĠĠĠ Ġset Support ActionBar ( findViewById ( R . id . toolbar )) ĊĊĠĠĠĠĠĠĠ Ġval Ġperson : ĠPerson Ġ= Ġintent . get Parcelable Extra ( EXTRA _ PERSON ) !! ĊĠĠĠĠĠĠĠ ĠviewModel . set Person ( person ) ĊĊĠĠĠĠĠĠĠ Ġsupport ActionBar ?. set Display Home As Up Enabled ( true ) ĊĠĠĠĠĠĠĠ Ġtitle Ġ= Ġperson . name ĊĊĠĠĠĠĠĠĠ ĠfindViewById < View >( R . id . fab ). setOnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// ĠLook Ġfor Ġthe Ġfirst Ġnon - placeholder Ġevent Ġin Ġthe Ġpage d Ġlist ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġstatus Event Ġ= ĠviewModel . events . value ?. first OrNull Ġ{ Ġit Ġ!= Ġnull Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( status Event Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġurl Ġ= Ġperson . getUrl () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtry Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠCustom Tabs Intent . Builder () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. configure Toolbar Colors ( this , ĠR . color . light _ color _ primary ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. build () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. launch Url ( this , ĠUri . parse ( url )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġcatch Ġ( ignore : ĠActivity NotFoundException ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġif Ġ( savedInstanceState Ġ== Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsupport FragmentManager . commit Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġadd < Person InfoList Fragment >( R . id . content ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Support Navigate Up (): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġfinish () ĊĠĠĠĠĠĠĠ Ġreturn Ġtrue ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġconst Ġval ĠEX TRA _ PERSON Ġ= Ġ" person " ĊĠĠĠ Ġ} Ċ }