package Ġjp . cor dea . ri bs demo . ui . region detail Ċ Ċ import Ġandroid . view . LayoutInflater Ċ import Ġandroid . view . ViewGroup Ċ import Ġcom . uber . rib . core . Interactor Base Component Ċ import Ġcom . uber . rib . core . View Builder Ċ import Ġdagger . Bind s Ċ import Ġdagger . Bind s Instance Ċ import Ġdagger . Provides Ċ import Ġjp . cor dea . ri bs demo . App Module Ċ import Ġjp . cor dea . ri bs demo . R Ċ import Ġjp . cor dea . ri bs demo . ui . region . Region DataSource Ċ import Ġjp . cor dea . ri bs demo . ui . region . Region Remote DataSource Ċ Ċ class ĠRegion Detail Builder ( ĊĠĠĠ Ġcomponent : ĠParent Component Ċ ) Ġ: ĠView Builder < Region Detail View , ĠRegion Detail Router , ĠRegion Detail Builder . Parent Component >( component ) Ġ{ ĊĊĠĠĠ Ġfun Ġbuild ( parent : ĠViewGroup ): ĠRegion Detail Router Ġ= ĊĠĠĠĠĠĠĠ ĠD agger Region Detail Builder _ Component . builder () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. parent Component ( dependency ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. view ( create View ( parent )) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. inter actor ( Region Detail Interactor ()) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. build () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. region Detail Router () ĊĊĠĠĠ Ġoverride Ġfun Ġinf late View ( in flater : ĠLayoutInflater , Ġparent ViewGroup : ĠViewGroup ): ĠRegion Detail View Ġ= ĊĠĠĠĠĠĠĠ Ġinflater . inflate ( R . layout . content _ region _ detail , Ġparent ViewGroup , Ġfalse ) Ġas ĠRegion Detail View ĊĊĠĠĠ Ġinterface ĠParent Component ĊĊĠĠĠ Ġ@ d agger . Module ĊĠĠĠ Ġabstract Ġclass ĠModule Ġ{ ĊĠĠĠĠĠĠĠ Ġ@ d agger . Module ĊĠĠĠĠĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ@ Provides ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ@ Jvm Static ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ@ Region Detail Scope ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfun Ġprovide Router ( component : ĠComponent , Ġview : ĠRegion Detail View , Ġinter actor : ĠRegion Detail Interactor ) Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠRegion Detail Router ( view , Ġinter actor , Ġcomponent , ĠRegion Detail Child Builder ( component )) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ@ Provides ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ@ Jvm Static ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ@ Region Detail Scope ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfun Ġprovide Context ( view : ĠRegion Detail View ) Ġ= Ġview . context ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ@ Bind s ĊĠĠĠĠĠĠĠ Ġ@ Region Detail Scope ĊĠĠĠĠĠĠĠ Ġabstract Ġfun Ġbind Presenter ( view : ĠRegion Detail View ): ĠRegion Detail Interactor . Region Detail Presenter ĊĊĠĠĠĠĠĠĠ Ġ@ Bind s ĊĠĠĠĠĠĠĠ Ġabstract Ġfun Ġbind Region DataSource ( remote DataSource : ĠRegion Remote DataSource ): ĠRegion DataSource ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Region Detail Scope ĊĠĠĠ Ġ@ d agger . Component ( ĊĠĠĠĠĠĠĠ Ġmodules Ġ= Ġ[ Module :: class , ĠApp Module :: class ], ĊĠĠĠĠĠĠĠ Ġdependencies Ġ= Ġ[ Parent Component :: class ] ĊĠĠĠ Ġ) ĊĠĠĠ Ġinterface ĠComponent Ġ: ĠInter actor Base Component < Region Detail Interactor >, ĊĠĠĠĠĠĠĠ ĠBuilder Component , ĊĠĠĠĠĠĠĠ ĠRegion Detail Child Builder . Parent Component Ġ{ ĊĠĠĠĠĠĠĠ Ġ@ d agger . Component . Builder ĊĠĠĠĠĠĠĠ Ġinterface ĠBuilder Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ@ Bind s Instance ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfun Ġinter actor ( inter actor : ĠRegion Detail Interactor ): ĠBuilder ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ@ Bind s Instance ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfun Ġview ( view : ĠRegion Detail View ): ĠBuilder ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġfun Ġparent Component ( component : ĠParent Component ): ĠBuilder ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġfun Ġbuild (): ĠComponent ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġinterface ĠBuilder Component Ġ{ ĊĠĠĠĠĠĠĠ Ġfun Ġregion Detail Router (): ĠRegion Detail Router ĊĠĠĠ Ġ} Ċ } Ċ