瀏覽代碼

方法封装

詹子聪 5 年之前
父節點
當前提交
7030f32d0c

+ 1 - 1
app/src/main/java/com/miekir/newmvp/ui/home/article/model/LocalArticleModel.java

@@ -39,6 +39,6 @@ public class LocalArticleModel extends BaseModel implements IArticleModel {
         }, error -> {
             LogTool.d(getClass().getName(), error.getMessage());
         });
-        mProgressDisposableList.add(disposable);
+        runWithProgress(disposable);
     }
 }

+ 1 - 1
app/src/main/java/com/miekir/newmvp/ui/home/article/model/NetArticleModel.java

@@ -45,6 +45,6 @@ public class NetArticleModel extends BaseModel implements IArticleModel {
             LogTool.d(getClass().getName(), error.getMessage());
         });
 
-        mProgressDisposableList.add(disposable);
+        runWithProgress(disposable);
     }
 }

+ 2 - 3
app/src/main/java/com/miekir/newmvp/ui/home/article/presenter/SimpleArticlePresenter.java

@@ -48,7 +48,7 @@ public class SimpleArticlePresenter extends BasePresenter<IArticleView> {
                 LogTool.d(getClass().getName(), error.getMessage());
             });
 
-        mBackDisposableList.add(disposable);
+        runInBackground(disposable);
     }
 
     /**
@@ -67,8 +67,7 @@ public class SimpleArticlePresenter extends BasePresenter<IArticleView> {
 
             }
         };
-
-        mBackDisposableList.add(disposable);
+        runWithProgress(disposable);
 
         Observable.create((ObservableOnSubscribe<String>) emitter -> {
             try {

+ 7 - 0
mvp/src/main/java/com/miekir/mvp/model/BaseModel.java

@@ -4,6 +4,7 @@ import com.miekir.common.utils.LogTool;
 import com.miekir.mvp.presenter.BasePresenter;
 
 import io.reactivex.disposables.CompositeDisposable;
+import io.reactivex.disposables.Disposable;
 
 
 /**
@@ -22,6 +23,12 @@ public abstract class BaseModel {
 
     protected CompositeDisposable mProgressDisposableList = new CompositeDisposable();
     protected CompositeDisposable mBackDisposableList = new CompositeDisposable();
+    protected void runWithProgress(Disposable progressDisposal) {
+        mProgressDisposableList.add(progressDisposal);
+    }
+    protected void runInBackground(Disposable backgroundDisposal) {
+        mBackDisposableList.add(backgroundDisposal);
+    }
 
     public void onProgressTaskCancel() {
         mProgressDisposableList.dispose();

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

@@ -12,6 +12,7 @@ import java.util.concurrent.CopyOnWriteArrayList;
 import java.util.function.Consumer;
 
 import io.reactivex.disposables.CompositeDisposable;
+import io.reactivex.disposables.Disposable;
 
 
 /**
@@ -31,10 +32,18 @@ public abstract class BasePresenter<V extends IView> extends ViewModel {
      * 有加载框的可取消任务,完成之后,会自动移除
      */
     protected CompositeDisposable mProgressDisposableList = new CompositeDisposable();
+    protected void runWithProgress(Disposable progressDisposal) {
+        mProgressDisposableList.add(progressDisposal);
+    }
+
     /**
      * 后台没有加载框的可取消任务,完成之后,会自动移除
      */
     protected CompositeDisposable mBackDisposableList = new CompositeDisposable();
+    protected void runInBackground(Disposable backgroundDisposal) {
+        mBackDisposableList.add(backgroundDisposal);
+    }
+
     /**
      * 有加载框的可取消任务, for model
      */