package Ġcom . h azz . ku ang ji . net ĊĊ Ċ import Ġandroid . util . Log Ċ import Ġcom . h azz . ku ang ji . My Application Ċ import Ġcom . h azz . ku ang ji . utils . Toast Utils Ċ import Ġio . reactivex . Observer Ċ import Ġio . reactivex . annotations . NonNull Ċ import Ġio . reactivex . dis pos ables . Disposable Ċ Ċ abstract Ġclass ĠCallback < T > Ġ: ĠObserver < Base Result < T >> Ġ{ ĊĊĠĠĠ Ġprivate Ġvar Ġbase View : ĠBase View ĊĊĠĠĠ Ġconstructor ( base View : ĠBase View ) Ġ{ ĊĠĠĠĠĠĠĠ Ġthis . base View Ġ= Ġbase View ĊĠĠĠ Ġ} ĊĊĊĠĠĠ Ġoverride Ġfun Ġon Subscribe (@ NonNull Ġd : ĠDis posable ) Ġ{ ĊĠĠĠĠĠĠĠ Ġbase View . add Subscription ( d ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Next (@ NonNull Ġt Base Result : ĠBase Result < T >) Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( t Base Result . code Ġ== Ġ 2 0 0 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsuccess ( t Base Result ) ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġwhen Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġt Base Result . code == 4 0 1 Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbase View . login () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠLog . d (" jun jun "," è¿ĶåĽŀ å¤±è´¥ "+ t Base Result . msg ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbase View . fail ( t Base Result . msg ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfailed ( t Base Result ) ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠonComplete () Ġ{ ĊĊĠĠĠĠĠĠĠ Ġbase View . hide Loading () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠonError (@ NonNull Ġe : ĠThrowable ) Ġ{ ĊĠĠĠĠĠĠĠĠ Ġe . printStackTrace () ĊĠĠĠĠĠĠĠ ĠToast Utils . show Toast ( My Application . context , ĠException Handle . handle Exception ( e )) ĊĠĠĠĠĠĠĠ Ġbase View . hide Loading () ĊĊĠĠĠ Ġ} ĊĊĠĠĠ Ġabstract Ġfun Ġfailed ( t Base Result : ĠBase Result < T >): ĠBoolean ĊĊĠĠĠ Ġabstract Ġfun Ġsuccess ( t Base Result : ĠBase Result < T >) Ċ }