package com.codeest.geeknews.model;
import com.codeest.geeknews.model.bean.CommentBean;
import com.codeest.geeknews.model.bean.DailyBeforeListBean;
import com.codeest.geeknews.model.bean.DailyListBean;
import com.codeest.geeknews.model.bean.DetailExtraBean;
import com.codeest.geeknews.model.bean.GankItemBean;
import com.codeest.geeknews.model.bean.GankSearchItemBean;
import com.codeest.geeknews.model.bean.GoldListBean;
import com.codeest.geeknews.model.bean.GoldManagerBean;
import com.codeest.geeknews.model.bean.HotListBean;
import com.codeest.geeknews.model.bean.NodeBean;
import com.codeest.geeknews.model.bean.NodeListBean;
import com.codeest.geeknews.model.bean.RealmLikeBean;
import com.codeest.geeknews.model.bean.RepliesListBean;
import com.codeest.geeknews.model.bean.SectionChildListBean;
import com.codeest.geeknews.model.bean.SectionListBean;
import com.codeest.geeknews.model.bean.ThemeChildListBean;
import com.codeest.geeknews.model.bean.ThemeListBean;
import com.codeest.geeknews.model.bean.VersionBean;
import com.codeest.geeknews.model.bean.WXItemBean;
import com.codeest.geeknews.model.bean.WelcomeBean;
import com.codeest.geeknews.model.bean.ZhihuDetailBean;
import com.codeest.geeknews.model.db.DBHelper;
import com.codeest.geeknews.model.http.HttpHelper;
import com.codeest.geeknews.model.http.response.GankHttpResponse;
import com.codeest.geeknews.model.http.response.GoldHttpResponse;
import com.codeest.geeknews.model.http.response.MyHttpResponse;
import com.codeest.geeknews.model.http.response.WXHttpResponse;
import com.codeest.geeknews.model.prefs.PreferencesHelper;
import java.util.List;
import io.reactivex.Flowable;
/**
* @author: Est <codeest.dev@gmail.com>
* @date: 2017/4/21
* @desciption:
*/
public class DataManager implements HttpHelper, DBHelper, PreferencesHelper {
HttpHelper mHttpHelper;
DBHelper mDbHelper;
PreferencesHelper mPreferencesHelper;
public DataManager(HttpHelper httpHelper, DBHelper dbHelper, PreferencesHelper preferencesHelper) {
mHttpHelper = httpHelper;
mDbHelper = dbHelper;
mPreferencesHelper = preferencesHelper;
}
@Override
public boolean getNightModeState() {
return mPreferencesHelper.getNightModeState();
}
@Override
public void setNightModeState(boolean state) {
mPreferencesHelper.setNightModeState(state);
}
@Override
public boolean getNoImageState() {
return mPreferencesHelper.getNoImageState();
}
@Override
public void setNoImageState(boolean state) {
mPreferencesHelper.setNoImageState(state);
}
@Override
public boolean getAutoCacheState() {
return mPreferencesHelper.getAutoCacheState();
}
@Override
public void setAutoCacheState(boolean state) {
mPreferencesHelper.setAutoCacheState(state);
}
@Override
public int getCurrentItem() {
return mPreferencesHelper.getCurrentItem();
}
@Override
public void setCurrentItem(int item) {
mPreferencesHelper.setCurrentItem(item);
}
@Override
public boolean getLikePoint() {
return mPreferencesHelper.getLikePoint();
}
@Override
public void setLikePoint(boolean isFirst) {
mPreferencesHelper.setLikePoint(isFirst);
}
@Override
public boolean getVersionPoint() {
return mPreferencesHelper.getVersionPoint();
}
@Override
public void setVersionPoint(boolean isFirst) {
mPreferencesHelper.setVersionPoint(isFirst);
}
@Override
public boolean getManagerPoint() {
return mPreferencesHelper.getManagerPoint();
}
@Override
public void setManagerPoint(boolean isFirst) {
mPreferencesHelper.setManagerPoint(isFirst);
}
@Override
public void insertNewsId(int id) {
mDbHelper.insertNewsId(id);
}
@Override
public boolean queryNewsId(int id) {
return mDbHelper.queryNewsId(id);
}
@Override
public void insertLikeBean(RealmLikeBean bean) {
mDbHelper.insertLikeBean(bean);
}
@Override
public void deleteLikeBean(String id) {
mDbHelper.deleteLikeBean(id);
}
@Override
public boolean queryLikeId(String id) {
return mDbHelper.queryLikeId(id);
}
@Override
public List<RealmLikeBean> getLikeList() {
return mDbHelper.getLikeList();
}
@Override
public void changeLikeTime(String id, long time, boolean isPlus) {
mDbHelper.changeLikeTime(id, time, isPlus);
}
@Override
public void updateGoldManagerList(GoldManagerBean bean) {
mDbHelper.updateGoldManagerList(bean);
}
@Override
public GoldManagerBean getGoldManagerList() {
return mDbHelper.getGoldManagerList();
}
@Override
public Flowable<DailyListBean> fetchDailyListInfo() {
return mHttpHelper.fetchDailyListInfo();
}
@Override
public Flowable<DailyBeforeListBean> fetchDailyBeforeListInfo(String date) {
return mHttpHelper.fetchDailyBeforeListInfo(date);
}
@Override
public Flowable<ThemeListBean> fetchDailyThemeListInfo() {
return mHttpHelper.fetchDailyThemeListInfo();
}
@Override
public Flowable<ThemeChildListBean> fetchThemeChildListInfo(int id) {
return mHttpHelper.fetchThemeChildListInfo(id);
}
@Override
public Flowable<SectionListBean> fetchSectionListInfo() {
return mHttpHelper.fetchSectionListInfo();
}
@Override
public Flowable<SectionChildListBean> fetchSectionChildListInfo(int id) {
return mHttpHelper.fetchSectionChildListInfo(id);
}
@Override
public Flowable<ZhihuDetailBean> fetchDetailInfo(int id) {
return mHttpHelper.fetchDetailInfo(id);
}
@Override
public Flowable<DetailExtraBean> fetchDetailExtraInfo(int id) {
return mHttpHelper.fetchDetailExtraInfo(id);
}
@Override
public Flowable<WelcomeBean> fetchWelcomeInfo(String res) {
return mHttpHelper.fetchWelcomeInfo(res);
}
@Override
public Flowable<CommentBean> fetchLongCommentInfo(int id) {
return mHttpHelper.fetchLongCommentInfo(id);
}
@Override
public Flowable<CommentBean> fetchShortCommentInfo(int id) {
return mHttpHelper.fetchShortCommentInfo(id);
}
@Override
public Flowable<HotListBean> fetchHotListInfo() {
return mHttpHelper.fetchHotListInfo();
}
@Override
public Flowable<GankHttpResponse<List<GankItemBean>>> fetchTechList(String tech, int num, int page) {
return mHttpHelper.fetchTechList(tech, num, page);
}
@Override
public Flowable<GankHttpResponse<List<GankItemBean>>> fetchGirlList(int num, int page) {
return mHttpHelper.fetchGirlList(num, page);
}
@Override
public Flowable<GankHttpResponse<List<GankItemBean>>> fetchRandomGirl(int num) {
return mHttpHelper.fetchRandomGirl(num);
}
@Override
public Flowable<GankHttpResponse<List<GankSearchItemBean>>> fetchGankSearchList(String query, String type, int num, int page) {
return mHttpHelper.fetchGankSearchList(query, type, num, page);
}
@Override
public Flowable<WXHttpResponse<List<WXItemBean>>> fetchWechatListInfo(int num, int page) {
return mHttpHelper.fetchWechatListInfo(num, page);
}
@Override
public Flowable<WXHttpResponse<List<WXItemBean>>> fetchWechatSearchListInfo(int num, int page, String word) {
return mHttpHelper.fetchWechatSearchListInfo(num, page, word);
}
@Override
public Flowable<MyHttpResponse<VersionBean>> fetchVersionInfo() {
return mHttpHelper.fetchVersionInfo();
}
@Override
public Flowable<GoldHttpResponse<List<GoldListBean>>> fetchGoldList(String type, int num, int page) {
return mHttpHelper.fetchGoldList(type, num, page);
}
@Override
public Flowable<GoldHttpResponse<List<GoldListBean>>> fetchGoldHotList(String type, String dataTime, int limit) {
return mHttpHelper.fetchGoldHotList(type, dataTime, limit);
}
@Override
public Flowable<NodeBean> fetchNodeInfo(String name) {
return mHttpHelper.fetchNodeInfo(name);
}
@Override
public Flowable<List<NodeListBean>> fetchTopicList(String name) {
return mHttpHelper.fetchTopicList(name);
}
@Override
public Flowable<List<NodeListBean>> fetchTopicInfo(String id) {
return mHttpHelper.fetchTopicInfo(id);
}
@Override
public Flowable<List<RepliesListBean>> fetchRepliesList(String id) {
return mHttpHelper.fetchRepliesList(id);
}
}