package Ġcn . x wj . base library . rx Ċ Ċ import Ġandroid . util . Log Ċ import Ġcn . x wj . base library . presenter . view . Base View Ċ import Ġio . reactivex . Observable Ċ import Ġio . reactivex . Observer Ċ import Ġio . reactivex . dis pos ables . Disposable Ċ Ċ /** Ċ Ġ* ĠAuthor : Ġx w Ċ Ġ* ĠDate : Ġ 2 0 1 8 - 0 5 - 2 9 Ġ 0 9 : 5 8 : 4 9 Ċ Ġ* ĠDescription : ĠBase Subscriber : Ġ. Ċ Ġ*/ Ċ open Ġclass ĠBase Subscriber < T >( val Ġview : ĠBase View ) Ġ: ĠObserver < T > Ġ{ ĊĠĠĠ Ġprivate Ġvar Ġdis posable : ĠDis posable ? Ġ= Ġnull ĊĠĠĠ Ġvar Ġm Data : ĠT ? Ġ= Ġnull ĊĊĠĠĠ Ġoverride Ġfun ĠonComplete () Ġ{ ĊĠĠĠĠĠĠĠ Ġview . hide Loading () ĊĠĠĠĠĠĠĠ ĠLog . d (" TAG ", Ġ" dis posed : Ġ${ dis posable ?. is Disposed }") ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Subscribe ( d : ĠDis posable ) Ġ{ ĊĠĠĠĠĠĠĠ Ġthis . dis posable Ġ= Ġd ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Next ( t : ĠT ) Ġ{ ĊĠĠĠĠĠĠĠ Ġm Data Ġ= Ġt ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠonError ( e : ĠThrowable ) Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( e Ġis ĠBase Exception ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġview . show Error ( e . text ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġview . hide Loading () ĊĠĠĠĠĠĠĠ Ġdis posable ?. dispose () ĊĠĠĠĠĠĠĠ ĠLog . d (" TAG ", Ġ" dis posed : Ġ${ dis posable ?. is Disposed }") ĊĠĠĠ Ġ} Ċ } Ċ Ċ inline Ġfun Ġ< T > ĠObservable < T >. subscribe ( view : ĠBase View , Ġcross inline Ġcode : Ġ( data : ĠT ?) Ġ-> ĠUnit ) Ġ{ ĊĠĠĠ Ġthis . subscribe ( object Ġ: ĠBase Subscriber < T >( view ) Ġ{ ĊĠĠĠĠĠĠĠ Ġoverride Ġfun ĠonComplete () Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsuper . onComplete () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcode ( m Data ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ}) Ċ }