Browse Source

参数调整

詹子聪 5 years ago
parent
commit
9ade8662a3

+ 1 - 1
app/src/main/java/com/miekir/newmvp/TestPresenter1.java

@@ -17,7 +17,7 @@ public class TestPresenter1 extends BasePresenter {
                 try {
                     Thread.sleep(10000);
                     //getView().onLoginResult(3, "ddd");
-                    post(0, "test", new TestBean1(3, "Jason"));
+                    post(0, "test", new TestBean1(3, "Jason"), 3);
                 } catch (Exception e) {
                     e.printStackTrace();
                 }

+ 3 - 3
app/src/main/java/com/miekir/newmvp/TestViewModel1.java

@@ -10,10 +10,10 @@ import java.util.List;
  *
  * @author Miekir
  * @date 2020/10/6 20:53
- * Description:
+ * Description:注意ViewModel的类必须是public的,否则无法创建实例
  */
 @SuppressWarnings("ALL")
-class TestViewModel1 extends BaseViewModel {
+public class TestViewModel1 extends BaseViewModel {
 
 
     public void go() {
@@ -25,7 +25,7 @@ class TestViewModel1 extends BaseViewModel {
                     //getView().onLoginResult(3, "ddd");
                     List<TestBean1> testBean1List = new ArrayList<>();
                     testBean1List.add(new TestBean1(3, "ViewModel Jason"));
-                    post(0, "test", testBean1List);
+                    post(0, "test", testBean1List, 3);
                 } catch (Exception e) {
                     e.printStackTrace();
                 }

+ 25 - 15
mvp/src/main/java/com/miekir/mvp/base/DataResult.java

@@ -8,30 +8,24 @@ package com.miekir.mvp.base;
  * Description:
  */
 public class DataResult {
-    private int code;
+    private int responseCode;
     private String message;
     private Object bean;
+    private int sourceCode;
 
-    public DataResult(int code, String message, Object bean) {
-        this.code = code;
+    public DataResult(int responseCode, String message, Object bean, int sourceCode) {
+        this.responseCode = responseCode;
         this.message = message;
         this.bean = bean;
+        this.sourceCode = sourceCode;
     }
 
-    public Object getBean() {
-        return bean;
-    }
-
-    public void setBean(Object bean) {
-        this.bean = bean;
-    }
-
-    public int getCode() {
-        return code;
+    public int getResponseCode() {
+        return responseCode;
     }
 
-    public void setCode(int code) {
-        this.code = code;
+    public void setResponseCode(int responseCode) {
+        this.responseCode = responseCode;
     }
 
     public String getMessage() {
@@ -41,4 +35,20 @@ public class DataResult {
     public void setMessage(String message) {
         this.message = message;
     }
+
+    public Object getBean() {
+        return bean;
+    }
+
+    public void setBean(Object bean) {
+        this.bean = bean;
+    }
+
+    public int getSourceCode() {
+        return sourceCode;
+    }
+
+    public void setSourceCode(int sourceCode) {
+        this.sourceCode = sourceCode;
+    }
 }

+ 2 - 2
mvp/src/main/java/com/miekir/mvp/presenter/BasePresenter.java

@@ -14,7 +14,7 @@ public abstract class BasePresenter {
         mLiveData = new WeakReference<>(liveData);
     }
 
-    public void post(int code, String msg, Object dataBean) {
+    public void post(int responseCode, String msg, Object dataBean, int sourceCode) {
         if (mLiveData == null) {
             return;
         }
@@ -24,7 +24,7 @@ public abstract class BasePresenter {
             return;
         }
 
-        liveData.postValue(new DataResult(code, msg, dataBean));
+        liveData.postValue(new DataResult(responseCode, msg, dataBean, sourceCode));
     }
 
     public void detachView() {

+ 2 - 2
mvp/src/main/java/com/miekir/mvp/presenter/BaseViewModel.java

@@ -23,12 +23,12 @@ public class BaseViewModel extends ViewModel {
         return liveData;
     }
 
-    public void post(int code, String msg, Object dataBean) {
+    public void post(int responseCode, String msg, Object dataBean, int sourceCode) {
         if (liveData == null) {
             return;
         }
 
-        liveData.postValue(new DataResult(code, msg, dataBean));
+        liveData.postValue(new DataResult(responseCode, msg, dataBean, sourceCode));
     }
 
     public void detachView() {

+ 1 - 1
mvp/src/main/java/com/miekir/mvp/view/BaseMVPActivity.java

@@ -133,7 +133,7 @@ public abstract class BaseMVPActivity extends BaseActivity implements IView {
         dismissLoading();
         for (Method method : mDataMethodList) {
             try {
-                method.invoke(this, result.getCode(), result.getMessage(), result.getBean());
+                method.invoke(this, result.getResponseCode(), result.getMessage(), result.getBean(), result.getSourceCode());
             } catch (Exception e) {
                 //e.printStackTrace();
             }

+ 1 - 1
mvp/src/main/java/com/miekir/mvp/view/BaseMVPFragment.java

@@ -180,7 +180,7 @@ public abstract class BaseMVPFragment extends BaseFragment implements IView {
         dismissLoading();
         for (Method method : mDataMethodList) {
             try {
-                method.invoke(this, result.getCode(), result.getMessage(), result.getBean());
+                method.invoke(this, result.getResponseCode(), result.getMessage(), result.getBean(), result.getSourceCode());
             } catch (Exception e) {
                 //e.printStackTrace();
             }

+ 3 - 1
mvp/src/main/java/com/miekir/mvp/view/model/BaseMVPActivity.java

@@ -111,6 +111,8 @@ public abstract class BaseMVPActivity extends BaseActivity implements IView {
                 final Observer<DataResult> observer = new Observer<DataResult>() {
                     @Override
                     public void onChanged(final DataResult result) {
+                        // 回调是在主线程
+                        //Log.i("Thread", String.valueOf(Thread.currentThread() == Looper.getMainLooper().getThread()));
                         onDataResult(result);
                     }
                 };
@@ -156,7 +158,7 @@ public abstract class BaseMVPActivity extends BaseActivity implements IView {
             // 判断方法的第二个参数类型是否是回调对象的子类
             if (methodParamClass.isAssignableFrom(objParamClass)) {
                 try {
-                    method.invoke(this, result.getCode(), result.getMessage(), result.getBean());
+                    method.invoke(this, result.getResponseCode(), result.getMessage(), result.getBean(), result.getSourceCode());
                 } catch (Exception e) {
                     //e.printStackTrace();
                 }

+ 1 - 1
mvp/src/main/java/com/miekir/mvp/view/model/BaseMVPFragment.java

@@ -185,7 +185,7 @@ public abstract class BaseMVPFragment extends BaseFragment implements IView {
             Class methodParamClass = method.getParameterTypes()[2];
             if (methodParamClass.isAssignableFrom(objParamClass)) {
                 try {
-                    method.invoke(this, result.getCode(), result.getMessage(), result.getBean());
+                    method.invoke(this, result.getResponseCode(), result.getMessage(), result.getBean(), result.getSourceCode());
                 } catch (Exception e) {
                     //e.printStackTrace();
                 }