示例#1
0
  @Override
  public Single<ArrayList<GroupList>> getGroupList() {

    Single<ArrayList<GroupList>> localGroups = mGroupManageLocalDataSource.getGroupList();
    Single<ArrayList<GroupList>> remoteGroups = mGroupManageRemoteDataSource.getGroupList();

    return RxUtil.filterEmpty(localGroups, remoteGroups);
  }
示例#2
0
  @Override
  public Observable<Boolean> updateGroupList(List<GroupList> groupLists) {
    final Observable<Boolean> localResult = mGroupManageLocalDataSource.updateGroupList(groupLists);
    Observable<Boolean> remoteResult = mGroupManageRemoteDataSource.updateGroupList(groupLists);

    return remoteResult.flatMap(
        new Function<Boolean, Observable<Boolean>>() {
          @Override
          public Observable<Boolean> apply(Boolean isSuccess) {
            if (isSuccess) {
              return localResult;
            }
            return ObservableHelper.just(false);
          }
        });
  }