package com.hjx.parent.rx; import android.os.Bundle; import androidx.annotation.Nullable; import androidx.viewbinding.ViewBinding; import com.hjx.parent.BaseActivity; import com.prws.common.bean.ResponseResult; import com.trello.rxlifecycle2.android.ActivityEvent; import io.reactivex.subjects.BehaviorSubject; public abstract class BaseRxActivity extends BaseActivity implements ILifecycleActivity { private BehaviorSubject rxLifecycle = BehaviorSubject.create(); @Override public BehaviorSubject getRxLifecycle() { return rxLifecycle; } @Override protected void onCreate(@Nullable Bundle savedInstanceState) { super.onCreate(savedInstanceState); rxLifecycle.onNext(ActivityEvent.CREATE); } @Override protected void onStart() { super.onStart(); rxLifecycle.onNext(ActivityEvent.START); } @Override protected void onResume() { super.onResume(); rxLifecycle.onNext(ActivityEvent.RESUME); } @Override protected void onPause() { super.onPause(); rxLifecycle.onNext(ActivityEvent.PAUSE); } @Override protected void onStop() { super.onStop(); rxLifecycle.onNext(ActivityEvent.STOP); } @Override protected void onDestroy() { super.onDestroy(); rxLifecycle.onNext(ActivityEvent.DESTROY); } public boolean handleResponse(ResponseResult response, Throwable t) { if (t != null) { t.printStackTrace(); showToast(t.getMessage()); } if (response == null) return false; if (response.getSuccess() != null && response.getSuccess()) { return true; } else { if (response.getMsg() != null && !response.getMsg().isEmpty()) { showToast(response.getMsg()); } return false; } } public boolean handleResponseData(ResponseResult response, Throwable t) { if (handleResponse(response, t)) { return response.getData() != null; } return false; } }