package Ġcom . wj x . android . wan android mv vm . base . observer Ċ Ċ import Ġandroidx . lifecycle . Mutable LiveData Ċ import Ġio . reactivex . Observer Ċ import Ġcom . wj x . android . wan android mv vm . network . response . Base Response Ċ import Ġcom . wj x . android . wan android mv vm . base . repository . Base Repository Ċ import Ġcom . wj x . android . wan android mv vm . common . state . State Ċ import Ġcom . wj x . android . wan android mv vm . common . state . State Type Ċ import Ġcom . wj x . android . wan android mv vm . common . state . UserInfo Ċ import Ġcom . wj x . android . wan android mv vm . common . utils . Constant Ċ import Ġio . reactivex . dis pos ables . Disposable Ċ Ċ /** Ċ Ġ* ĠCreated Ġwith ĠAndroid ĠStudio . Ċ Ġ* ĠDescription : Ċ Ġ* Ġ@ author : ĠWang jian x ian Ċ Ġ* Ġ@ date : Ġ 2 0 2 0 / 0 2 / 2 5 Ċ Ġ* ĠTime : Ġ 2 0 : 4 4 Ċ Ġ*/ Ċ Ċ class ĠBase Observer < T Ġ: ĠBase Response < *> >( ĊĠĠĠ Ġval Ġlive Data : ĠMutable LiveData < T >, ĊĠĠĠ Ġval Ġload State : ĠMutable LiveData < State >, ĊĠĠĠ Ġval Ġrepository : ĠBase Repository Ċ ) Ġ: ĠObserver < T > Ġ{ ĊĠĠĠ Ġoverride Ġfun Ġon Next ( response : ĠT ) Ġ{ ĊĠĠĠĠĠĠĠ Ġwhen Ġ( response . errorCode ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠConstant . SUCCESS Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( response . data Ġis ĠList <* >) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ(( response . data Ġas ĠList < *> ). isEmpty ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġload State . post Value ( State ( State Type . EMPTY )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġload State . post Value ( State ( State Type . SUCCESS )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlive Data . post Value ( response ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ ĠConstant . NOT _ LOGIN Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠUserInfo . instance . logout Success () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġload State . post Value ( State ( State Type . ERROR , Ġmessage Ġ= Ġ" è¯· éĩįæĸ° çĻ»å½ķ ")) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġload State . post Value ( State ( State Type . ERROR , Ġmessage Ġ= Ġresponse . errorMessage )) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Subscribe ( dis posable : ĠDis posable ) Ġ{ ĊĠĠĠĠĠĠĠ Ġrepository . add Subscribe ( dis posable ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠonError ( p 0 : ĠThrowable ) Ġ{ ĊĠĠĠĠĠĠĠ Ġload State . post Value ( State ( State Type . NETWORK _ ERROR )) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠonComplete () Ġ{} Ċ }