package Ġcom . td . framework . global . router Ċ Ċ import Ġandroid . app . Activity Ċ import Ġandroid . content . Context Ċ import Ġandroid . os . Bundle Ċ import Ġandroid . os . Parcelable Ċ import Ġcom . alibaba . android . ar outer . facade . Post card Ċ import Ġcom . alibaba . android . ar outer . facade . callback . Navigation Callback Ċ import Ġcom . alibaba . android . ar outer . launcher . AR outer Ċ import Ġcom . td . framework . R Ċ import Ġcom . td . framework . global . app . App Ċ import Ġcom . td . framework . utils . T Ċ import Ġjava . io . Serializable Ċ import Ġjava . util .* Ċ Ċ /** Ċ Ġ* ĠCreated Ġby Ġjc Ġon Ġ 2 0 1 7 / 6 / 2 8 Ġ 0 0 2 8 . Ċ Ġ* Ċ Ġ* Ġ çīĪæľ¬ : 1 . 0 . 0 Ċ Ġ* Ġ** è¯´æĺİ **< br ></ br > Ċ Ġ* Ġ Ġ* Ġ è·¯çĶ± å¸®åĬ© ç±» Ċ Ġ* Ġ* Ġ å¹¶ ä¸į å»ºè®® çĽ´æİ¥ ä½¿çĶ¨ è¿Ļä¸ª ç±» Ċ Ġ* Ġ*/ Ċ object ĠRouter Helper Ġ: ĠNavigation Callback Ġ{ ĊĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* Ġ è·³è½¬ é¡µéĿ¢ ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ* Ġæ ² ¡ æľī ä»»ä½ķ åıĤæķ° çļĦ ĊĊĠĠĠĠ Ġ* Ġ@ param Ġpath ĠĠĠĠĠ ĠéľĢè¦ģ è·³è½¬ çļĦ è·¯å¾Ħ ĊĠĠĠĠ Ġ* Ġ* ĊĠĠĠĠ Ġ* Ġ@ param Ġm Activity Ġ åħ±äº« åĬ¨çĶ» ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġnavigation Activity ( path : ĠString , Ġm Activity : ĠContext ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġbuild Router ( path ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. navigation ( m Activity , Ġthis ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġnavigation Activity ( path : ĠString ) Ġ{ ĊĠĠĠĠĠĠĠ Ġbuild Router ( path ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. navigation () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* Ġ è·³è½¬ é¡µéĿ¢ ï¼Į ä¼łéĢĴ ä¸Ģä¸ª ĠBundle Ġæķ°æį® ĊĊĠĠĠĠ Ġ* Ġ@ param Ġpath ĊĠĠĠĠ Ġ* Ġ* ĊĠĠĠĠ Ġ* Ġ@ param Ġm Activity ĊĠĠĠĠ Ġ* Ġ* ĊĠĠĠĠ Ġ* Ġ@ param Ġbundle ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġnavigation Activity ( path : ĠString , Ġm Activity : ĠContext ?, Ġbundle : ĠBundle ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( bundle Ġ== Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġnavigation Activity ( path , Ġm Activity ) ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbuild Router ( path ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. with ( bundle ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. navigation ( m Activity , Ġthis ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġnavigation Activity ( path : ĠString , Ġm Activity : ĠContext ?, Ġbundle : ĠBundle ?, Ġis Green : ĠBoolean ) Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( is Green ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbuild Router ( path ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. with ( bundle ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. green Channel () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. navigation ( m Activity , Ġthis ) ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġnavigation Activity ( path , Ġm Activity , Ġbundle ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* Ġ è·³è½¬ é¡µéĿ¢ ï¼Į æľī è¿ĶåĽŀ åĢ¼çļĦ ĊĊĠĠĠĠ Ġ* Ġ@ param Ġpath ĊĠĠĠĠ Ġ* Ġ* ĊĠĠĠĠ Ġ* Ġ@ param Ġm Activity ĊĠĠĠĠ Ġ* Ġ* ĊĠĠĠĠ Ġ* Ġ@ param Ġrequest Code ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġnavigation Activity For Result ( path : ĠString , Ġm Activity : ĠActivity ?, Ġrequest Code : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠ Ġbuild Router ( path ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. navigation ( m Activity , Ġrequest Code , Ġthis ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* Ġ è·³è½¬ é¡µéĿ¢ ï¼Į æľī è¿ĶåĽŀ åĢ¼ ï¼Į ä¸Ķ æĲ º å¸¦ æķ°æį® ĊĊĠĠĠĠ Ġ* Ġ@ param Ġpath ĊĠĠĠĠ Ġ* Ġ* ĊĠĠĠĠ Ġ* Ġ@ param Ġm Activity ĊĠĠĠĠ Ġ* Ġ* ĊĠĠĠĠ Ġ* Ġ@ param Ġbundle ĊĠĠĠĠ Ġ* Ġ* ĊĠĠĠĠ Ġ* Ġ@ param Ġrequest Code ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġnavigation Activity For Result ( path : ĠString , Ġm Activity : ĠActivity ?, Ġbundle : ĠBundle , Ġrequest Code : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠ Ġbuild Router ( path ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. with ( bundle ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. navigation ( m Activity , Ġrequest Code , Ġthis ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* Ġ ä¼łéĢĴ åıĤæķ° ĊĠĠĠĠ Ġ* Ġæľī è¿ĶåĽŀ åĢ¼ ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġnavigation Activity From Pair For Result ( path : ĠString , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġm Activity : ĠActivity ?, ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġrequest Code : ĠInt , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġvar arg Ġpair : ĠPair < String , ĠAny > ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġ// åĪĽå»º è·¯çĶ± ĊĠĠĠĠĠĠĠ Ġval Ġrouter Ġ= Ġbuild Router For Params ( path , Ġ* pair ) ĊĠĠĠĠĠĠĠ Ġ// å¯¼èĪª ĊĠĠĠĠĠĠĠ Ġrouter . navigation ( m Activity , Ġrequest Code , Ġthis ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* Ġ ä¼łéĢĴ åıĤæķ° ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġnavigation Activity From Pair ( path : ĠString , Ġm Activity : ĠActivity ?, Ġvar arg Ġpair : ĠPair < String , ĠAny > ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġnavigation Activity From Pair For Result ( path , Ġm Activity , Ġ- 1 , Ġ* pair ) ĊĠĠĠ Ġ} ĊĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠåĪĽå»º è·¯çĶ± ĊĊĠĠĠĠ Ġ* Ġ@ param Ġpath ĊĠĠĠĠ Ġ* Ġ* ĊĠĠĠĠ Ġ* Ġ@ return ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġprivate Ġfun Ġbuild Router ( path : ĠString ): ĠPost card Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĠA Router . getInstance () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. build ( path ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. with Transition ( R . anim . setup _ next _ in , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠR . anim . setup _ next _ out ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠåĪĽå»º æĲ º å¸¦ åıĤæķ° çļĦ è·¯çĶ± ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġbuild Router For Params ( path : ĠString , Ġneed A min : ĠBoolean , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġvar arg Ġparams : ĠPair < String , ĠAny >? ): ĠPost card Ġ{ ĊĊĠĠĠĠĠĠĠ Ġval Ġrouter Ġ= ĠA Router . getInstance () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. build ( path ) ĊĠĠĠĠĠĠĠ Ġif Ġ( need A min ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġrouter . with Transition ( R . anim . setup _ next _ in , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠR . anim . setup _ next _ out ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ// èİ·åıĸ åıĤæķ° ï¼Į åĪĽå»º Ġkey Ġvalue ĊĠĠĠĠĠĠĠ Ġparams . forEach Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġvalue Ġ= Ġit ?. second ĊĠĠĠĠĠĠĠĠĠĠĠ Ġwhen Ġ( value ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġnull Ġ-> Ġrouter . with Serializable ( it ?. first , Ġnull Ġas ĠSerializable ?) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġis ĠInt Ġ-> Ġrouter . with Int ( it . first , Ġvalue ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġis ĠLong Ġ-> Ġrouter . with Long ( it . first , Ġvalue ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġis ĠCharSequence Ġ-> Ġrouter . with CharSequence ( it . first , Ġvalue ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġis ĠString Ġ-> Ġrouter . with String ( it . first , Ġvalue ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġis ĠFloat Ġ-> Ġrouter . with Float ( it . first , Ġvalue ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġis ĠDouble Ġ-> Ġrouter . with Double ( it . first , Ġvalue ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġis ĠChar Ġ-> Ġrouter . with Char ( it . first , Ġvalue ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġis ĠShort Ġ-> Ġrouter . with Short ( it . first , Ġvalue ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġis ĠBoolean Ġ-> Ġrouter . with Boolean ( it . first , Ġvalue ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġis ĠSerializable Ġ-> Ġrouter . with Serializable ( it . first , Ġvalue ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġis ĠBundle Ġ-> Ġrouter . with Bundle ( it . first , Ġvalue ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġis ĠParcel able Ġ-> Ġrouter . with Parcelable ( it . first , Ġvalue ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġis ĠArray < *> Ġ-> Ġwhen Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġvalue . isArray Of < CharSequence >() Ġ-> Ġrouter . with CharSequence Array ( it . first , Ġvalue Ġas ĠArray < out ĠCharSequence >) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġvalue . isArray Of < String >() Ġ-> Ġrouter . with String ArrayList ( it . first , Ġvalue Ġas ĠArrayList < String >) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġvalue . isArray Of < Parcelable >() Ġ-> Ġrouter . with Parcelable ArrayList ( it . first , Ġvalue Ġas ĠArrayList < out ĠParcel able >) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn @ forEach ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ// è¿ĶåĽŀ è·¯çĶ± ĊĠĠĠĠĠĠĠ Ġreturn Ġrouter ĊĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġbuild Router For Params ( path : ĠString , Ġvar arg Ġparams : ĠPair < String , ĠAny >? ): ĠPost card Ġ{ ĊĊĠĠĠĠĠĠĠ Ġreturn Ġbuild Router For Params ( path , Ġtrue , Ġ* params ) ĊĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Lost ( post card : ĠPost card ?) Ġ{ ĊĠĠĠĠĠĠĠ ĠT . show Toast ( App . newInstance (), Ġ" åĵ İ åĳ Ģ , é¡µéĿ¢ å¤± è¸ª äºĨ .... ") ĊĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Found ( post card : ĠPost card ?) Ġ{ Ċ // ĠĠĠĠĠĠĠ Ġpost card . Ċ // ĠĠĠĠĠĠĠ Ġpost card . Ċ // ĠĠĠĠĠĠĠ ĠT . show Toast ( App . newInstance (), Ġ" on Found .... ") ĊĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Interrupt ( post card : ĠPost card ?) Ġ{ ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Arrival ( post card : ĠPost card ?) Ġ{ ĊĊĠĠĠ Ġ} Ċ } Ċ