package Ġcom . dok ar . lazy recycler . rx java 3 Ċ Ċ import Ġcom . dok ar . lazy recycler . data . Mutable Value Ċ import Ġcom . dok ar . lazy recycler . data . Value Observer Ċ import Ġio . reactivex . rx java 3 . core . Observable Ċ import Ġio . reactivex . rx java 3 . dis pos ables . Disposable Ċ Ċ /** Ċ Ġ* ĠObservable < List < I >> Ġto Ġmutable Ġdata Ġsource Ċ Ġ* Ġ*/ Ċ fun Ġ< I > ĠObservable < List < I >> . as Mut Source (): ĠMutable Value < List < I >> Ġ{ ĊĠĠĠ Ġreturn ĠRx Value ( Mutable Value . DATA _ SOURCE , Ġthis ) Ċ } Ċ Ċ /** Ċ Ġ* ĠObservable < I > Ġto Ġmutable Ġdata Ġsource Ċ Ġ* Ġ*/ Ċ @ Jvm Name (" single Mutable Source ") Ċ fun Ġ< I > ĠObservable < I >. as Mut Source (): ĠMutable Value < List < I >> Ġ{ ĊĠĠĠ Ġval Ġsource Ġ= Ġthis . map Ġ{ ĊĠĠĠĠĠĠĠ ĠlistOf ( it ) ĊĠĠĠ Ġ} ĊĠĠĠ Ġreturn ĠRx Value ( Mutable Value . DATA _ SOURCE , Ġsource ) Ċ } Ċ Ċ /** Ċ Ġ* ĠObservable < T > Ġto Ġmutable Ġproperty Ċ Ġ* Ġ*/ Ċ fun Ġ< T > ĠObservable < T >. as Mut Property (): ĠMutable Value < T > Ġ{ ĊĠĠĠ Ġreturn ĠRx Value ( Mutable Value . PROPERTY , Ġthis ) Ċ } Ċ Ċ class ĠRx Value < T >( ĊĠĠĠ Ġtype : ĠInt , ĊĠĠĠ Ġprivate Ġval Ġvalue : ĠObservable < T > Ċ ) Ġ: ĠMutable Value < T >( type ) Ġ{ ĊĊĠĠĠ Ġprivate Ġvar Ġdis posable : ĠDis posable ? Ġ= Ġnull ĊĊĠĠĠ Ġoverride Ġfun Ġobserve ( listener : ĠValue Observer < T >) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . observe ( listener ) ĊĠĠĠĠĠĠĠ Ġdis posable Ġ= Ġvalue . subscribe ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcurrent Ġ= Ġit ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ}, ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// ĠDo Ġnothing Ġwhen Ġerror Ġoccurred ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġun observe () Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . un observe () ĊĠĠĠĠĠĠĠ Ġdis posable ?. dispose () ĊĠĠĠ Ġ} Ċ } Ċ