package Ġcom . example . kt zhi h ud aily . Utils Ċ Ċ import Ġrx . Observable Ċ import Ġrx . subjects . Publish Subject Ċ import Ġrx . subjects . Serialized Subject Ċ import Ġrx . subjects . Subject Ċ Ċ /** Ċ Ġ* ĠCreated Ġby Ġx ing zhi jian Ġon Ġ 2 0 1 6 / 3 / 1 0 . Ċ Ġ*/ Ċ class ĠRx Bus Ġ{ ĊĠĠĠ Ġcompanion Ġobject { ĊĠĠĠĠĠĠĠ Ġ@ Volatile Ġprivate Ġvar Ġdefault Instance : Rx Bus ? Ġ= Ġnull ĊĠĠĠĠĠĠĠ Ġfun ĠgetDefault (): ĠRx Bus ? Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( default Instance Ġ== Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsynchronized ( Rx Bus :: class . java ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( default Instance Ġ== Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdefault Instance Ġ= ĠRx Bus () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġdefault Instance ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĠĠĠ Ġprivate Ġval Ġ_ bus : ĠSubject < Any , ĠAny > Ġ= ĠSerialized Subject < Any , ĠAny >( Publish Subject . create ()) ĊĠĠĠ Ġfun Ġsend ( o : Any ){ ĊĠĠĠĠĠĠĠ Ġ_ bus . onNext ( o ) ĊĠĠĠ Ġ} ĊĠĠĠ Ġfun Ġto Observable (): ĠObservable < Any > Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġ_ bus ĊĠĠĠ Ġ} Ċ }