package Ġcom . example . recipes app . view . main _ activity Ċ Ċ import Ġandroid . os . Bundle Ċ import Ġandroidx . appcompat . app . AppCompatActivity Ċ import Ġandroidx . lifecycle . observe Ċ import Ġandroidx . navigation . fragment . Nav Host Fragment Ċ import Ġandroidx . navigation . ui . Navigation UI Ċ import Ġcom . example . recipes app . R Ċ import Ġcom . example . recipes app . model . entity . User Ċ import Ġcom . example . recipes app . model . repository . Firebase Repository Ċ import Ġcom . google . firebase . auth . Firebase Auth Ċ import Ġkotlinx . android . synt hetic . main . activity _ main .* Ċ Ċ class ĠMainActivity Ġ: ĠAppCompatActivity () Ġ{ ĊĊĠĠĠ Ġprivate Ġval Ġauth Ġ= ĠFirebase Auth . getInstance () ĊĠĠĠ Ġprivate Ġval Ġrepository Ġ= ĠFirebase Repository () ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate ( savedInstanceState : ĠBundle ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . onCreate ( savedInstanceState ) ĊĠĠĠĠĠĠĠ ĠsetContentView ( R . layout . activity _ main ) ĊĊĠĠĠĠĠĠĠ Ġsetup User () ĊĠĠĠĠĠĠĠ Ġsetup Navigation () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ// ĠSetup Ġcurrent ĠUser ĊĠĠĠ Ġprivate Ġfun Ġsetup User () Ġ{ ĊĠĠĠĠĠĠĠ Ġrepository . getUser ( auth . uid !! ). observe ( this ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( it Ġ!= Ġnull ) ĠUser . setCurrent User ( it ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ// ĠSetup Ġnavigation Ġbetween Ġfragments ĊĠĠĠ Ġprivate Ġfun Ġsetup Navigation () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġnav Host Fragment Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsupport FragmentManager . find Fragment ById ( R . id . nav _ host _ fragment ) Ġas ĠNav Host Fragment ? ĊĠĠĠĠĠĠĠ ĠNavigation UI . setup With Nav Controller ( bottom Navigation , Ġnav Host Fragment !!. nav Controller ) ĊĠĠĠ Ġ} Ċ }