@ file : Suppress (" UN CHECK ED _ CAST ") Ċ Ċ package Ġcom . github . sky fe 7 9 . android . react component kit . event bus Ċ Ċ import Ġcom . github . sky fe 7 9 . android . react component kit . view model . Token Ċ import Ġorg . green robot . event bus . Subscribe Ċ import Ġorg . green robot . event bus . Thread Mode Ċ import Ġjava . lang . Exception Ċ import Ġorg . green robot . event bus . EventBus Ġas ĠGreen Robot EventBus Ċ Ċ interface ĠEventType Ċ Ċ internal Ġdata Ġclass ĠNotification ( val Ġname : ĠString , Ġval Ġsender : ĠAny , Ġval ĠuserInfo : ĠMap < String , ĠAny >) Ċ Ċ /** Ċ Ġ* Ġtoken Ċ Ġ* Ġ Ġ- Ġnull : ĠBroadcast Ġevent Ċ Ġ* Ġ Ġ- Ġempty : Ġignore Ġevent bus Ċ Ġ* Ġ Ġ- Ġa Ġvalid Ġtoken : Ġpost Ġand Ġreceive Ġevents Ġbetween Ġevent bus Ġwhich Ġhas Ġsame Ġtoken Ċ Ġ*/ Ċ @ Deprecated (" Do Ġnot Ġuse ĠEvent Bus . ĠIt Ġwill Ġbe Ġremoved Ġon Ġthe Ġnext Ġversion ") Ċ class ĠEvent Bus < T : ĠEventType >( val Ġtoken : ĠToken ? Ġ= Ġnull ) Ġ{ ĊĊĠĠĠ Ġprivate Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġevent Bus : ĠGreen Robot EventBus Ġ= ĠGreen Robot EventBus () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġvar Ġevent Handler : Ġ(( T ) Ġ-> ĠUnit )? Ġ= Ġnull ĊĊĠĠĠ Ġval Ġis Alive : ĠBoolean ĊĠĠĠĠĠĠĠ Ġget () Ġ= Ġevent Bus . is Registered ( this ) ĊĊĊĠĠĠ Ġinit Ġ{ ĊĠĠĠĠĠĠĠ Ġstart () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġstart () Ġ{ ĊĠĠĠĠĠĠĠ Ġ// Ġignore Ġempty Ġtoken ĊĠĠĠĠĠĠĠ Ġif Ġ( token Ġ!= Ġnull Ġ&& Ġtoken Ġ== ĠToken . empty ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġif Ġ(! event Bus . is Registered ( this )) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġevent Bus . register ( this ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġstop () Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( event Bus . is Registered ( this )) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġevent Bus . unregister ( this ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġpost ( event : ĠT ) Ġ{ ĊĠĠĠĠĠĠĠ Ġvar ĠuserInfo Ġ= Ġmutable Map Of < String , ĠAny >(" event " Ġto Ġevent ) ĊĠĠĠĠĠĠĠ Ġif Ġ( token Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠuserInfo [" token "] Ġ= Ġthis . token ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġif Ġ( event Bus . is Registered ( this )) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġevent :: class . qualified Name ?. let Ġ{ ĠeventName Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġevent Bus . post ( Notification ( name Ġ= ĠeventName , Ġsender Ġ= Ġthis @ EventBus , ĠuserInfo Ġ= ĠuserInfo )) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġon ( event : Ġ( T ) Ġ-> ĠUnit ) Ġ{ ĊĠĠĠĠĠĠĠ Ġevent Handler Ġ= Ġevent ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Subscribe ( thread Mode Ġ= ĠThread Mode . MAIN ) ĊĠĠĠ Ġinternal Ġfun Ġprocess Notification ( notification : ĠNotification ) Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ(! is Alive ) Ġreturn ĊĊĠĠĠĠĠĠĠ Ġval Ġsender Ġ= Ġnotification . sender Ġas ? ĠEvent Bus < *> ĊĠĠĠĠĠĠĠ Ġif Ġ( sender Ġ== Ġnull Ġ|| Ġsender Ġ=== Ġthis ) Ġreturn ĊĊĠĠĠĠĠĠĠ Ġval ĠuserInfo Ġ= Ġnotification . userInfo ĊĠĠĠĠĠĠĠ Ġval Ġtoken Ġ= ĠuserInfo [" token "] Ġas ? ĠToken ĊĠĠĠĠĠĠĠ Ġval Ġevent Ġ= ĠuserInfo [" event "] Ġas ? ĠT Ġ?: Ġreturn ĊĊĠĠĠĠĠĠĠ Ġif Ġ( token Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( token Ġ== Ġthis @ EventBus . token ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtry Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġevent Handler ?. let Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġit ( event ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġcatch Ġ(_ : ĠException ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// ignore Ġit ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġbroadcast Ġif Ġtoken Ġis Ġnull ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtry Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġevent Handler ?. let Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġit ( event ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġcatch Ġ(_ : ĠException ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// ignore Ġit ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ }