詹子聪 5 lat temu
rodzic
commit
a8d354f942

+ 8 - 2
mvp/src/main/java/com/miekir/mvp/model/BaseModel.java

@@ -21,12 +21,18 @@ public abstract class BaseModel {
         mPresenter = presenter;
     }
 
-    protected CompositeDisposable mProgressDisposableList = new CompositeDisposable();
-    protected CompositeDisposable mBackDisposableList = new CompositeDisposable();
+    private CompositeDisposable mProgressDisposableList = new CompositeDisposable();
+    private CompositeDisposable mBackDisposableList = new CompositeDisposable();
     protected void runWithProgress(Disposable progressDisposal) {
+        if (progressDisposal == null || progressDisposal.isDisposed()) {
+            return;
+        }
         mProgressDisposableList.add(progressDisposal);
     }
     protected void runInBackground(Disposable backgroundDisposal) {
+        if (backgroundDisposal == null || backgroundDisposal.isDisposed()) {
+            return;
+        }
         mBackDisposableList.add(backgroundDisposal);
     }
 

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

@@ -31,16 +31,21 @@ public abstract class BasePresenter<V extends IView> extends ViewModel {
     /**
      * 有加载框的可取消任务,完成之后,会自动移除
      */
-    protected CompositeDisposable mProgressDisposableList = new CompositeDisposable();
-    protected void runWithProgress(Disposable progressDisposal) {
-        mProgressDisposableList.add(progressDisposal);
-    }
-
+    private CompositeDisposable mProgressDisposableList = new CompositeDisposable();
     /**
      * 后台没有加载框的可取消任务,完成之后,会自动移除
      */
-    protected CompositeDisposable mBackDisposableList = new CompositeDisposable();
+    private CompositeDisposable mBackDisposableList = new CompositeDisposable();
+    protected void runWithProgress(Disposable progressDisposal) {
+        if (progressDisposal == null || progressDisposal.isDisposed()) {
+            return;
+        }
+        mProgressDisposableList.add(progressDisposal);
+    }
     protected void runInBackground(Disposable backgroundDisposal) {
+        if (backgroundDisposal == null || backgroundDisposal.isDisposed()) {
+            return;
+        }
         mBackDisposableList.add(backgroundDisposal);
     }