io.reactivex.SingleEmitter#onError ( )源码实例Demo

下面列出了io.reactivex.SingleEmitter#onError ( ) 实例代码,或者点击链接到github查看源代码,也可以在右侧发表评论。

源代码1 项目: RxGps   文件: RxLocationSingleOnSubscribe.java
@Override
public final void subscribe(SingleEmitter<T> emitter) throws Exception {
    final GoogleApiClient apiClient = createApiClient(new ApiClientConnectionCallbacks(emitter));

    try {
        apiClient.connect();
    } catch (Throwable ex) {
        emitter.onError(ex);
    }

    emitter.setCancellable(() -> {
        if (apiClient.isConnected()) {
            onUnsubscribed(apiClient);
        }

        apiClient.disconnect();
    });
}
 
源代码2 项目: rxfirebase   文件: RxValue.java
/**
 * @param emit
 * @return
 */
@NonNull
@CheckReturnValue
public static ValueEventListener listener(@NonNull final SingleEmitter<DataSnapshot> emit) {
    return new ValueEventListener() {
        @Override
        public void onDataChange(DataSnapshot dataSnapshot) {
            if (!emit.isDisposed()) {
                emit.onSuccess(dataSnapshot);
            }
        }

        @Override
        public void onCancelled(DatabaseError e) {
            if (!emit.isDisposed()) {
                emit.onError(e.toException());
            }
        }
    };
}
 
源代码3 项目: rxfirebase   文件: RxDatabaseReference.java
/**
 * @param emit
 * @return
 */
@NonNull
@CheckReturnValue
public static ValueEventListener listener(@NonNull final SingleEmitter<DataSnapshot> emit) {
    return new ValueEventListener() {
        @Override
        public void onDataChange(DataSnapshot dataSnapshot) {
            if (!emit.isDisposed()) {
                emit.onSuccess(dataSnapshot);
            }
        }

        @Override
        public void onCancelled(DatabaseError e) {
            if (!emit.isDisposed()) {
                emit.onError(e.toException());
            }
        }
    };
}
 
源代码4 项目: ground-android   文件: RxTask.java
private static <T> void onNullableSuccess(@Nullable T v, SingleEmitter<T> emitter) {
  if (v == null) {
    emitter.onError(new NullPointerException());
  } else {
    emitter.onSuccess(v);
  }
}
 
@NonNull private String createDirectory(SingleEmitter<String> e) {
  File appDir =
      new File(Environment.getExternalStorageDirectory() + "/AppPermissionsExtractedApk");
  if (!appDir.exists()) {
    if (!appDir.mkdir()) {
      e.onError(new Exception("Error creating directory"));
    }
  }
  return appDir.getPath();
}
 
源代码6 项目: eternity   文件: GoogleSignInResultSingle.java
@Override
public void subscribe(SingleEmitter<GoogleSignInAccount> emitter) throws Exception {
  if (!result.isSuccess()) {
    emitter.onError(new GoogleSignInException(result));
    return;
  }

  emitter.onSuccess(result.getSignInAccount());
}
 
源代码7 项目: rxfirebase   文件: RxValue.java
/**
 * @param emitter
 * @param function
 * @return
 */
@NonNull
@CheckReturnValue
public static Transaction.Handler transaction(
        @NonNull final SingleEmitter<DataSnapshot> emitter,
        @NonNull final Function<MutableData, Transaction.Result> function) {
    return new Transaction.Handler() {
        @Override
        public Transaction.Result doTransaction(MutableData mutableData) {
            try {
                return function.apply(mutableData);
            } catch (Exception e) {
                throw new RuntimeException(e);
            }
        }

        @Override
        public void onComplete(@Nullable DatabaseError databaseError,
                               boolean committed,
                               @NonNull DataSnapshot dataSnapshot) {
            if (!emitter.isDisposed()) {
                if (null == databaseError) {
                    emitter.onSuccess(dataSnapshot);
                } else {
                    emitter.onError(databaseError.toException());
                }
            }
        }
    };
}
 
源代码8 项目: rxfirebase   文件: RxDatabaseReference.java
/**
 * @param emitter
 * @param function
 * @return
 */
@NonNull
@CheckReturnValue
public static Transaction.Handler transaction(
        @NonNull final SingleEmitter<DataSnapshot> emitter,
        @NonNull final Function<MutableData, Transaction.Result> function) {
    return new Transaction.Handler() {
        @Override
        public Transaction.Result doTransaction(MutableData mutableData) {
            try {
                return function.apply(mutableData);
            } catch (Exception e) {
                throw new RuntimeException(e);
            }
        }

        @Override
        public void onComplete(@Nullable DatabaseError databaseError,
                               boolean committed,
                               @NonNull DataSnapshot dataSnapshot) {
            if (!emitter.isDisposed()) {
                if (null == databaseError) {
                    emitter.onSuccess(dataSnapshot);
                } else {
                    emitter.onError(databaseError.toException());
                }
            }
        }
    };
}
 
@Override
public void subscribe(@NonNull SingleEmitter<Result> emitter) throws Exception {
    try {
        final Result value = preparedOperation.executeAsBlocking();
        emitter.onSuccess(value);
    } catch (Exception e) {
        emitter.onError(e);
    }
}
 
@Override
public void subscribe(@NonNull SingleEmitter<Optional<Result>> emitter) throws Exception {
    try {
        final Result value = preparedOperation.executeAsBlocking();
        emitter.onSuccess(Optional.of(value));
    } catch (Exception e) {
        emitter.onError(e);
    }
}
 
 方法所在类
 同类方法