package Ġcom . app ac ou stic . co int ester . core . presentation . main Ċ Ċ import Ġandroid . content . Context Ċ import Ġandroid . content . Intent Ċ import Ġandroid . view . LayoutInflater Ċ import Ġcom . app ac ou stic . co int ester . core . R Ċ import Ġcom . app ac ou stic . co int ester . core . databinding . Activity Main Binding Ċ import Ġcom . app ac ou stic . co int ester . core . presentation . analyzer . Analyzer Fragment Ċ import Ġcom . app ac ou stic . co int ester . lib Framework . extension . exhaustive Ċ import Ġcom . app ac ou stic . co int ester . lib Framework . extension . navigate To Ċ import Ġcom . app ac ou stic . co int ester . lib base . activity . State less Base Activity Ċ import Ġorg . k oin . android x . view model . ext . android . viewModel Ċ Ċ class ĠMainActivity Ġ: ĠStateless Base Activity < ĊĠĠĠ ĠActivity Main Binding , ĊĠĠĠ ĠMain ViewModel . View Events , ĊĠĠĠ ĠMain ViewModel ĊĠĠĠ Ġ> () Ġ{ ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġfun Ġlaunch ( context : ĠContext ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġintent Ġ= ĠIntent ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcontext , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠMainActivity :: class . java ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcontext . startActivity ( intent ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġval Ġview Binding : Ġ( LayoutInflater ) Ġ-> ĠActivity Main Binding Ġ= Ġ{ ĊĠĠĠĠĠĠĠ ĠActivity Main Binding . inflate ( it ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġval ĠviewModel : ĠMain ViewModel Ġby ĠviewModel () ĊĊĠĠĠ Ġoverride Ġfun Ġinit UI () Ġ{} ĊĊĠĠĠ Ġoverride Ġfun Ġhandle View Event ( view Event : ĠMain ViewModel . View Events ) Ġ{ ĊĠĠĠĠĠĠĠ Ġwhen Ġ( view Event ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġis ĠMain ViewModel . View Events . Navigate To Analyzer Ġ-> Ġnavigate To Analyzer () ĊĠĠĠĠĠĠĠ Ġ}. exhaustive ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġnavigate To Analyzer () Ġ{ ĊĠĠĠĠĠĠĠ Ġnavigate To ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠR . id . fl Container , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠAnalyzer Fragment . newInstance () ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} Ċ } Ċ