package Ġcom . un happy choice . nor im aki . presentation . view Ċ Ċ import Ġandroid . content . Context Ċ import Ġandroid . util . Attribute Set Ċ import Ġandroid . view . Menu Ċ import Ġandroid . view . MenuItem Ċ import Ġandroidx . recyclerview . widget . Linear LayoutManager Ċ import Ġandroidx . recyclerview . widget . RecyclerView Ċ import Ġcom . un happy choice . nor im aki . extension . subscribe Next Ċ import Ġcom . un happy choice . nor im aki . extension . subscribe On Io Ob serve On UI Ċ import Ġcom . un happy choice . nor im aki . presentation . adapter . Build Step Adapter Ċ import Ġcom . un happy choice . nor im aki . presentation . presenter . Build Presenter Ċ import Ġcom . un happy choice . nor im aki . presentation . view . core . Base View Ċ import Ġcom . un happy choice . nor im aki . presentation . view . core . Has Menu Ċ import Ġio . reactivex . rx kotlin . addTo Ċ import Ġkotlinx . android . synt hetic . main . build _ view . view .* Ċ import Ġorg . kode in . di . instance Ċ Ċ class ĠBuild View ( context : ĠContext , Ġattr : ĠAttributeSet ) Ġ: ĠBase View < Build View >( context , Ġattr ), ĠHas Menu Ġ{ ĊĠĠĠ Ġoverride Ġval Ġpresenter : ĠBuild Presenter Ġby Ġinstance () ĊĊĠĠĠ Ġprivate Ġval Ġadapter Ġ= ĠBuild Step Adapter ( context ) ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate Options Menu ( menu : ĠMenu ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġmenu ?. add ( Menu . NONE , ĠMenu Resource . Rebuild . id , ĠMenu . NONE , Ġ" Rebuild ") ĊĠĠĠĠĠĠĠ Ġmenu ?. add ( Menu . NONE , ĠMenu Resource . Rebuild Without Cache . id , ĠMenu . NONE , Ġ" Rebuild Ġwithout Ġcache ") ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Options ItemSelected ( item : ĠMenuItem ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġwhen Ġ( item ?. itemId ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠMenu Resource . Rebuild . id Ġ-> Ġpresenter . rebuild () ĊĠĠĠĠĠĠĠĠĠĠĠ ĠMenu Resource . Rebuild Without Cache . id Ġ-> Ġpresenter . rebuild Without Cache () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġenum Ġclass ĠMenu Resource ( val Ġid : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠ ĠRe build ( 0 ), ĠRe build Without Cache ( 1 ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Attached To Window () Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . on Attached To Window () ĊĠĠĠĠĠĠĠ Ġpresenter . take View ( this ) ĊĊĠĠĠĠĠĠĠ Ġsteps View . adapter Ġ= Ġadapter ĊĠĠĠĠĠĠĠ Ġsteps View . layout Manager Ġ= ĠLinearLayoutManager ( context , ĠRecyclerView . VERTICAL , Ġfalse ) ĊĊĠĠĠĠĠĠĠ Ġpresenter . steps . as Observable () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. subscribe On Io Ob serve On UI () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. subscribe Next Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġadapter . steps . value Ġ= Ġit ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġadapter . notify DataSet Changed () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ}. addTo ( bag ) ĊĊĠĠĠĠĠĠĠ Ġadapter . onClick Item ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. subscribe Next Ġ{ Ġpresenter . goTo Build Step Screen ( it ) Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. addTo ( bag ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Detached From Window () Ġ{ ĊĠĠĠĠĠĠĠ Ġpresenter . drop View ( this ) ĊĠĠĠĠĠĠĠ Ġsuper . on Detached From Window () ĊĠĠĠ Ġ} Ċ } Ċ