package com.jaydenxiao.androidfire.ui.main.model;
import com.jaydenxiao.androidfire.app.AppApplication;
import com.jaydenxiao.androidfire.app.AppConstant;
import com.jaydenxiao.androidfire.bean.NewsChannelTable;
import com.jaydenxiao.androidfire.db.NewsChannelTableManager;
import com.jaydenxiao.androidfire.ui.main.contract.NewsMainContract;
import com.jaydenxiao.common.baserx.RxSchedulers;
import com.jaydenxiao.common.commonutils.ACache;
import java.util.ArrayList;
import java.util.List;
import rx.Observable;
import rx.Subscriber;
/**
* des:
* Created by xsf
* on 2016.09.17:05
*/
public class NewsMainModel implements NewsMainContract.Model {
@Override
public Observable<List<NewsChannelTable>> lodeMineNewsChannels() {
return Observable.create(new Observable.OnSubscribe<List<NewsChannelTable>>() {
@Override
public void call(Subscriber<? super List<NewsChannelTable>> subscriber) {
ArrayList<NewsChannelTable> newsChannelTableList = (ArrayList<NewsChannelTable>) ACache.get(AppApplication.getAppContext()).getAsObject(AppConstant.CHANNEL_MINE);
if(newsChannelTableList==null){
newsChannelTableList= (ArrayList<NewsChannelTable>) NewsChannelTableManager.loadNewsChannelsStatic();
ACache.get(AppApplication.getAppContext()).put(AppConstant.CHANNEL_MINE,newsChannelTableList);
}
subscriber.onNext(newsChannelTableList);
subscriber.onCompleted();
}
}).compose(RxSchedulers.<List<NewsChannelTable>>io_main());
}
}