|
|
@@ -5,9 +5,8 @@ import androidx.lifecycle.ViewModel;
|
|
|
|
|
|
import com.miekir.mvp.bean.DataResult;
|
|
|
import com.miekir.mvp.constant.BaseMvpResponse;
|
|
|
-import com.miekir.mvp.constant.DataSource;
|
|
|
+import com.miekir.mvp.model.DataSource;
|
|
|
import com.miekir.mvp.constant.DialogAction;
|
|
|
-import com.miekir.mvp.model.MvpModel;
|
|
|
|
|
|
/**
|
|
|
* Copyright (C), 2019-2020, Miekir
|
|
|
@@ -18,11 +17,6 @@ import com.miekir.mvp.model.MvpModel;
|
|
|
*/
|
|
|
public abstract class BasePresenter extends ViewModel {
|
|
|
//private ThreadLocal<Integer> mThreadLocal = new ThreadLocal<>();
|
|
|
-
|
|
|
- public BasePresenter() {
|
|
|
- // todo 是否要初始化
|
|
|
- }
|
|
|
-
|
|
|
/**
|
|
|
* ViewModel的生命周期和Activity保持一致;在onStart()、onResume()、onPause()时调用LiveData的setValue才会通知观察者
|
|
|
* liveData在ViewModel(Presenter)创建,然后提供方法给Activity获取,方便取消观察
|
|
|
@@ -62,35 +56,20 @@ public abstract class BasePresenter extends ViewModel {
|
|
|
dialogLiveData.postValue(new DataResult(0, null, null, DialogAction.DIALOG_DISMISS));
|
|
|
}
|
|
|
|
|
|
- public void post(int responseCode, String message, Object dataBean, Class<?> clazz) {
|
|
|
+ public void post(int responseCode, String message, Object dataBean, int sourceCode) {
|
|
|
if (liveData == null) {
|
|
|
return;
|
|
|
}
|
|
|
|
|
|
- int sourceCode = DataSource.DEFAULT;
|
|
|
- if (clazz != null) {
|
|
|
- MvpModel model = clazz.getAnnotation(MvpModel.class);
|
|
|
- if (model != null) {
|
|
|
- sourceCode = model.dataSource();
|
|
|
- }
|
|
|
- }
|
|
|
liveData.postValue(new DataResult(responseCode, message, dataBean, sourceCode));
|
|
|
}
|
|
|
|
|
|
- public void postSuccess(Object dataBean) {
|
|
|
- post(BaseMvpResponse.SUCCESS, "", dataBean, null);
|
|
|
- }
|
|
|
-
|
|
|
- public void postSuccess(Object dataBean, Class<?> modelClass) {
|
|
|
- post(BaseMvpResponse.SUCCESS, "", dataBean, modelClass);
|
|
|
- }
|
|
|
-
|
|
|
- public void postFail(String message, Object dataBean) {
|
|
|
- post(BaseMvpResponse.FAIL, message, dataBean, null);
|
|
|
+ public void postSuccess(Object dataBean, int sourceCode) {
|
|
|
+ post(BaseMvpResponse.SUCCESS, "", dataBean, sourceCode);
|
|
|
}
|
|
|
|
|
|
- public void postFail(String message, Object dataBean, Class<?> modelClass) {
|
|
|
- post(BaseMvpResponse.FAIL, message, dataBean, modelClass);
|
|
|
+ public void postFail(String message, int sourceCode) {
|
|
|
+ post(BaseMvpResponse.FAIL, message, null, sourceCode);
|
|
|
}
|
|
|
|
|
|
public void detachView() {
|