package Ġnl . ent re co . dart ss core card . base Ċ Ċ import Ġandroid . app . Activity Ċ import Ġandroid . os . Bundle Ċ import Ġandroid . view . MenuItem Ċ import Ġandroidx . annotation . String Res Ċ import Ġandroidx . appcompat . app . AppCompatActivity Ċ import Ġandroidx . appcompat . widget . Toolbar Ċ import Ġandroidx . lifecycle . ViewModel Ċ import Ġandroidx . lifecycle . ViewModel Provider Ċ import Ġnl . ent re co . dart ss core card . App Ċ import Ġnl . ent re co . dart ss core card . R Ċ import Ġnl . ent re co . dart ss core card . di . view model . ViewModel Component Ċ import Ġnl . ent re co . dart ss core card . di . view model . ViewModel Module Ċ import Ġnl . ent re co . dart ss core card . faq . W tf Activity Ċ Ċ /** Ċ Ġ* ĠCreated Ġby ĠEnt re co Ġon Ġ 1 4 / 1 1 / 2 0 1 7 . Ċ Ġ*/ Ċ abstract Ġclass ĠViewModel Activity Ġ: ĠAppCompatActivity () Ġ{ ĊĊĠĠĠ Ġprivate Ġval Ġsty ler Ġby Ġlazy Ġ{ ĠSty ler ( this ) Ġ} ĊĊĠĠĠ Ġval ĠActivity . app : ĠApp ĊĠĠĠĠĠĠĠ Ġget () Ġ= Ġapplication Ġas ĠApp ĊĊĊĠĠĠ Ġ@ Suppress (" UN CHECK ED _ CAST ") ĊĠĠĠ Ġinline Ġfun Ġ< re ified ĠVM Ġ: ĠViewModel > ĠviewModel Provider ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġmode : ĠLazy Thread Safety Mode Ġ= ĠLazy Thread Safety Mode . NONE , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcross inline Ġprovider : Ġ() Ġ-> ĠVM , ĊĠĠĠ Ġ) Ġ= Ġlazy ( mode ) Ġ{ ĊĠĠĠĠĠĠĠ ĠViewModel Provider ( this , Ġobject Ġ: ĠViewModel Provider . Factory Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġ< T 1 Ġ: ĠViewModel > Ġcreate ( aClass : ĠClass < T 1 >) Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġprovider () Ġas ĠT 1 ĊĠĠĠĠĠĠĠ Ġ}). get ( VM :: class . java ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġinline Ġfun Ġ< re ified ĠVM > Ġcomponent Provider ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġmode : ĠLazy Thread Safety Mode Ġ= ĠLazy Thread Safety Mode . NONE , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcross inline Ġprovider : Ġ( ViewModel Component ) Ġ-> ĠVM , ĊĠĠĠ Ġ) Ġ= Ġlazy ( mode ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġcomponent Ġ= Ġapp . app Component . plus ( ViewModel Module ( this )) ĊĠĠĠĠĠĠĠ Ġprovider ( component ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate ( savedInstanceState : ĠBundle ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġset Theme ( sty ler . get ()) ĊĠĠĠĠĠĠĠ Ġsuper . onCreate ( savedInstanceState ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Restart () Ġ{ ĊĠĠĠĠĠĠĠ Ġset Theme ( sty ler . get ()) ĊĠĠĠĠĠĠĠ Ġsuper . on Restart () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprotected Ġfun Ġswap Style () Ġ{ ĊĠĠĠĠĠĠĠ Ġsty ler . switch () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Options ItemSelected ( item : ĠMenuItem ): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġwhen Ġ( item . itemId ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠR . id . menu _ faq Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠW tf Activity . launch ( this ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġ-> Ġsuper . on Options ItemSelected ( item ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprotected Ġfun Ġinit Toolbar ( toolbar : ĠToolbar , Ġ@ String Res Ġtitle : ĠInt Ġ= ĠR . string . app _ name , Ġshow Home Enabled : ĠBoolean Ġ= Ġtrue ) Ġ{ ĊĠĠĠĠĠĠĠ Ġset Support ActionBar ( toolbar ) ĊĠĠĠĠĠĠĠ ĠsetTitle ( title ) ĊĠĠĠĠĠĠĠ Ġsupport ActionBar ?. set Display Home As Up Enabled ( show Home Enabled ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprotected Ġfun Ġinit Toolbar ( toolbar : ĠToolbar , Ġtitle : ĠString , Ġshow Home Enabled : ĠBoolean Ġ= Ġtrue ) Ġ{ ĊĠĠĠĠĠĠĠ Ġset Support ActionBar ( toolbar ) ĊĠĠĠĠĠĠĠ ĠsetTitle ( title ) ĊĠĠĠĠĠĠĠ Ġsupport ActionBar ?. set Display Home As Up Enabled ( show Home Enabled ) ĊĠĠĠ Ġ} Ċ }