package Ġindi . y ume . tools . y route . sample Ċ Ċ import Ġandroid . app . Application Ċ import Ġindi . y ume . tools . y route .* Ċ import Ġindi . y ume . tools . y route . datatype . Main Core Engine Ċ import Ġindi . y ume . tools . y route . datatype . Y Result Ċ import Ġindi . y ume . tools . y route . datatype . flatMap R Ċ import Ġindi . y ume . tools . y route . datatype . lazy . start Ċ import Ġindi . y ume . tools . y route . datatype . lazy . with Param Ċ import Ġindi . y ume . tools . y route . fragment manager . Base Life Activity Ċ import Ġindi . y ume . tools . y route . sample . normal .* Ċ Ċ class ĠApp Ġ: ĠApplication () Ġ{ ĊĠĠĠ Ġlateinit Ġvar Ġcore : ĠMain Core Engine < Activities State > ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate () Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . onCreate () ĊĊĠĠĠĠĠĠĠ ĠMain Core Engine . apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcore Ġ= Ġcreate ( this @ App , ĠActiv ities State ( emptyList ())) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcore . start (). catch Subscribe () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcore . bind App (). catch Subscribe () ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ ĠY Route Nav i . init Nav i ( core , ĠUri Route . build (" test ") Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġput Route ("/ other / activity ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠActiv ities Route . run Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcreate Activity Intent < Base Life Activity , ĠActiv ities State >( Activity Builder ( Other Activity :: class . java )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. flatMap R Ġ{ ĠstartActivity For Result ( it , Ġ 1 ) Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ}) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġput ("/ other / fragment ") Ġ{ Ġuri Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġparam Ġ= ĠOther Param ( uri . query . getAll Query ()[" param "] ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ?: Ġ" No Ġparam Ġstart .") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠStack Route . run Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġroute Start Frag At New Single Activity < Base Fragment , ĠSingle Stack Activity >( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠActivity Builder ( Single Stack Activity :: class . java ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠFragment Builder ( Fragment Other :: class . java ). with Param ( param ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ}) ĊĠĠĠ Ġ} Ċ } Ċ Ċ object ĠY Route Nav i Ġ{ ĊĠĠĠ Ġlateinit Ġvar Ġcore : ĠMain Core Engine < Activities State > ĊĊĠĠĠ Ġlateinit Ġvar Ġuri Route : ĠRoute Nav i < Activities State > ĊĊĠĠĠ Ġfun Ġinit Nav i ( core : ĠMain Core Engine < Activities State >, ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġuri Route : ĠRoute Nav i < Activities State >) Ġ{ ĊĠĠĠĠĠĠĠ Ġthis . core Ġ= Ġcore ĊĠĠĠĠĠĠĠ Ġthis . uri Route Ġ= Ġuri Route ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġsuspend Ġfun Ġrun ( uri : ĠString ): ĠY Result < Any ?> Ġ= Ġuri Route . with Param ( uri ). start ( core ) Ċ }