package Ġcom . z ey ad . rx redux . core . view Ċ Ċ import Ġandroid . os . Bundle Ċ import Ġandroid . os . Parcelable Ċ import Ġandroidx . appcompat . app . AppCompatActivity Ċ import Ġandroidx . appcompat . app . AppCompat Delegate Ċ import Ġcom . z ey ad . rx redux . core . view model . I Base ViewModel Ċ import Ġio . reactivex . Observable Ċ Ċ abstract Ġclass ĠBase Activity < I , ĠR , ĠS Ġ: ĠParcel able , ĠE , ĠVM Ġ: ĠI Base ViewModel < I , ĠR , ĠS , ĠE >> Ġ: ĠAppCompatActivity (), ĠBase View < I , ĠR , ĠS , ĠE , ĠVM > Ġ{ ĊĊĠĠĠ Ġoverride Ġvar Ġintent Stream : ĠObservable < I > Ġ= ĠObservable . empty () ĊĠĠĠ Ġoverride Ġlateinit Ġvar ĠviewModel : ĠVM ĊĠĠĠ Ġoverride Ġlateinit Ġvar Ġview State : ĠS ĊĊĠĠĠ Ġoverride Ġfun Ġis ViewState Initialized (): ĠBoolean Ġ= Ġ:: view State . isInitialized ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate ( savedInstanceState : ĠBundle ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . onCreate ( savedInstanceState ) ĊĠĠĠĠĠĠĠ ĠAppCompat Delegate . set Compat Vector From Resources Enabled ( true ) ĊĠĠĠĠĠĠĠ Ġinit ViewState ( savedInstanceState ) ĊĠĠĠĠĠĠĠ Ġinitialize () ĊĠĠĠĠĠĠĠ Ġsetup UI ( savedInstanceState Ġ== Ġnull ) ĊĠĠĠĠĠĠĠ Ġactivate () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Restore InstanceState ( savedInstanceState : ĠBundle ) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . on Restore InstanceState ( savedInstanceState ) ĊĠĠĠĠĠĠĠ Ġget ViewState From < S >( savedInstanceState )?. let Ġ{ Ġview State Ġ= Ġit Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Save InstanceState ( bundle : ĠBundle ) Ġ{ ĊĠĠĠĠĠĠĠ Ġon Save InstanceState Impl ( bundle , Ġview State ) ĊĠĠĠĠĠĠĠ Ġsuper . on Save InstanceState ( bundle ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Destroy () Ġ{ ĊĠĠĠĠĠĠĠ Ġdeactivate () ĊĠĠĠĠĠĠĠ Ġsuper . on Destroy () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠSetup Ġthe ĠUI . ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ* Ġ@ param Ġis New Ġ= ĠsavedInstanceState Ġ== Ġnull ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġabstract Ġfun Ġsetup UI ( isNew : ĠBoolean ) Ċ } Ċ