public Observable connect()

in rx-central-ble/src/main/java/com/uber/rxcentralble/core/CorePeripheral.java [90:106]


  public Observable<ConnectableState> connect() {
    if (sharedConnectionState != null) {
      return sharedConnectionState;
    }

    connectionStateSubject = BehaviorSubject.create();

    sharedConnectionState =
        connectionStateSubject
            .doOnNext(state -> connectedRelay.accept(state == CONNECTED))
            .doOnSubscribe(disposable -> processConnect())
            .doFinally(() -> disconnect())
            .replay(1)
            .refCount(); // Don't do this on normal disconnect status 0 / 8

    return sharedConnectionState;
  }