Skip to content

Commit

Permalink
1,添加Rxlife
Browse files Browse the repository at this point in the history
  • Loading branch information
ervinsae committed Mar 2, 2018
1 parent 45d8981 commit 73b1089
Show file tree
Hide file tree
Showing 2 changed files with 39 additions and 0 deletions.
4 changes: 4 additions & 0 deletions app/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -39,6 +39,10 @@ dependencies {
compile 'com.squareup.retrofit2:converter-gson:2.3.0'
compile 'io.reactivex.rxjava2:rxjava:2.1.6'
compile 'io.reactivex.rxjava2:rxandroid:2.0.1'
compile 'com.trello.rxlifecycle2:rxlifecycle:2.2.1'
compile 'com.trello.rxlifecycle2:rxlifecycle-android:2.2.1'
compile 'com.trello.rxlifecycle2:rxlifecycle-components:2.2.1'

compile 'com.squareup.okhttp3:okhttp:3.9.0'
compile 'com.squareup.okhttp3:logging-interceptor:3.9.0'
compile 'com.jakewharton:butterknife:8.8.1'
Expand Down
35 changes: 35 additions & 0 deletions app/src/main/java/com/ervin/mvp/presenter/BasePresenter.java
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,11 @@
import android.util.Log;

import com.ervin.mvp.ui.iview.IBaseView;
import com.trello.rxlifecycle2.LifecycleTransformer;
import com.trello.rxlifecycle2.android.ActivityEvent;
import com.trello.rxlifecycle2.android.FragmentEvent;
import com.trello.rxlifecycle2.components.support.RxAppCompatActivity;
import com.trello.rxlifecycle2.components.support.RxFragment;

import io.reactivex.disposables.CompositeDisposable;

Expand Down Expand Up @@ -39,4 +44,34 @@ public void detachView() {
iView = null;
}
}

/**
* RxLifecycle支持
* @param event
* @param <T>
* @return
*/
protected <T> LifecycleTransformer<T> bindUntilEvent(ActivityEvent event){
if(iView instanceof RxAppCompatActivity){
RxAppCompatActivity activity = (RxAppCompatActivity) iView;
return activity.bindUntilEvent(event);
}

throw new RuntimeException("Confirm mView is instance of RxAppCompatActivity");
}

/**
* RxLifecycle支持
* @param event
* @param <T>
* @return
*/
protected <T> LifecycleTransformer<T> bindUntilEvent(FragmentEvent event){
if(iView instanceof RxFragment){
RxFragment fragment = (RxFragment) iView;
return fragment.bindUntilEvent(event);
}

throw new RuntimeException("Confirm mView is instance of RxFragment");
}
}

0 comments on commit 73b1089

Please sign in to comment.