@Override public Single<ArrayList<GroupList>> getGroupList() { Single<ArrayList<GroupList>> localGroups = mGroupManageLocalDataSource.getGroupList(); Single<ArrayList<GroupList>> remoteGroups = mGroupManageRemoteDataSource.getGroupList(); return RxUtil.filterEmpty(localGroups, remoteGroups); }
@Override public Single<ArrayList<GroupList>> refreshGroupList() { return mGroupManageRemoteDataSource .getGroupList() .doOnSuccess( new Consumer<ArrayList<GroupList>>() { @Override public void accept(ArrayList<GroupList> groupLists) { RxUtil.subscribeIgnoreAll(mGroupManageLocalDataSource.updateGroupList(groupLists)); } }); }