package com.jaydenxiao.androidfire.ui.news.presenter;
import com.jaydenxiao.androidfire.app.AppConstant;
import com.jaydenxiao.androidfire.bean.NewsChannelTable;
import com.jaydenxiao.androidfire.ui.news.contract.NewsChannelContract;
import com.jaydenxiao.common.baserx.RxSubscriber;
import java.util.ArrayList;
import java.util.List;
/**
* des:新闻频道
* Created by xsf
* on 2016.09.17:43
*/
public class NewsChanelPresenter extends NewsChannelContract.Presenter{
@Override
public void lodeChannelsRequest() {
mRxManage.add(mModel.lodeMineNewsChannels().subscribe(new RxSubscriber<List<NewsChannelTable>>(mContext,false) {
@Override
protected void _onNext(List<NewsChannelTable> newsChannelTables) {
mView.returnMineNewsChannels(newsChannelTables);
}
@Override
protected void _onError(String message) {
}
}));
mRxManage.add(mModel.lodeMoreNewsChannels().subscribe(new RxSubscriber<List<NewsChannelTable>>(mContext,false) {
@Override
protected void _onNext(List<NewsChannelTable> newsChannelTables) {
mView.returnMoreNewsChannels(newsChannelTables);
}
@Override
protected void _onError(String message) {
}
}));
}
@Override
public void onItemSwap(final ArrayList<NewsChannelTable> newsChannelTableList, int fromPosition, int toPosition) {
mRxManage.add( mModel.swapDb(newsChannelTableList,fromPosition,toPosition).subscribe(new RxSubscriber<String>(mContext,false) {
@Override
protected void _onNext(String s) {
mRxManage.post(AppConstant.NEWS_CHANNEL_CHANGED,newsChannelTableList);
}
@Override
protected void _onError(String message) {
}
}));
;
}
@Override
public void onItemAddOrRemove(final ArrayList<NewsChannelTable> mineChannelTableList, ArrayList<NewsChannelTable> moreChannelTableList) {
mRxManage.add(mModel.updateDb(mineChannelTableList,moreChannelTableList).subscribe(new RxSubscriber<String>(mContext,false) {
@Override
protected void _onNext(String s) {
mRxManage.post(AppConstant.NEWS_CHANNEL_CHANGED,mineChannelTableList);
}
@Override
protected void _onError(String message) {
}
}));
}
}