package Ġcom . ace . diet tracker . util . lifecycle . arch Ċ Ċ import Ġandroid . arch . lifecycle . ViewModel Ċ import Ġandroid . os . Bundle Ċ import Ġandroid . os . Persist able Bundle Ċ import Ġandroid . support . v 7 . app . AppCompatActivity Ċ import Ġandroid . view . MenuItem Ċ import Ġcom . ace . diet tracker . util . init ViewModel Ċ Ċ /** Ċ Ġ* ĠCreated Ġby Ġs achin Ġon Ġ 2 7 / 6 / 1 7 . Ċ Ġ*/ Ċ abstract Ġopen Ġclass ĠBase Activity < E Ġ: ĠViewModel > Ġ: ĠAppCompatActivity () Ġ{ ĊĊĠĠĠ Ġval Ġm ViewModel : ĠE Ġ Ġby Ġlazy Ġ{ Ġinit ViewModel ( get ViewModel Class ()) Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate ( savedInstanceState : ĠBundle ?, Ġpersistent State : ĠPers ist able Bundle ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . onCreate ( savedInstanceState , Ġpersistent State ) ĊĠĠĠĠĠĠĠ ĠsetContentView ( get Layout Id ()) ĊĊĠĠĠĠĠĠĠ Ġinit () ĊĠĠĠĠĠĠĠ Ġset Draw Config () ĊĠĠĠĠĠĠĠ Ġset Events () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġabstract Ġfun Ġget ViewModel Class (): ĠClass < E > ĊĊĠĠĠ Ġabstract Ġfun Ġget Layout Id (): ĠInt ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠInitial ise Ġviews Ġand Ġload Ġinitial Ġconfig ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġabstract Ġfun Ġinit () ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠSets Ġall Ġdraw Ġconfigs Ġto Ġview ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġabstract Ġfun Ġset Draw Config () ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠSets Ġevents Ġto Ġviews ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġabstract Ġfun Ġset Events () ĊĊĠĠĠ Ġoverride Ġfun Ġon Options ItemSelected ( item : ĠMenuItem ?): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġwhen Ġ( item ?. itemId ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġandroid . R . id . home Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsupport FragmentManager ?. apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( back Stack Entry Count Ġ> Ġ 0 ) Ġpop Back Stack () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġreturn Ġsuper . on Options ItemSelected ( item ) ĊĠĠĠ Ġ} Ċ }