CollectViewModel.java 文件源码

java
阅读 25 收藏 0 点赞 0 评论 0

项目:LiteReader 作者:
private void initActions() {
    onMovieItemClick = new Action1<DoubanMovieItem>() {
        @Override
        public void call(DoubanMovieItem item) {
            Intent intent = DoubanMovieDetailActivity.intentFor(getContext());
            intent.putExtra(Constant.EXTRA_DOUBAN_MOVIE_ID, item.id);
            intent.putExtra(Constant.EXTRA_DOUBAN_MOVIE_POSTER, item.images.large);
            intent.putExtra(Constant.EXTRA_DOUBAN_MOVIE_TITLE, item.title);
            intent.putExtra(Constant.EXTRA_DOUBAN_MOVIE_MAINLAND_PUBDATE, item.mainlandPubdate);
            intent.putExtra(Constant.EXTRA_DOUBAN_MOVIE_RATING, item.rating.average + "/" + 10);
            getContext().startActivity(intent);
        }
    };
    onStoryItemClick = new Action1<ZhihuStoryItem>() {
        @Override
        public void call(ZhihuStoryItem zhihuStoryItem) {
            Intent intent = ZhihuStoryDetailActivity.intentFor(getContext());
            intent.putExtra(Constant.EXTRA_ZHIHU_STORY_ID, zhihuStoryItem.id);
            getContext().startActivity(intent);
        }
    };
    onUnCollect = new Action3<String, String, Integer>() {
        @Override
        public void call(final String id, final String type, final Integer position) {
            RxTask.asyncTask(new Action0() {
                @Override
                public void call() {
                    CollectionManager.getInstance(getContext()).remove(id, type);
                }
            }, new Action0() {
                @Override
                public void call() {
                    getAdapter().remove(position.intValue());
                    getAdapter().notifyItemRemoved(position);

                    boolean sectionEmpty = false;
                    switch (type) {
                        case CollectionManager.COLLECTION_TYPE_DOUBAN_MOVIE:
                            movieSize -= 1;
                            sectionEmpty = movieSize == 0;
                            break;
                        case CollectionManager.COLLECTION_TYPE_ZHIHU_STORY:
                            storySize -= 1;
                            sectionEmpty = storySize == 0;
                            break;
                        case CollectionManager.COLLECTION_TYPE_ONE_REVIEW:
                            oneReviewSize -= 1;
                            sectionEmpty = oneReviewSize == 0;
                            break;
                        case CollectionManager.COLLECTION_TYPE_ONE_ARTICLE:
                            oneArticleSize -= 1;
                            sectionEmpty = oneArticleSize == 0;
                            break;
                    }
                    if (sectionEmpty) {
                        getAdapter().remove(position - 1);
                        getAdapter().notifyItemRemoved(position - 1);
                    }
                }
            });
        }
    };
}
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号