package Ġcom . example . sh iba . myapp . util Ċ Ċ import Ġrx . Observable Ċ import Ġrx . Observer Ċ import Ġrx . Subscription Ċ import Ġrx . subjects . Publish Subject ĊĊ Ċ class ĠObservable Property < T >( t : T ) Ġ{ ĊĊ ĉ private Ġvar Ġpub : Publish Subject < T > Ċ ĉ private Ġvar Ġlast Val : ĠT ĊĊ ĉ init Ġ{ Ċĉ ĉ pub Ġ= ĠPublish Subject . create () Ċĉ ĉ last Val Ġ= Ġt Ċ ĉ } ĊĊ ĉ fun ĠsetValue ( t : T ){ Ċĉ ĉ pub . onNext ( t ) Ċĉ ĉ last Val Ġ= Ġt Ċ ĉ } ĊĊ ĉ fun ĠgetValue (): T { Ċĉ ĉ return Ġlast Val Ċ ĉ } ĊĊ ĉ fun Ġsub (): ĠObservable < T > Ġ{ Ċĉ ĉ return Ġpub Ċ ĉ } Ċ Ċ }