package Ġio . fl uk s . base . android Ċ Ċ import Ġandroid . app . Activity Ċ import Ġandroid . content . Context Ċ import Ġandroid . content . Intent Ċ import Ġandroid . databinding . ViewData Binding Ċ import Ġandroid . os . Bundle Ċ import Ġandroid . support . v 7 . app . AppCompatActivity Ċ import Ġandroid . support . v 7 . widget . Toolbar Ċ import Ġandroid . view . View Ċ import Ġio . fl uk s . base .* Ċ import Ġio . fl uk s . base . android . databinding . Data Binding Delegate Ċ import Ġio . reactivex . dis pos ables . Disposable Ċ import Ġtim ber . log . Tim ber Ċ import Ġjava . lang . ref . Weak Reference Ċ Ċ abstract Ġclass ĠBase Activity < Data Binding , ĠComponent > Ġ: ĊĊĠĠĠ ĠAppCompatActivity (), ĊĠĠĠ ĠData Binding Delegate < Data Binding >, ĊĠĠĠ ĠDep ends < Component >, ĊĠĠĠ ĠDispatch Delegate < Event >, ĊĠĠĠ ĠUI . Finish able ĊĊĠĠĠ Ġwhere ĠData Binding Ġ: ĠView Data Binding , ĊĠĠĠĠĠĠĠĠĠ ĠComponent Ġ: ĠUI . Component < Data Binding >, ĊĠĠĠĠĠĠĠĠĠ ĠComponent Ġ: ĠBase Activity . Component Ġ{ ĊĊĠĠĠ Ġfinal Ġoverride Ġval Ġcontainer View : ĠView ? Ġget () Ġ= Ġbinding . root ĊĠĠĠ Ġoverride Ġval Ġdispatch : ĠDispatch < Event > Ġget () Ġ= Ġcomponent . dispatch ĊĊĠĠĠ Ġval Ġbinding Ġby Ġlazy Di Ġ{ Ġset Binding View ( layout Id ) Ġ} ĊĊĠĠĠ Ġval Ġtoolbar Ġby Ġlazy Ġ{ ĠfindViewById < Toolbar ? >( R . id . toolbar ) Ġ} ĊĊĠĠĠ Ġopen Ġval Ġdis posable : ĠDis posable ? Ġ= Ġnull ĊĊĠĠĠ Ġfinal Ġoverride Ġfun ĠonCreate ( savedInstanceState : ĠBundle ?): ĠUnit Ġ= Ġthis . measure (" onCreate ") Ġ{ ĊĠĠĠĠĠĠĠ ĠTim ber . d (" onCreate Ġstarted ") ĊĠĠĠĠĠĠĠ Ġdispatch ( Platform :: On Top ) ĊĠĠĠĠĠĠĠ Ġsuper . onCreate ( savedInstanceState ) ĊĠĠĠĠĠĠĠ Ġbinding ĊĠĠĠĠĠĠĠ Ġdis posable ĊĠĠĠĠĠĠĠ Ġset Support ActionBar ( toolbar ) ĊĠĠĠĠĠĠĠ Ġdi Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbinding . init () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġintent . event ?. let Ġ{ Ġdispatch ( it ) Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġinit Debug Drawer () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ ĠonCreate Safe ( savedInstanceState ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprotected Ġopen Ġfun ĠonCreate Safe ( savedInstanceState : ĠBundle ?) Ġ{} ĊĊĠĠĠ Ġoverride Ġfun Ġon Resume () Ġ{ ĊĠĠĠĠĠĠĠ Ġdispatch ( Platform :: On Top ) ĊĠĠĠĠĠĠĠ Ġsuper . on Resume () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon New Intent ( intent : ĠIntent ): ĠUnit Ġ= Ġdispatch ( intent . event ) ĊĊĠĠĠ Ġoverride Ġfun Ġon Destroy () Ġ{ ĊĠĠĠĠĠĠĠ Ġdis posable ?. dispose () ĊĠĠĠĠĠĠĠ Ġbinding . unbind () ĊĠĠĠĠĠĠĠ Ġdi Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdis posable . dispose () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbinding . destroy () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġsuper . on Destroy () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġdispatch ( get Effect : Ġ( Weak Reference < Context >) Ġ-> ĠEffect ) Ġ= Ġdispatch ( ĊĠĠĠĠĠĠĠ Ġget Effect ( this @ Base Activity . weak ()) ĊĠĠĠ Ġ) ĊĊĊĠĠĠ Ġinterface ĠComponent Ġ{ ĊĠĠĠĠĠĠĠ Ġfun ĠActivity . init Debug Drawer () ĊĠĠĠ Ġ} Ċ }