詹子聪 5 سال پیش
والد
کامیت
566227d695

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

@@ -4,7 +4,6 @@ import com.miekir.common.utils.LogTool;
 import com.miekir.mvp.presenter.BasePresenter;
 import com.miekir.network.widget.observe.MvpObserver;
 import com.miekir.newmvp.ui.home.IArticleView;
-import com.rxjava.rxlife.RxLife;
 
 import io.reactivex.Observable;
 import io.reactivex.ObservableOnSubscribe;
@@ -39,7 +38,7 @@ public class SimpleArticlePresenter extends BasePresenter<IArticleView> {
             emitter.onNext("");
             emitter.onComplete();})
             .subscribeOn(Schedulers.io())
-            .as(RxLife.asOnMain(this))
+            .observeOn(AndroidSchedulers.mainThread())
             .subscribe(next -> {
                 LogTool.d("MainPresenter", "onNext thread is: " + Thread.currentThread().getName());
                 post(view -> view.onArticleResult("result"));

+ 1 - 1
common/build.gradle

@@ -56,7 +56,7 @@ dependencies {
     // 开启协程,并自动管理协程生命周期,在页面销毁时,自动关闭协程
     // 自动捕获协程异常,通过回调可拿到异常信息
     // 可监听协程开启及结束 https://github.com/liujingxing/RxLife-Coroutine
-    api 'com.ljx.rxlife:rxlife-coroutine:2.0.0'
+    api 'com.ljx.rxlife:rxlife-coroutine:2.0.1'
 
     // 带行号的Log
     api 'com.github.zhaokaiqiang.klog:library:1.6.0'

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

@@ -1,9 +1,9 @@
 package com.miekir.mvp.presenter;
 
-import com.blankj.utilcode.util.Utils;
+import androidx.lifecycle.ViewModel;
+
 import com.miekir.mvp.model.BaseModel;
 import com.miekir.mvp.view.IView;
-import com.rxjava.rxlife.ScopeViewModel;
 
 import java.lang.ref.WeakReference;
 import java.util.List;
@@ -25,7 +25,7 @@ import io.reactivex.disposables.CompositeDisposable;
  * View <-(weak) Presenter <-(weak) Model <-(weak) Repository
 
  */
-public abstract class BasePresenter<V extends IView> extends ScopeViewModel {
+public abstract class BasePresenter<V extends IView> extends ViewModel {
     private WeakReference<V> mViewReference;
     /**
      * 有加载框的可取消任务,完成之后,会自动移除
@@ -45,7 +45,7 @@ public abstract class BasePresenter<V extends IView> extends ScopeViewModel {
     private List<BaseModel> mBackModelList = new CopyOnWriteArrayList<>();
 
     public BasePresenter() {
-        super(Utils.getApp());
+        //super(Utils.getApp());
         PresenterHelper.initModelList(mProgressModelList, mBackModelList, this);
         onInit();
     }

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

@@ -39,6 +39,7 @@ public class ViewHelper {
                 // 父类引用指向子类对象
                 Class<? extends BasePresenter<?>> type = (Class<? extends BasePresenter<?>>) field.getType();
                 //BasePresenter presenter = type.newInstance();
+                // 这样新建的实例生命周期才会自动被管理
                 BasePresenter presenter = new ViewModelProvider(owner).get(type);
                 field.set(iView, presenter);
                 presenter.attachView(iView);