1
0
mirror of https://github.com/WuXiaolong/AndroidMVPSample.git synced 2025-09-18 00:43:39 +08:00
xiaomolong ec25f14dcd update
2016-09-22 10:54:43 +08:00

56 lines
1.5 KiB
Java
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

package com.wuxiaolong.androidmvpsample.mvp.other;
import com.wuxiaolong.androidmvpsample.retrofit.ApiStores;
import com.wuxiaolong.androidmvpsample.retrofit.AppClient;
import rx.Observable;
import rx.Subscriber;
import rx.android.schedulers.AndroidSchedulers;
import rx.schedulers.Schedulers;
import rx.subscriptions.CompositeSubscription;
/**
* Created by WuXiaolong
* on 2015/9/23.
* github:https://github.com/WuXiaolong/
* weibo:http://weibo.com/u/2175011601
* 微信公众号:吴小龙同学
* 个人博客http://wuxiaolong.me/
*/
public class BasePresenter<V> {
public V mvpView;
protected ApiStores apiStores;
private CompositeSubscription mCompositeSubscription;
public void attachView(V mvpView) {
this.mvpView = mvpView;
apiStores = AppClient.retrofit().create(ApiStores.class);
}
public void detachView() {
this.mvpView = null;
onUnsubscribe();
}
//RXjava取消注册以避免内存泄露
public void onUnsubscribe() {
if (mCompositeSubscription != null && mCompositeSubscription.hasSubscriptions()) {
mCompositeSubscription.unsubscribe();
}
}
public void addSubscription(Observable observable, Subscriber subscriber) {
if (mCompositeSubscription == null) {
mCompositeSubscription = new CompositeSubscription();
}
mCompositeSubscription.add(observable
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.subscribe(subscriber));
}
}