package Ġru . bor on in . common . rx . bus Ċ Ċ import Ġio . reactivex . Observable Ċ import Ġio . reactivex . subjects . Publish Subject Ċ Ċ class ĠRx EventBus < T > Ġ: ĠEvent Bus < T > Ġ{ ĊĊĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠ Ġfun Ġ< T > Ġcreate () Ġ= ĠRx EventBus < T >() ĊĠ Ġ} ĊĊĠ Ġprivate Ġval Ġsubject Ġ= ĠPublish Subject . create < T >() ĊĊĠ Ġoverride Ġfun Ġsend Event ( event : ĠT ) Ġ{ ĊĠĠĠ Ġsubject . onNext ( event ) ĊĠ Ġ} ĊĊĠ Ġoverride Ġfun Ġget Events ( filter Fun : Ġ( T ) Ġ-> ĠBoolean ): ĠObservable < T > Ġ= Ġsubject . filter ( filter Fun ) Ċ } Ċ