package Ġio . github . kar to ff el sup . n unt ius . ui Ċ Ċ import Ġandroid . os . Bundle Ċ import Ġandroidx . activity . view Models Ċ import Ġandroidx . appcompat . app . AppCompatActivity Ċ import Ġandroidx . compose . ui . platform . setContent Ċ import Ġio . github . kar to ff el sup . n unt ius . data . Login Ċ import Ġio . github . kar to ff el sup . n unt ius . data . Logout Ċ import Ġio . github . kar to ff el sup . n unt ius . data . Security Ċ import Ġorg . green robot . event bus . EventBus Ċ import Ġorg . green robot . event bus . Subscribe Ċ import Ġorg . green robot . event bus . Thread Mode Ċ Ċ class ĠMainActivity Ġ: ĠAppCompatActivity () Ġ{ ĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġapp State : ĠApp State ĊĠĠĠ Ġprivate Ġval Ġnavigation ViewModel Ġby Ġview Models < Navigation ViewModel >() ĊĠĠĠ Ġoverride Ġfun ĠonCreate ( savedInstanceState : ĠBundle ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . onCreate ( savedInstanceState ) ĊĠĠĠĠĠĠĠ ĠEvent Bus . getDefault (). register ( this ) ĊĠĠĠĠĠĠĠ ĠSecurity . init ( application Context ) ĊĊĠĠĠĠĠĠĠ Ġapp State Ġ= ĠApp State ( Security . getUser ()) ĊĊĠĠĠĠĠĠĠ Ġset Content Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠN ut ri us App ( app State , Ġnavigation ViewModel ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Subscribe ( thread Mode Ġ= ĠThread Mode . MAIN , Ġpriority Ġ= Ġ 1 ) ĊĠĠĠ Ġfun Ġon Login ( login : ĠLogin ) Ġ{ ĊĠĠĠĠĠĠĠ Ġapp State . userData Ġ= ĠSecurity . getUser () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Subscribe ( thread Mode Ġ= ĠThread Mode . MAIN , Ġpriority Ġ= Ġ 1 ) ĊĠĠĠ Ġfun Ġon Logout ( logout : ĠLogout ) Ġ{ ĊĠĠĠĠĠĠĠ Ġapp State . userData Ġ= ĠSecurity . getUser () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Back Pressed () Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ(! navigation ViewModel . on Back ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsuper . on Back Pressed () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Stop () Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . on Stop () ĊĠĠĠĠĠĠĠ ĠEvent Bus . getDefault (). unregister ( this ) ĊĠĠĠĠĠĠĠ ĠSecurity . destroy () ĊĠĠĠ Ġ} Ċ } Ċ