AppPresenter.java 文件源码

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

项目:musicdroid 作者:
private ObservableListBase<AlbumDirectory> getAlbumObservableList(String searchSequence) {
    return new ObservableListBase<AlbumDirectory>() {

        private List<AlbumDirectory> list = getAlbumDirectories();

        private List<AlbumDirectory> getAlbumDirectories() {
            if (StringUtils.isNotBlank(searchSequence)) {
                return getFilteredAlbumList();
            } else {
                return albumList.stream().map(AlbumDirectory::new).collect(Collectors.toList());
            }
        }

        private List<AlbumDirectory> getFilteredAlbumList() {
            return albumList.stream()
                    .filter(file -> file.getAbsolutePath().toLowerCase().contains(searchSequence))
                    .map(AlbumDirectory::new)
                    .sorted(Comparator.comparing(o -> o.getFile().getAbsolutePath()))
                    .collect(Collectors.toList());
        }

        @Override
        public AlbumDirectory get(int index) {
            try {
                return list.get(index);
            } catch (Exception e) {
                e.printStackTrace();
                return null;
            }
        }

        @Override
        public int size() {
            return list.size();
        }
    };
}
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号