private ObservableTransformer scan()

in rx-central-ble/src/main/java/com/uber/rxcentralble/core/CoreConnectionManager.java [141:153]


  private ObservableTransformer<Boolean, ScanData> scan(Scanner scanner, ScanMatcher scanMatcher) {
    return bluetoothEnabled ->
            bluetoothEnabled
                    .doOnNext(enabled -> stateRelay.accept(State.SCANNING))
                    .switchMap(enabled -> scanner.scan())
                    .compose(scanMatcher.match())
                    .firstOrError()
                    .timeout(
                            scanTimeoutMs,
                            TimeUnit.MILLISECONDS,
                            Single.error(new ConnectionError(SCAN_TIMEOUT)))
                    .toObservable();
  }