in rx-central-ble/src/main/java/com/uber/rxcentralble/core/CoreConnectionManager.java [182:193]
private ObservableTransformer<Peripheral, Peripheral> shareConnection() {
return peripheral -> peripheral
.doOnNext(connectablePeripheral -> stateRelay.accept(State.CONNECTED))
.doOnDispose(() -> stateRelay.accept(State.DISCONNECTED))
.doOnError(error -> stateRelay.accept(State.DISCONNECTED_WITH_ERROR))
.doFinally(() -> {
this.sharedPeripheralObservable = null;
this.scanMatcher = null;
})
.replay(1)
.refCount();
}