package Ġcom . h cl . uber p oc . sample . presentation . ri bs . root . display list Ċ Ċ import Ġandroid . view . LayoutInflater Ċ import Ġandroid . view . ViewGroup Ċ import Ġcom . h cl . uber p oc . domain . entity . station . St ations Ċ import Ġcom . h cl . uber p oc . sample . R Ċ import Ġcom . h cl . uber p oc . sample . entity . Air Port Type Ċ 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 Ġjavax . inject . Scope Ċ Ċ /** Ċ Ġ* ĠBuilder Ġfor Ġthe Ġ{@ link ĠSelect Air port Scope }. Ċ Ġ*/ Ċ class ĠDisplay List Builder ( dependency : ĠParent Component ) Ġ: ĊĠĠĠ ĠView Builder < Display ListView , ĠDisplay List Router , ĠDisplay List Builder . Parent Component >( ĊĠĠĠĠĠĠĠ Ġdependency ĊĠĠĠ Ġ) Ġ{ ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠBuilds Ġa Ġnew Ġ[ Display List Router ]. ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ* Ġ@ param Ġparent ViewGroup Ġparent Ġview Ġgroup Ġthat Ġthis Ġrouter 's Ġview Ġwill Ġbe Ġadded Ġto . ĊĠĠĠĠ Ġ* Ġ@ return Ġa Ġnew Ġ[ Display List Router ]. ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġbuild ( parent ViewGroup : ĠViewGroup , Ġair Port Type : ĠAir Port Type ): ĠDisplay List Router Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġview Ġ= Ġcreate View ( parent ViewGroup ) ĊĠĠĠĠĠĠĠ Ġval Ġinter actor Ġ= ĠDisplay List Interactor () ĊĠĠĠĠĠĠĠ Ġval Ġcomponent Ġ= ĠD agger Select Air port Builder _ Component . builder () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. parent Component ( dependency ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. view ( view ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. inter actor ( inter actor ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. air Port Type ( air Port Type ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. build () ĊĠĠĠĠĠĠĠ Ġreturn Ġcomponent . select airport Router () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġinf late View ( ĊĠĠĠĠĠĠĠ Ġinflater : ĠLayoutInflater , ĊĠĠĠĠĠĠĠ Ġparent ViewGroup : ĠViewGroup , ĊĠĠĠ Ġ): ĠDisplay ListView Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġinflater . inflate ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠR . layout . select _ airport _ rib , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġparent ViewGroup , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfalse ĊĠĠĠĠĠĠĠ Ġ) Ġas ĠDisplay ListView ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġinterface ĠParent Component Ġ{ ĊĠĠĠĠĠĠĠ Ġfun Ġstations (): ĠSt ations ĊĠĠĠĠĠĠĠ Ġfun Ġselect Air Port Listener (): ĠDisplay List Interactor . Listener ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ d agger . Module ĊĠĠĠ Ġabstract Ġclass ĠModule Ġ{ ĊĊĠĠĠĠĠĠĠ Ġ@ Select Air port Scope ĊĠĠĠĠĠĠĠ Ġ@ Bind s ĊĠĠĠĠĠĠĠ Ġinternal Ġabstract Ġfun Ġpresenter ( view : ĠDisplay ListView ): ĠDisplay List Interactor . Select Air port Presenter ĊĊĠĠĠĠĠĠĠ Ġ@ d agger . Module ĊĠĠĠĠĠĠĠ Ġcompanion Ġobject Ġ{ ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ@ Select Air port Scope ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ@ Provides ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ@ Jvm Static ĊĠĠĠĠĠĠĠĠĠĠĠ Ġinternal Ġfun Ġrouter ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcomponent : ĠComponent , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġview : ĠDisplay ListView , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġinter actor : ĠDisplay List Interactor , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ): ĠDisplay List Router Ġ= ĠDisplay List Router ( view , Ġinter actor , Ġcomponent ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Select Air port Scope ĊĠĠĠ Ġ@ d agger . Component ( ĊĠĠĠĠĠĠĠ Ġmodules Ġ= Ġ[ Module :: class ], ĊĠĠĠĠĠĠĠ Ġdependencies Ġ= Ġ[ Parent Component :: class ] ĊĠĠĠ Ġ) ĊĠĠĠ Ġinterface ĠComponent Ġ: ĠInter actor Base Component < Display List Interactor >, ĠBuilder Component Ġ{ ĊĊĠĠĠĠĠĠĠ Ġ@ d agger . Component . Builder ĊĠĠĠĠĠĠĠ Ġinterface ĠBuilder Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ@ Bind s Instance ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfun Ġinter actor ( inter actor : ĠDisplay List Interactor ): ĠBuilder ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ@ Bind s Instance ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfun Ġview ( view : ĠDisplay ListView ): ĠBuilder ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ@ Bind s Instance ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfun Ġair Port Type ( air Port Type : ĠAir Port Type ): ĠBuilder ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġfun Ġparent Component ( component : ĠParent Component ): ĠBuilder ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfun Ġbuild (): ĠComponent ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġinterface ĠBuilder Component Ġ{ ĊĠĠĠĠĠĠĠ Ġfun Ġselect airport Router (): ĠDisplay List Router ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Scope ĊĠĠĠ Ġ@ kotlin . annotation . Retention ( Annotation Retention . RUNTIME ) ĊĠĠĠ Ġinternal Ġannotation Ġclass ĠSelect Air port Scope Ċ } Ċ