| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091 |
- package eVVM.apk.common;
- import android.app.Activity;
- import android.content.Context;
- import android.content.Intent;
- import android.text.TextUtils;
- import com.allen.library.base.BaseObserver;
- import com.allen.library.bean.BaseData;
- import com.allen.library.observer.DataObserver;
- import com.allen.library.utils.ToastUtils;
- import eVVM.apk.app.MyApplication;
- import eVVM.apk.helper.ActivityStackManager;
- import eVVM.apk.helper.SPUtils;
- import eVVM.apk.ui.login.LoginActivity;
- import io.reactivex.disposables.Disposable;
- /**
- * Created by Android Studio.
- * User: zbb
- * Date: 2019/6/10
- * Describe: MyDataObsever
- */
- public abstract class MyDataObsever<T> extends BaseObserver<T> {
- /**
- * 失败回调
- *
- * @param errorMsg
- */
- protected abstract void onError(String errorMsg);
- /**
- * 成功回调
- *
- * @param t
- */
- protected abstract void onSuccess(T t);
- @Override
- public void doOnSubscribe(Disposable d) {
- }
- @Override
- public void doOnError(String errorMsg) {
- if (!isHideToast() && !TextUtils.isEmpty(errorMsg)) {
- ToastUtils.showToast(errorMsg);
- }
- onError(errorMsg);
- }
- @Override
- public void doOnNext(T t) {
- BaseDataBean baseDataBean = (BaseDataBean) t;
- if (baseDataBean.getCode() == 102) { // 登录过期处理
- Activity topActivity = ActivityStackManager.getInstance().getTopActivity();
- Intent in = new Intent(topActivity, LoginActivity.class);
- topActivity.startActivity(in);
- SPUtils.clear();
- // 进行内存优化,销毁掉所有的界面
- ActivityStackManager.getInstance().finishAllActivities(LoginActivity.class);
- com.hjq.toast.ToastUtils.show("登录已过期,请重新登录");
- } else {
- onSuccess(t);
- }
- }
- @Override
- public void doOnCompleted() {
- }
- }
- /*case 500:
- Context appContext = MyApplication.getAppContext();
- Intent in = new Intent(appContext,LoginActivity.class);
- appContext.startActivity(in);
- SPUtils.clear();
- // 进行内存优化,销毁掉所有的界面
- ActivityStackManager.getInstance().finishAllActivities(LoginActivity.class);
- com.hjq.toast.ToastUtils.show("登录已过期,请重新登录");
- break;*/
|