package org.aisen.weibo.sina.support.cache;
import org.aisen.android.common.setting.Setting;
import org.aisen.android.network.biz.IResult;
import org.aisen.android.network.cache.ICacheUtility;
import org.aisen.android.network.http.Params;
import org.aisen.weibo.sina.support.bean.WallpaperBean;
import org.aisen.weibo.sina.support.bean.WallpaperBeans;
import org.aisen.weibo.sina.support.sqlit.SinaDB;
import org.aisen.weibo.sina.support.utils.CacheTimeUtils;
import java.util.List;
/**
* Created by wangdan on 16/3/23.
*/
public class WallpaperCacheUtility implements ICacheUtility {
@Override
public IResult findCacheData(Setting action, Params params) {
int page = Integer.parseInt(params.getParameter("page"));
// 只有第一次加载数据的时候才加载缓存
if (page == 1) {
// 根据id倒序
List<WallpaperBean> beanList = SinaDB.getDB().select(null, WallpaperBean.class);
if (beanList.size() > 0) {
WallpaperBeans beans = new WallpaperBeans();
beans.setItem(new WallpaperBeans.Data());
beans.getItem().setWallpaperList(beanList);
beans.setFromCache(true);
beans.setEndPaging(beanList.size() == 0);
beans.setOutofdate(CacheTimeUtils.isOutofdate("Wallpaper", null));
return beans;
}
}
return null;
}
@Override
public void addCacheData(Setting action, Params params, IResult result) {
int page = Integer.parseInt(params.getParameter("page"));
// 简单点,只存第一份缓存
if (page == 1) {
WallpaperBeans beans = (WallpaperBeans) result;
SinaDB.getDB().deleteAll(null, WallpaperBean.class);
SinaDB.getDB().insert(null, beans.getItem().getWallpaperList());
CacheTimeUtils.saveTime("Wallpaper", null);
}
}
}