package com.codeest.geeknews.widget;
import android.support.v7.util.DiffUtil;
import com.codeest.geeknews.model.bean.DailyListBean;
import java.util.List;
/**
* Created by codeest on 17/1/2.
*/
public class ZhihuDiffCallback extends DiffUtil.Callback{
private List<DailyListBean.StoriesBean> mOldDatas, mNewDatas;
public ZhihuDiffCallback(List<DailyListBean.StoriesBean> mOldDatas, List<DailyListBean.StoriesBean> mNewDatas) {
this.mOldDatas = mOldDatas;
this.mNewDatas = mNewDatas;
}
@Override
public int getOldListSize() {
return mOldDatas != null ? mOldDatas.size() : 0;
}
@Override
public int getNewListSize() {
return mNewDatas != null ? mNewDatas.size() : 0;
}
@Override
public boolean areItemsTheSame(int oldItemPosition, int newItemPosition) {
return mOldDatas.get(oldItemPosition).getId() == mNewDatas.get(newItemPosition).getId();
}
@Override
public boolean areContentsTheSame(int oldItemPosition, int newItemPosition) {
DailyListBean.StoriesBean beanOld = mOldDatas.get(oldItemPosition);
DailyListBean.StoriesBean beanNew = mNewDatas.get(newItemPosition);
if (!beanOld.getTitle().equals(beanNew.getTitle())) {
return false;
}
if (beanOld.getReadState() != beanNew.getReadState()) {
return false;
}
if (beanOld.getImages().size() > 0 && beanNew.getImages().size() > 0) {
if (!beanOld.getImages().get(0).equals(beanNew.getImages().get(0))) {
return false;
}
}
return true;
}
}