in rx-central-ble/src/main/java/com/uber/rxcentralble/core/operations/RegisterNotification.java [42:58]
public RegisterNotification(
UUID svc, UUID chr, @Nullable Peripheral.Preprocessor preprocessor, int timeoutMs) {
resultSingle =
peripheralRelay
.filter(Optional::isPresent)
.map(Optional::get)
.firstOrError()
.doOnSuccess(g -> peripheralRelay.accept(Optional.empty()))
.flatMap(
peripheral -> peripheral
.registerNotification(svc, chr, preprocessor)
.andThen(Single.just(Irrelevant.INSTANCE)))
.toObservable()
.share()
.firstOrError()
.timeout(timeoutMs, TimeUnit.MILLISECONDS);
}