package com.king.tv.mvp.presenter;
import com.king.base.util.LogUtils;
import com.king.tv.App;
import com.king.tv.bean.AppStart;
import com.king.tv.bean.Recommend;
import com.king.tv.mvp.base.BasePresenter;
import com.king.tv.mvp.view.IRecommendView;
import rx.Subscriber;
import rx.android.schedulers.AndroidSchedulers;
import rx.schedulers.Schedulers;
/**
* @author Jenly <a href="mailto:jenly1314@gmail.com">Jenly</a>
* @since 2017/3/16
*/
public class RecommendPresenter extends BasePresenter<IRecommendView> {
public RecommendPresenter(App app) {
super(app);
}
public void getRecommend(){
if(isViewAttached()){
getView().showProgress();
}
getAppComponent().getAPIService()
.getRecommend()
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.subscribe(new Subscriber<Recommend>() {
@Override
public void onCompleted() {
if(isViewAttached())
getView().onCompleted();
}
@Override
public void onError(Throwable e) {
if(isViewAttached())
getView().onError(e);
}
@Override
public void onNext(Recommend recommend) {
LogUtils.d("Response:"+ recommend);
if(isViewAttached())
getView().onGetRecommend(recommend);
if(recommend!=null){
if(isViewAttached())
getView().onGetRooms(recommend.getRoom());
}
}
});
}
public void getBanner(){
getAppComponent().getAPIService()
.getAppStartInfo()
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.subscribe(new Subscriber<AppStart>() {
@Override
public void onCompleted() {
}
@Override
public void onError(Throwable e) {
}
@Override
public void onNext(AppStart appStart) {
if(appStart!=null){
if(isViewAttached())
getView().onGetBanner(appStart.getBanners());
}
}
});
}
}