package Ġcom . jvm art ine z . login with mv vm . ui . home Ċ Ċ import Ġandroid . content . Intent Ċ import Ġandroidx . appcompat . app . AppCompatActivity Ċ import Ġandroid . os . Bundle Ċ import Ġandroid . view . Menu Ċ import Ġandroid . view . MenuItem Ċ import Ġandroidx . lifecycle . ViewModel Provider Ċ import Ġcom . jvm art ine z . login with mv vm . R Ċ import Ġcom . jvm art ine z . login with mv vm . core . data . firebase . Firebase Source Ċ import Ġcom . jvm art ine z . login with mv vm . core . data . repository . UserRepository Ċ import Ġcom . jvm art ine z . login with mv vm . ui . login . Login Activity Ċ import Ġkotlinx . android . synt hetic . main . content _ home .* Ċ Ċ class ĠHome Activity Ġ: ĠAppCompatActivity () Ġ{ ĊĠĠĠ Ġprivate Ġlateinit Ġvar ĠviewModel : ĠHome ViewModel ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate ( savedInstanceState : ĠBundle ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . onCreate ( savedInstanceState ) ĊĠĠĠĠĠĠĠ ĠsetContentView ( R . layout . activity _ main ) ĊĠĠĠĠĠĠĠ Ġset Support ActionBar ( findViewById ( R . id . toolbar )) ĊĠĠĠĠĠĠĠ ĠviewModel Ġ= ĠViewModel Provider ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġthis , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠHome ViewModel Factory ( UserRepository ( Firebase Source ())) ĊĠĠĠĠĠĠĠ Ġ). get ( Home ViewModel :: class . java ) ĊĠĠĠĠĠĠĠ Ġshow Info User () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġshow Info User () Ġ{ ĊĠĠĠĠĠĠĠ Ġlbl _ name _ user . text Ġ= ĠviewModel . getEmail User () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġshow Login Activity () Ġ{ ĊĠĠĠĠĠĠĠ ĠviewModel . logout () ĊĠĠĠĠĠĠĠ ĠstartActivity ( Intent ( this , ĠLogin Activity :: class . java )) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate Options Menu ( menu : ĠMenu ?): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġmenu Inflater . inflate ( R . menu . menu , Ġmenu ) ĊĠĠĠĠĠĠĠ Ġreturn Ġtrue ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Options ItemSelected ( item : ĠMenuItem ): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġwhen Ġ( item . itemId ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠR . id . logout Ġ-> Ġshow Login Activity () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġreturn Ġsuper . on Options ItemSelected ( item ) ĊĊĠĠĠ Ġ} Ċ }