package com.jaydenxiao.androidfire.ui.zone.contract; import com.aspsine.irecyclerview.bean.PageBean; import com.jaydenxiao.androidfire.bean.Result; import com.jaydenxiao.androidfire.ui.zone.bean.CircleItem; import com.jaydenxiao.androidfire.ui.zone.bean.CommentConfig; import com.jaydenxiao.androidfire.ui.zone.bean.CommentItem; import com.jaydenxiao.androidfire.ui.zone.bean.FavortItem; import com.jaydenxiao.common.base.BaseModel; import com.jaydenxiao.common.base.BasePresenter; import com.jaydenxiao.common.base.BaseView; import java.util.List; import rx.Observable; /** * des:朋友圈契约接口 * Created by xsf * on 2016.07.15:52 */ public interface CircleZoneContract { interface Model extends BaseModel { Observable<String> getZoneNotReadNews(); Observable<Result> getListDatas(String type, String userId, final int page, int rows); Observable<Result> deleteCircle(String circleId, int position); Observable<Result> addFavort(String publishId, String publishUserId); Observable<Result> deleteFavort(String publishId, String publishUserId); Observable<Result> addComment(String publishUserId,CommentItem circleItem); Observable<Result> deleteComment(String commentId); } interface View extends BaseView { //获取未读总数 void updateNotReadNewsCount(int count, String icon); void setListData(List<CircleItem> circleItems, PageBean pageBean); void setOnePublishData(CircleItem circleItem); void update2DeleteCircle(String circleId, int position); void update2AddFavorite(int circlePosition, FavortItem addItem); void update2DeleteFavort(int circlePosition, String UserId); void update2AddComment(int circlePosition, CommentItem addItem); void update2DeleteComment(int circlePosition, String commentId,int commentPosition); void updateEditTextBodyVisible(int visibility, CommentConfig commentConfig); void startProgressDialog(); void stopProgressDialog(); } abstract static class Presenter extends BasePresenter<View, Model> { //获取未读总数 public abstract void getNotReadNewsCount(); //获取数据 public abstract void getListData(String type, String userId, int page, int rows); //删除 public abstract void deleteCircle(final String circleId, int position); //点赞 public abstract void addFavort(final String publishId, final String publishUserId, final int circlePosition, final android.view.View view); //取消点赞 public abstract void deleteFavort(final String publishId, final String publishUserId, final int circlePosition); //增加评论 public abstract void addComment(final String content, final CommentConfig config); //删除评论 public abstract void deleteComment(final int circlePosition, final String commentId,int commentPosition); //显示评论输入框 public abstract void showEditTextBody(CommentConfig commentConfig); } }