package com.dl7.mvp.module.manage.love.photo;
import com.dl7.mvp.local.table.BeautyPhotoInfo;
import com.dl7.mvp.local.table.BeautyPhotoInfoDao;
import com.dl7.mvp.module.base.ILocalPresenter;
import com.dl7.mvp.module.base.ILocalView;
import com.dl7.mvp.rxbus.RxBus;
import com.dl7.mvp.rxbus.event.LoveEvent;
import java.util.List;
import rx.android.schedulers.AndroidSchedulers;
import rx.functions.Action1;
/**
* Created by long on 2016/9/28.
* 收藏 Presenter
*/
public class LovePhotoPresenter implements ILocalPresenter<BeautyPhotoInfo> {
private final ILocalView mView;
private final BeautyPhotoInfoDao mDbDao;
private final RxBus mRxBus;
public LovePhotoPresenter(ILocalView view, BeautyPhotoInfoDao dbDao, RxBus rxBus) {
mView = view;
mDbDao = dbDao;
mRxBus = rxBus;
}
@Override
public void getData(boolean isRefresh) {
mDbDao.queryBuilder().where(BeautyPhotoInfoDao.Properties.IsLove.eq(true))
.rx()
.list()
.observeOn(AndroidSchedulers.mainThread())
.subscribe(new Action1<List<BeautyPhotoInfo>>() {
@Override
public void call(List<BeautyPhotoInfo> list) {
if (list.size() == 0) {
mView.noData();
} else {
mView.loadData(list);
}
}
});
}
@Override
public void getMoreData() {
}
@Override
public void insert(BeautyPhotoInfo data) {
}
@Override
public void delete(BeautyPhotoInfo data) {
data.setLove(false);
if (!data.isLove() && !data.isDownload() && !data.isPraise()) {
mDbDao.delete(data);
} else {
mDbDao.update(data);
}
if (mDbDao.queryBuilder().where(BeautyPhotoInfoDao.Properties.IsLove.eq(true)).count() == 0) {
// 如果收藏为0则显示无收藏
mView.noData();
}
mRxBus.post(new LoveEvent());
}
@Override
public void update(List<BeautyPhotoInfo> list) {
}
}