diff --git a/android/src/main/java/com/bleplx/adapter/BleModule.java b/android/src/main/java/com/bleplx/adapter/BleModule.java index 44392b65..1e645fbf 100755 --- a/android/src/main/java/com/bleplx/adapter/BleModule.java +++ b/android/src/main/java/com/bleplx/adapter/BleModule.java @@ -1095,7 +1095,7 @@ private void changeAdapterState(final RxBleAdapterStateObservable.BleAdapterStat final SafeExecutor safeExecutor = new SafeExecutor<>(onSuccessCallback, onErrorCallback); final Disposable subscription = new RxBleAdapterStateObservable(context) - .takeUntil(actualAdapterState -> desiredAdapterState == actualAdapterState) + .filter(actualAdapterState -> desiredAdapterState == actualAdapterState) .firstOrError() .doOnDispose(() -> { safeExecutor.error(BleErrorUtils.cancelled());