From 8e5fbf1cf7da994984698523d1e409978e970805 Mon Sep 17 00:00:00 2001 From: Dariusz Seweryn Date: Wed, 31 Jul 2019 17:34:18 +0200 Subject: [PATCH] Updated library to use RxJava 3 artifact. Fixed library errors. Co-authored-by: Luca Weiss --- dependencies.gradle | 14 +++++----- .../mockrxandroidble/RxBleClientMock.java | 6 ++-- .../mockrxandroidble/RxBleConnectionMock.java | 22 +++++++-------- .../mockrxandroidble/RxBleDeviceMock.java | 10 +++---- .../rxandroidble2/ClientComponent.java | 10 +++---- .../RxBleAdapterStateObservable.java | 12 ++++---- .../polidea/rxandroidble2/RxBleClient.java | 2 +- .../rxandroidble2/RxBleClientImpl.java | 28 +++++++++---------- .../rxandroidble2/RxBleConnection.java | 10 +++---- .../rxandroidble2/RxBleCustomOperation.java | 6 ++-- .../polidea/rxandroidble2/RxBleDevice.java | 2 +- .../rxandroidble2/RxBleDeviceServices.java | 8 +++--- .../RxBleRadioOperationCustom.java | 6 ++-- .../helpers/ByteArrayBatchObservable.java | 6 ++-- .../helpers/LocationServicesOkObservable.java | 4 +-- .../rxandroidble2/internal/DeviceModule.java | 4 +-- .../internal/QueueOperation.java | 6 ++-- .../internal/RxBleDeviceImpl.java | 14 +++++----- .../internal/SingleResponseOperation.java | 8 +++--- .../internal/connection/ConnectionModule.java | 2 +- .../internal/connection/Connector.java | 2 +- .../internal/connection/ConnectorImpl.java | 17 +++++------ .../internal/connection/DescriptorWriter.java | 2 +- .../internal/connection/DisconnectAction.java | 2 +- .../connection/DisconnectionRouter.java | 18 ++++++------ .../connection/DisconnectionRouterOutput.java | 2 +- .../connection/IllegalOperationChecker.java | 4 +-- .../ImmediateSerializedBatchAckStrategy.java | 2 +- .../LongWriteOperationBuilderImpl.java | 8 +++--- .../internal/connection/MtuWatcher.java | 10 +++---- .../internal/connection/NoRetryStrategy.java | 4 +-- .../NotificationAndIndicationManager.java | 28 +++++++++---------- .../connection/RxBleConnectionImpl.java | 20 ++++++------- .../connection/RxBleGattCallback.java | 10 +++---- .../connection/ServiceDiscoveryManager.java | 22 +++++++-------- .../CharacteristicLongWriteOperation.java | 22 +++++++-------- .../CharacteristicReadOperation.java | 2 +- .../CharacteristicWriteOperation.java | 2 +- .../internal/operations/ConnectOperation.java | 16 +++++------ .../ConnectionPriorityChangeOperation.java | 2 +- .../operations/DescriptorReadOperation.java | 2 +- .../operations/DescriptorWriteOperation.java | 2 +- .../operations/DisconnectOperation.java | 16 +++++------ .../operations/LegacyScanOperation.java | 2 +- .../operations/MtuRequestOperation.java | 2 +- .../internal/operations/Operation.java | 2 +- .../operations/OperationsProviderImpl.java | 2 +- .../operations/ReadRssiOperation.java | 2 +- .../internal/operations/ScanOperation.java | 4 +-- .../operations/ScanOperationApi18.java | 2 +- .../operations/ScanOperationApi21.java | 2 +- .../operations/ServiceDiscoveryOperation.java | 16 ++++++----- .../operations/TimeoutConfiguration.java | 2 +- ...InternalToExternalScanResultConverter.java | 2 +- .../scan/ScanPreconditionsVerifierApi24.java | 2 +- .../internal/scan/ScanSettingsEmulator.java | 12 ++++---- .../internal/scan/ScanSetup.java | 2 +- .../scan/ScanSetupBuilderImplApi18.java | 4 +-- .../scan/ScanSetupBuilderImplApi21.java | 2 +- .../scan/ScanSetupBuilderImplApi23.java | 2 +- .../serialization/ClientOperationQueue.java | 2 +- .../ClientOperationQueueImpl.java | 14 +++++----- .../ConnectionOperationQueueImpl.java | 12 ++++---- .../serialization/FIFORunnableEntry.java | 8 +++--- .../serialization/RxBleThreadFactory.java | 2 +- .../ActiveCharacteristicNotification.java | 2 +- .../internal/util/ByteAssociationUtil.java | 4 +-- .../internal/util/ClientStateObservable.java | 18 ++++++------ .../internal/util/DisposableUtil.java | 8 +++--- ...ationServicesOkObservableApi23Factory.java | 10 +++---- .../internal/util/ObservableUtil.java | 6 ++-- .../util/QueueReleasingEmitterWrapper.java | 10 +++---- .../utils/ConnectionSharingAdapter.java | 8 +++--- .../rxandroidble2/RxBleClientTest.groovy | 12 ++++---- .../MockOperationTimeoutConfiguration.java | 2 +- sample-kotlin/build.gradle | 2 +- .../example1_scanning/ScanActivity.kt | 6 ++-- .../ConnectionExampleActivity.kt | 6 ++-- .../ServiceDiscoveryExampleActivity.kt | 4 +-- .../CharacteristicOperationExampleActivity.kt | 10 +++---- ...dCharacteristicOperationExampleActivity.kt | 10 +++---- .../advanced/Presenter.kt | 10 +++---- .../RssiPeriodicExampleActivity.kt | 6 ++-- .../LongWriteExampleActivity.kt | 6 ++-- .../advanced/PresenterTest.kt | 4 +-- .../sample/SampleApplication.java | 2 +- .../example1_scanning/ScanActivity.java | 4 +-- .../ConnectionExampleActivity.java | 6 ++-- .../ServiceDiscoveryExampleActivity.java | 6 ++-- ...haracteristicOperationExampleActivity.java | 12 ++++---- ...haracteristicOperationExampleActivity.java | 10 +++---- .../advanced/Presenter.java | 10 +++---- .../RssiPeriodicExampleActivity.java | 6 ++-- .../LongWriteExampleActivity.java | 6 ++-- 94 files changed, 352 insertions(+), 349 deletions(-) diff --git a/dependencies.gradle b/dependencies.gradle index cfb303160..aa957613d 100644 --- a/dependencies.gradle +++ b/dependencies.gradle @@ -1,14 +1,14 @@ ext { - rxJavaVersion = '2.2.17' - sourceCompatibilityVersion = JavaVersion.VERSION_1_7 - targetCompatibilityVersion = JavaVersion.VERSION_1_7 + rxJavaVersion = '3.0.10' + sourceCompatibilityVersion = JavaVersion.VERSION_1_8 + targetCompatibilityVersion = JavaVersion.VERSION_1_8 shadowPluginVersion = '5.0.0' daggerVersion = '2.15' libs = [ /* Library-only dependencies */ - rxjava : "io.reactivex.rxjava2:rxjava:$rxJavaVersion", + rxjava : "io.reactivex.rxjava3:rxjava:$rxJavaVersion", rxandroid : 'io.reactivex.rxjava2:rxandroid:2.1.1', - rxrelay : 'com.jakewharton.rxrelay2:rxrelay:2.1.1', + rxrelay : 'com.jakewharton.rxrelay3:rxrelay:3.0.0', junit : 'junit:junit:4.13', groovy : 'org.codehaus.groovy:groovy:2.5.8', spock : ['org.spockframework:spock-core:1.2-groovy-2.5', @@ -21,8 +21,8 @@ ext { annotations : "androidx.annotation:annotation:1.1.0", robolectric : 'org.robolectric:robolectric:3.8', /* Sample apps-only dependencies */ - rxjava_replayingshare : 'com.jakewharton.rx2:replaying-share:2.2.0', - rxjava_binding : 'com.jakewharton.rxbinding3:rxbinding:3.1.0', + rxjava_replayingshare : 'com.jakewharton.rx3:replaying-share:3.0.0', + rxjava_binding : 'com.jakewharton.rxbinding4:rxbinding:4.0.0', appcompat : 'androidx.appcompat:appcompat:1.1.0', material_design : 'com.google.android.material:material:1.0.0' ] diff --git a/mockrxandroidble/src/main/java/com/polidea/rxandroidble2/mockrxandroidble/RxBleClientMock.java b/mockrxandroidble/src/main/java/com/polidea/rxandroidble2/mockrxandroidble/RxBleClientMock.java index d6ab4af08..c8e44cede 100644 --- a/mockrxandroidble/src/main/java/com/polidea/rxandroidble2/mockrxandroidble/RxBleClientMock.java +++ b/mockrxandroidble/src/main/java/com/polidea/rxandroidble2/mockrxandroidble/RxBleClientMock.java @@ -24,9 +24,9 @@ import java.util.Set; import java.util.UUID; -import io.reactivex.Observable; -import io.reactivex.functions.Function; -import io.reactivex.functions.Predicate; +import io.reactivex.rxjava3.core.Observable; +import io.reactivex.rxjava3.functions.Function; +import io.reactivex.rxjava3.functions.Predicate; import io.reactivex.subjects.ReplaySubject; /** diff --git a/mockrxandroidble/src/main/java/com/polidea/rxandroidble2/mockrxandroidble/RxBleConnectionMock.java b/mockrxandroidble/src/main/java/com/polidea/rxandroidble2/mockrxandroidble/RxBleConnectionMock.java index 8913f11b6..c6176e0d6 100644 --- a/mockrxandroidble/src/main/java/com/polidea/rxandroidble2/mockrxandroidble/RxBleConnectionMock.java +++ b/mockrxandroidble/src/main/java/com/polidea/rxandroidble2/mockrxandroidble/RxBleConnectionMock.java @@ -36,17 +36,17 @@ import java.util.concurrent.TimeUnit; import java.util.concurrent.atomic.AtomicInteger; -import io.reactivex.Completable; -import io.reactivex.Observable; -import io.reactivex.ObservableSource; -import io.reactivex.Single; -import io.reactivex.SingleSource; -import io.reactivex.disposables.Disposable; -import io.reactivex.functions.Action; -import io.reactivex.functions.Consumer; -import io.reactivex.functions.Function; -import io.reactivex.functions.Predicate; -import io.reactivex.internal.functions.Functions; +import io.reactivex.rxjava3.core.Completable; +import io.reactivex.rxjava3.core.Observable; +import io.reactivex.rxjava3.core.ObservableSource; +import io.reactivex.rxjava3.core.Single; +import io.reactivex.rxjava3.core.SingleSource; +import io.reactivex.rxjava3.disposables.Disposable; +import io.reactivex.rxjava3.functions.Action; +import io.reactivex.rxjava3.functions.Consumer; +import io.reactivex.rxjava3.functions.Function; +import io.reactivex.rxjava3.functions.Predicate; +import io.reactivex.rxjava3.internal.functions.Functions; import io.reactivex.subjects.CompletableSubject; import io.reactivex.subjects.SingleSubject; diff --git a/mockrxandroidble/src/main/java/com/polidea/rxandroidble2/mockrxandroidble/RxBleDeviceMock.java b/mockrxandroidble/src/main/java/com/polidea/rxandroidble2/mockrxandroidble/RxBleDeviceMock.java index d4e208ef2..652bc9d08 100644 --- a/mockrxandroidble/src/main/java/com/polidea/rxandroidble2/mockrxandroidble/RxBleDeviceMock.java +++ b/mockrxandroidble/src/main/java/com/polidea/rxandroidble2/mockrxandroidble/RxBleDeviceMock.java @@ -26,11 +26,11 @@ import java.util.concurrent.Callable; import java.util.concurrent.atomic.AtomicBoolean; -import io.reactivex.Observable; -import io.reactivex.disposables.Disposable; -import io.reactivex.functions.Action; -import io.reactivex.functions.Consumer; -import io.reactivex.subjects.BehaviorSubject; +import io.reactivex.rxjava3.core.Observable; +import io.reactivex.rxjava3.disposables.Disposable; +import io.reactivex.rxjava3.functions.Action; +import io.reactivex.rxjava3.functions.Consumer; +import io.reactivex.rxjava3.subjects.BehaviorSubject; import io.reactivex.subjects.ReplaySubject; import static com.polidea.rxandroidble2.RxBleConnection.RxBleConnectionState.CONNECTED; diff --git a/rxandroidble/src/main/java/com/polidea/rxandroidble2/ClientComponent.java b/rxandroidble/src/main/java/com/polidea/rxandroidble2/ClientComponent.java index 44005bce9..26b30f65e 100644 --- a/rxandroidble/src/main/java/com/polidea/rxandroidble2/ClientComponent.java +++ b/rxandroidble/src/main/java/com/polidea/rxandroidble2/ClientComponent.java @@ -46,11 +46,11 @@ import bleshadow.dagger.Provides; import bleshadow.javax.inject.Named; import bleshadow.javax.inject.Provider; -import io.reactivex.Observable; -import io.reactivex.Scheduler; -import io.reactivex.functions.Function; -import io.reactivex.plugins.RxJavaPlugins; -import io.reactivex.schedulers.Schedulers; +import io.reactivex.rxjava3.core.Observable; +import io.reactivex.rxjava3.core.Scheduler; +import io.reactivex.rxjava3.functions.Function; +import io.reactivex.rxjava3.plugins.RxJavaPlugins; +import io.reactivex.rxjava3.schedulers.Schedulers; @ClientScope @Component(modules = {ClientComponent.ClientModule.class}) diff --git a/rxandroidble/src/main/java/com/polidea/rxandroidble2/RxBleAdapterStateObservable.java b/rxandroidble/src/main/java/com/polidea/rxandroidble2/RxBleAdapterStateObservable.java index 0fb909ebb..cc4d76a5c 100644 --- a/rxandroidble/src/main/java/com/polidea/rxandroidble2/RxBleAdapterStateObservable.java +++ b/rxandroidble/src/main/java/com/polidea/rxandroidble2/RxBleAdapterStateObservable.java @@ -9,12 +9,12 @@ import bleshadow.javax.inject.Inject; import com.polidea.rxandroidble2.internal.RxBleLog; -import io.reactivex.Observable; -import io.reactivex.ObservableEmitter; -import io.reactivex.ObservableOnSubscribe; -import io.reactivex.Observer; -import io.reactivex.functions.Cancellable; -import io.reactivex.schedulers.Schedulers; +import io.reactivex.rxjava3.core.Observable; +import io.reactivex.rxjava3.core.ObservableEmitter; +import io.reactivex.rxjava3.core.ObservableOnSubscribe; +import io.reactivex.rxjava3.core.Observer; +import io.reactivex.rxjava3.functions.Cancellable; +import io.reactivex.rxjava3.schedulers.Schedulers; /** * Observes Bluetooth adapter state. This responds to user interactions as well as system controlled state changes. diff --git a/rxandroidble/src/main/java/com/polidea/rxandroidble2/RxBleClient.java b/rxandroidble/src/main/java/com/polidea/rxandroidble2/RxBleClient.java index 64ef1f274..26af7bb1c 100644 --- a/rxandroidble/src/main/java/com/polidea/rxandroidble2/RxBleClient.java +++ b/rxandroidble/src/main/java/com/polidea/rxandroidble2/RxBleClient.java @@ -13,7 +13,7 @@ import java.util.Set; import java.util.UUID; -import io.reactivex.Observable; +import io.reactivex.rxjava3.core.Observable; public abstract class RxBleClient { diff --git a/rxandroidble/src/main/java/com/polidea/rxandroidble2/RxBleClientImpl.java b/rxandroidble/src/main/java/com/polidea/rxandroidble2/RxBleClientImpl.java index 8d4c4a5df..33bad7701 100644 --- a/rxandroidble/src/main/java/com/polidea/rxandroidble2/RxBleClientImpl.java +++ b/rxandroidble/src/main/java/com/polidea/rxandroidble2/RxBleClientImpl.java @@ -25,25 +25,25 @@ import com.polidea.rxandroidble2.scan.ScanResult; import com.polidea.rxandroidble2.scan.ScanSettings; -import io.reactivex.functions.Consumer; +import io.reactivex.rxjava3.functions.Consumer; +import io.reactivex.rxjava3.functions.Supplier; import java.util.HashMap; import java.util.HashSet; import java.util.Map; import java.util.Set; import java.util.UUID; -import java.util.concurrent.Callable; import bleshadow.dagger.Lazy; import bleshadow.javax.inject.Inject; import bleshadow.javax.inject.Named; -import io.reactivex.Maybe; -import io.reactivex.MaybeSource; -import io.reactivex.Observable; -import io.reactivex.ObservableSource; -import io.reactivex.Scheduler; -import io.reactivex.functions.Action; -import io.reactivex.functions.Function; -import io.reactivex.functions.Predicate; +import io.reactivex.rxjava3.core.Maybe; +import io.reactivex.rxjava3.core.MaybeSource; +import io.reactivex.rxjava3.core.Observable; +import io.reactivex.rxjava3.core.ObservableSource; +import io.reactivex.rxjava3.core.Scheduler; +import io.reactivex.rxjava3.functions.Action; +import io.reactivex.rxjava3.functions.Function; +import io.reactivex.rxjava3.functions.Predicate; class RxBleClientImpl extends RxBleClient { @@ -124,9 +124,9 @@ public Set getBondedDevices() { @Override public Observable scanBleDevices(final ScanSettings scanSettings, final ScanFilter... scanFilters) { - return Observable.defer(new Callable>() { + return Observable.defer(new Supplier>() { @Override - public Observable call() { + public Observable get() { scanPreconditionVerifier.verify(scanSettings.shouldCheckLocationProviderState()); final ScanSetup scanSetup = scanSetupBuilder.build(scanSettings, scanFilters); final Operation scanOperation = scanSetup.scanOperation; @@ -153,9 +153,9 @@ public BackgroundScanner getBackgroundScanner() { @Override @SuppressWarnings("deprecation") public Observable scanBleDevices(@Nullable final UUID... filterServiceUUIDs) { - return Observable.defer(new Callable>() { + return Observable.defer(new Supplier>() { @Override - public ObservableSource call() { + public ObservableSource get() { scanPreconditionVerifier.verify(true); return initializeScan(filterServiceUUIDs); } diff --git a/rxandroidble/src/main/java/com/polidea/rxandroidble2/RxBleConnection.java b/rxandroidble/src/main/java/com/polidea/rxandroidble2/RxBleConnection.java index 8e349082a..46c2ce936 100644 --- a/rxandroidble/src/main/java/com/polidea/rxandroidble2/RxBleConnection.java +++ b/rxandroidble/src/main/java/com/polidea/rxandroidble2/RxBleConnection.java @@ -24,11 +24,11 @@ import java.util.UUID; import java.util.concurrent.TimeUnit; -import io.reactivex.Completable; -import io.reactivex.Observable; -import io.reactivex.ObservableTransformer; -import io.reactivex.Scheduler; -import io.reactivex.Single; +import io.reactivex.rxjava3.core.Completable; +import io.reactivex.rxjava3.core.Observable; +import io.reactivex.rxjava3.core.ObservableTransformer; +import io.reactivex.rxjava3.core.Scheduler; +import io.reactivex.rxjava3.core.Single; /** * The BLE connection handle, supporting GATT operations. Operations are enqueued and the library makes sure that they are not diff --git a/rxandroidble/src/main/java/com/polidea/rxandroidble2/RxBleCustomOperation.java b/rxandroidble/src/main/java/com/polidea/rxandroidble2/RxBleCustomOperation.java index 0ff0cc197..a6ee12d01 100644 --- a/rxandroidble/src/main/java/com/polidea/rxandroidble2/RxBleCustomOperation.java +++ b/rxandroidble/src/main/java/com/polidea/rxandroidble2/RxBleCustomOperation.java @@ -6,9 +6,9 @@ import com.polidea.rxandroidble2.internal.connection.RxBleGattCallback; import com.polidea.rxandroidble2.internal.serialization.ConnectionOperationQueue; -import io.reactivex.Observable; -import io.reactivex.Observer; -import io.reactivex.Scheduler; +import io.reactivex.rxjava3.core.Observable; +import io.reactivex.rxjava3.core.Observer; +import io.reactivex.rxjava3.core.Scheduler; /** * Represents a custom operation that will be enqueued for future execution within the client instance. diff --git a/rxandroidble/src/main/java/com/polidea/rxandroidble2/RxBleDevice.java b/rxandroidble/src/main/java/com/polidea/rxandroidble2/RxBleDevice.java index bead1bf00..7feb6103c 100644 --- a/rxandroidble/src/main/java/com/polidea/rxandroidble2/RxBleDevice.java +++ b/rxandroidble/src/main/java/com/polidea/rxandroidble2/RxBleDevice.java @@ -11,7 +11,7 @@ import com.polidea.rxandroidble2.exceptions.BleGattCallbackTimeoutException; import com.polidea.rxandroidble2.exceptions.BleGattException; -import io.reactivex.Observable; +import io.reactivex.rxjava3.core.Observable; public interface RxBleDevice { diff --git a/rxandroidble/src/main/java/com/polidea/rxandroidble2/RxBleDeviceServices.java b/rxandroidble/src/main/java/com/polidea/rxandroidble2/RxBleDeviceServices.java index d06394ee6..7051ea9ff 100644 --- a/rxandroidble/src/main/java/com/polidea/rxandroidble2/RxBleDeviceServices.java +++ b/rxandroidble/src/main/java/com/polidea/rxandroidble2/RxBleDeviceServices.java @@ -13,10 +13,10 @@ import java.util.UUID; import java.util.concurrent.Callable; -import io.reactivex.Observable; -import io.reactivex.Single; -import io.reactivex.functions.Function; -import io.reactivex.functions.Predicate; +import io.reactivex.rxjava3.core.Observable; +import io.reactivex.rxjava3.core.Single; +import io.reactivex.rxjava3.functions.Function; +import io.reactivex.rxjava3.functions.Predicate; /** * Service discovery result containing list of services and characteristics within the services. diff --git a/rxandroidble/src/main/java/com/polidea/rxandroidble2/RxBleRadioOperationCustom.java b/rxandroidble/src/main/java/com/polidea/rxandroidble2/RxBleRadioOperationCustom.java index 87a7af43f..c38bc661a 100644 --- a/rxandroidble/src/main/java/com/polidea/rxandroidble2/RxBleRadioOperationCustom.java +++ b/rxandroidble/src/main/java/com/polidea/rxandroidble2/RxBleRadioOperationCustom.java @@ -6,9 +6,9 @@ import com.polidea.rxandroidble2.internal.connection.RxBleGattCallback; import com.polidea.rxandroidble2.internal.serialization.ConnectionOperationQueue; -import io.reactivex.Observable; -import io.reactivex.Observer; -import io.reactivex.Scheduler; +import io.reactivex.rxjava3.core.Observable; +import io.reactivex.rxjava3.core.Observer; +import io.reactivex.rxjava3.core.Scheduler; /** * @inheritDoc diff --git a/rxandroidble/src/main/java/com/polidea/rxandroidble2/helpers/ByteArrayBatchObservable.java b/rxandroidble/src/main/java/com/polidea/rxandroidble2/helpers/ByteArrayBatchObservable.java index 6df7005f0..8f622260e 100644 --- a/rxandroidble/src/main/java/com/polidea/rxandroidble2/helpers/ByteArrayBatchObservable.java +++ b/rxandroidble/src/main/java/com/polidea/rxandroidble2/helpers/ByteArrayBatchObservable.java @@ -7,9 +7,9 @@ import java.nio.ByteBuffer; -import io.reactivex.Emitter; -import io.reactivex.Flowable; -import io.reactivex.functions.Consumer; +import io.reactivex.rxjava3.core.Emitter; +import io.reactivex.rxjava3.core.Flowable; +import io.reactivex.rxjava3.functions.Consumer; /** * TODO It may be possible to introduce backpressure here. diff --git a/rxandroidble/src/main/java/com/polidea/rxandroidble2/helpers/LocationServicesOkObservable.java b/rxandroidble/src/main/java/com/polidea/rxandroidble2/helpers/LocationServicesOkObservable.java index 4e76a5c45..4ec059b53 100644 --- a/rxandroidble/src/main/java/com/polidea/rxandroidble2/helpers/LocationServicesOkObservable.java +++ b/rxandroidble/src/main/java/com/polidea/rxandroidble2/helpers/LocationServicesOkObservable.java @@ -10,8 +10,8 @@ import bleshadow.javax.inject.Inject; import bleshadow.javax.inject.Named; -import io.reactivex.Observable; -import io.reactivex.Observer; +import io.reactivex.rxjava3.core.Observable; +import io.reactivex.rxjava3.core.Observer; /** * An Observable that emits false if an attempt to scan with {@link com.polidea.rxandroidble2.RxBleClient#scanBleDevices(UUID...)} diff --git a/rxandroidble/src/main/java/com/polidea/rxandroidble2/internal/DeviceModule.java b/rxandroidble/src/main/java/com/polidea/rxandroidble2/internal/DeviceModule.java index 20842f0fe..f1d287f34 100644 --- a/rxandroidble/src/main/java/com/polidea/rxandroidble2/internal/DeviceModule.java +++ b/rxandroidble/src/main/java/com/polidea/rxandroidble2/internal/DeviceModule.java @@ -2,7 +2,7 @@ import android.bluetooth.BluetoothDevice; -import com.jakewharton.rxrelay2.BehaviorRelay; +import com.jakewharton.rxrelay3.BehaviorRelay; import com.polidea.rxandroidble2.ClientComponent; import com.polidea.rxandroidble2.ClientComponent.NamedSchedulers; import com.polidea.rxandroidble2.RxBleConnection; @@ -20,7 +20,7 @@ import bleshadow.dagger.Module; import bleshadow.dagger.Provides; import bleshadow.javax.inject.Named; -import io.reactivex.Scheduler; +import io.reactivex.rxjava3.core.Scheduler; @Module(subcomponents = ConnectionComponent.class) public abstract class DeviceModule { diff --git a/rxandroidble/src/main/java/com/polidea/rxandroidble2/internal/QueueOperation.java b/rxandroidble/src/main/java/com/polidea/rxandroidble2/internal/QueueOperation.java index 727394bb7..788f3271b 100644 --- a/rxandroidble/src/main/java/com/polidea/rxandroidble2/internal/QueueOperation.java +++ b/rxandroidble/src/main/java/com/polidea/rxandroidble2/internal/QueueOperation.java @@ -8,9 +8,9 @@ import com.polidea.rxandroidble2.internal.serialization.QueueReleaseInterface; import com.polidea.rxandroidble2.internal.util.QueueReleasingEmitterWrapper; -import io.reactivex.Observable; -import io.reactivex.ObservableEmitter; -import io.reactivex.ObservableOnSubscribe; +import io.reactivex.rxjava3.core.Observable; +import io.reactivex.rxjava3.core.ObservableEmitter; +import io.reactivex.rxjava3.core.ObservableOnSubscribe; /** * The base class for all operations that are executed on the Bluetooth Queue. diff --git a/rxandroidble/src/main/java/com/polidea/rxandroidble2/internal/RxBleDeviceImpl.java b/rxandroidble/src/main/java/com/polidea/rxandroidble2/internal/RxBleDeviceImpl.java index 0b8aa421d..70e2fd3dc 100644 --- a/rxandroidble/src/main/java/com/polidea/rxandroidble2/internal/RxBleDeviceImpl.java +++ b/rxandroidble/src/main/java/com/polidea/rxandroidble2/internal/RxBleDeviceImpl.java @@ -3,7 +3,7 @@ import android.bluetooth.BluetoothDevice; import androidx.annotation.Nullable; -import com.jakewharton.rxrelay2.BehaviorRelay; +import com.jakewharton.rxrelay3.BehaviorRelay; import com.polidea.rxandroidble2.ConnectionSetup; import com.polidea.rxandroidble2.RxBleConnection; import com.polidea.rxandroidble2.RxBleDevice; @@ -12,13 +12,13 @@ import com.polidea.rxandroidble2.internal.connection.Connector; import com.polidea.rxandroidble2.internal.logger.LoggerUtil; -import java.util.concurrent.Callable; import java.util.concurrent.atomic.AtomicBoolean; import bleshadow.javax.inject.Inject; -import io.reactivex.Observable; -import io.reactivex.ObservableSource; -import io.reactivex.functions.Action; +import io.reactivex.rxjava3.core.Observable; +import io.reactivex.rxjava3.core.ObservableSource; +import io.reactivex.rxjava3.functions.Action; +import io.reactivex.rxjava3.functions.Supplier; @DeviceScope class RxBleDeviceImpl implements RxBleDevice { @@ -69,9 +69,9 @@ public Observable establishConnection(final boolean autoConnect } public Observable establishConnection(final ConnectionSetup options) { - return Observable.defer(new Callable>() { + return Observable.defer(new Supplier>() { @Override - public ObservableSource call() { + public ObservableSource get() { if (isConnected.compareAndSet(false, true)) { return connector.prepareConnection(options) .doFinally(new Action() { diff --git a/rxandroidble/src/main/java/com/polidea/rxandroidble2/internal/SingleResponseOperation.java b/rxandroidble/src/main/java/com/polidea/rxandroidble2/internal/SingleResponseOperation.java index d23314a5b..640aba8c0 100644 --- a/rxandroidble/src/main/java/com/polidea/rxandroidble2/internal/SingleResponseOperation.java +++ b/rxandroidble/src/main/java/com/polidea/rxandroidble2/internal/SingleResponseOperation.java @@ -16,10 +16,10 @@ import java.util.concurrent.TimeUnit; -import io.reactivex.Observable; -import io.reactivex.ObservableEmitter; -import io.reactivex.Scheduler; -import io.reactivex.Single; +import io.reactivex.rxjava3.core.Observable; +import io.reactivex.rxjava3.core.ObservableEmitter; +import io.reactivex.rxjava3.core.Scheduler; +import io.reactivex.rxjava3.core.Single; /** * A convenience class intended to use with {@link BluetoothGatt} functions that fire one-time actions. diff --git a/rxandroidble/src/main/java/com/polidea/rxandroidble2/internal/connection/ConnectionModule.java b/rxandroidble/src/main/java/com/polidea/rxandroidble2/internal/connection/ConnectionModule.java index 5412ad51c..9bdccf23d 100644 --- a/rxandroidble/src/main/java/com/polidea/rxandroidble2/internal/connection/ConnectionModule.java +++ b/rxandroidble/src/main/java/com/polidea/rxandroidble2/internal/connection/ConnectionModule.java @@ -19,7 +19,7 @@ import bleshadow.dagger.multibindings.IntoSet; import bleshadow.javax.inject.Named; import bleshadow.javax.inject.Provider; -import io.reactivex.Scheduler; +import io.reactivex.rxjava3.core.Scheduler; import static com.polidea.rxandroidble2.internal.connection.ConnectionComponent.NamedBooleans.SUPPRESS_OPERATION_CHECKS; import static com.polidea.rxandroidble2.internal.connection.ConnectionComponent.NamedInts.GATT_MTU_MINIMUM; diff --git a/rxandroidble/src/main/java/com/polidea/rxandroidble2/internal/connection/Connector.java b/rxandroidble/src/main/java/com/polidea/rxandroidble2/internal/connection/Connector.java index 5459f1e82..0b1450b10 100644 --- a/rxandroidble/src/main/java/com/polidea/rxandroidble2/internal/connection/Connector.java +++ b/rxandroidble/src/main/java/com/polidea/rxandroidble2/internal/connection/Connector.java @@ -4,7 +4,7 @@ import com.polidea.rxandroidble2.ConnectionSetup; import com.polidea.rxandroidble2.RxBleConnection; -import io.reactivex.Observable; +import io.reactivex.rxjava3.core.Observable; public interface Connector { diff --git a/rxandroidble/src/main/java/com/polidea/rxandroidble2/internal/connection/ConnectorImpl.java b/rxandroidble/src/main/java/com/polidea/rxandroidble2/internal/connection/ConnectorImpl.java index 4bc91033f..27a364281 100644 --- a/rxandroidble/src/main/java/com/polidea/rxandroidble2/internal/connection/ConnectorImpl.java +++ b/rxandroidble/src/main/java/com/polidea/rxandroidble2/internal/connection/ConnectorImpl.java @@ -12,12 +12,13 @@ import bleshadow.javax.inject.Inject; import bleshadow.javax.inject.Named; -import io.reactivex.Observable; -import io.reactivex.ObservableSource; -import io.reactivex.Scheduler; -import io.reactivex.disposables.Disposable; -import io.reactivex.functions.Action; -import io.reactivex.functions.Consumer; +import io.reactivex.rxjava3.core.Observable; +import io.reactivex.rxjava3.core.ObservableSource; +import io.reactivex.rxjava3.core.Scheduler; +import io.reactivex.rxjava3.disposables.Disposable; +import io.reactivex.rxjava3.functions.Action; +import io.reactivex.rxjava3.functions.Consumer; +import io.reactivex.rxjava3.functions.Supplier; public class ConnectorImpl implements Connector { @@ -37,9 +38,9 @@ public ConnectorImpl( @Override public Observable prepareConnection(final ConnectionSetup options) { - return Observable.defer(new Callable>() { + return Observable.defer(new Supplier>() { @Override - public ObservableSource call() { + public ObservableSource get() { final ConnectionComponent connectionComponent = connectionComponentBuilder .autoConnect(options.autoConnect) .suppressOperationChecks(options.suppressOperationCheck) diff --git a/rxandroidble/src/main/java/com/polidea/rxandroidble2/internal/connection/DescriptorWriter.java b/rxandroidble/src/main/java/com/polidea/rxandroidble2/internal/connection/DescriptorWriter.java index 8b9825e42..1343b4302 100644 --- a/rxandroidble/src/main/java/com/polidea/rxandroidble2/internal/connection/DescriptorWriter.java +++ b/rxandroidble/src/main/java/com/polidea/rxandroidble2/internal/connection/DescriptorWriter.java @@ -7,7 +7,7 @@ import com.polidea.rxandroidble2.internal.serialization.ConnectionOperationQueue; import bleshadow.javax.inject.Inject; -import io.reactivex.Completable; +import io.reactivex.rxjava3.core.Completable; @ConnectionScope class DescriptorWriter { diff --git a/rxandroidble/src/main/java/com/polidea/rxandroidble2/internal/connection/DisconnectAction.java b/rxandroidble/src/main/java/com/polidea/rxandroidble2/internal/connection/DisconnectAction.java index 8cb072535..d955fb095 100644 --- a/rxandroidble/src/main/java/com/polidea/rxandroidble2/internal/connection/DisconnectAction.java +++ b/rxandroidble/src/main/java/com/polidea/rxandroidble2/internal/connection/DisconnectAction.java @@ -5,7 +5,7 @@ import bleshadow.javax.inject.Inject; -import io.reactivex.internal.functions.Functions; +import io.reactivex.rxjava3.internal.functions.Functions; @ConnectionScope class DisconnectAction implements ConnectionSubscriptionWatcher { diff --git a/rxandroidble/src/main/java/com/polidea/rxandroidble2/internal/connection/DisconnectionRouter.java b/rxandroidble/src/main/java/com/polidea/rxandroidble2/internal/connection/DisconnectionRouter.java index 7a534d836..5d5f64676 100644 --- a/rxandroidble/src/main/java/com/polidea/rxandroidble2/internal/connection/DisconnectionRouter.java +++ b/rxandroidble/src/main/java/com/polidea/rxandroidble2/internal/connection/DisconnectionRouter.java @@ -1,7 +1,7 @@ package com.polidea.rxandroidble2.internal.connection; -import com.jakewharton.rxrelay2.BehaviorRelay; +import com.jakewharton.rxrelay3.BehaviorRelay; import com.polidea.rxandroidble2.RxBleAdapterStateObservable; import com.polidea.rxandroidble2.exceptions.BleDisconnectedException; import com.polidea.rxandroidble2.exceptions.BleException; @@ -12,13 +12,13 @@ import bleshadow.javax.inject.Inject; import bleshadow.javax.inject.Named; -import io.reactivex.Observable; -import io.reactivex.ObservableSource; -import io.reactivex.disposables.Disposable; -import io.reactivex.functions.Action; -import io.reactivex.functions.Consumer; -import io.reactivex.functions.Function; -import io.reactivex.functions.Predicate; +import io.reactivex.rxjava3.core.Observable; +import io.reactivex.rxjava3.core.ObservableSource; +import io.reactivex.rxjava3.disposables.Disposable; +import io.reactivex.rxjava3.functions.Action; +import io.reactivex.rxjava3.functions.Consumer; +import io.reactivex.rxjava3.functions.Function; +import io.reactivex.rxjava3.functions.Predicate; /** * A class that is responsible for routing all potential sources of disconnection to an Observable that emits only errors. @@ -96,7 +96,7 @@ public Boolean apply(RxBleAdapterStateObservable.BleAdapterState bleAdapterState return bleAdapterState.isUsable(); } }) - .startWith(adapterWrapper.isBluetoothEnabled()) + .startWithItem(adapterWrapper.isBluetoothEnabled()) .filter(new Predicate() { @Override public boolean test(Boolean isAdapterUsable) { diff --git a/rxandroidble/src/main/java/com/polidea/rxandroidble2/internal/connection/DisconnectionRouterOutput.java b/rxandroidble/src/main/java/com/polidea/rxandroidble2/internal/connection/DisconnectionRouterOutput.java index c7db8840d..baf77c608 100644 --- a/rxandroidble/src/main/java/com/polidea/rxandroidble2/internal/connection/DisconnectionRouterOutput.java +++ b/rxandroidble/src/main/java/com/polidea/rxandroidble2/internal/connection/DisconnectionRouterOutput.java @@ -3,7 +3,7 @@ import com.polidea.rxandroidble2.exceptions.BleException; -import io.reactivex.Observable; +import io.reactivex.rxjava3.core.Observable; /** * Interface to output disconnection error causes. It is used for instance to notify when the diff --git a/rxandroidble/src/main/java/com/polidea/rxandroidble2/internal/connection/IllegalOperationChecker.java b/rxandroidble/src/main/java/com/polidea/rxandroidble2/internal/connection/IllegalOperationChecker.java index 1c5137aeb..f79cea554 100644 --- a/rxandroidble/src/main/java/com/polidea/rxandroidble2/internal/connection/IllegalOperationChecker.java +++ b/rxandroidble/src/main/java/com/polidea/rxandroidble2/internal/connection/IllegalOperationChecker.java @@ -7,8 +7,8 @@ import bleshadow.javax.inject.Inject; -import io.reactivex.Completable; -import io.reactivex.functions.Action; +import io.reactivex.rxjava3.core.Completable; +import io.reactivex.rxjava3.functions.Action; /** * Class for checking whether the requested operation is legal on chosen characteristic. diff --git a/rxandroidble/src/main/java/com/polidea/rxandroidble2/internal/connection/ImmediateSerializedBatchAckStrategy.java b/rxandroidble/src/main/java/com/polidea/rxandroidble2/internal/connection/ImmediateSerializedBatchAckStrategy.java index a1efd6a15..db1002dad 100644 --- a/rxandroidble/src/main/java/com/polidea/rxandroidble2/internal/connection/ImmediateSerializedBatchAckStrategy.java +++ b/rxandroidble/src/main/java/com/polidea/rxandroidble2/internal/connection/ImmediateSerializedBatchAckStrategy.java @@ -2,7 +2,7 @@ import com.polidea.rxandroidble2.RxBleConnection; -import io.reactivex.Observable; +import io.reactivex.rxjava3.core.Observable; public class ImmediateSerializedBatchAckStrategy implements RxBleConnection.WriteOperationAckStrategy { diff --git a/rxandroidble/src/main/java/com/polidea/rxandroidble2/internal/connection/LongWriteOperationBuilderImpl.java b/rxandroidble/src/main/java/com/polidea/rxandroidble2/internal/connection/LongWriteOperationBuilderImpl.java index 476bd93e6..40bf419be 100644 --- a/rxandroidble/src/main/java/com/polidea/rxandroidble2/internal/connection/LongWriteOperationBuilderImpl.java +++ b/rxandroidble/src/main/java/com/polidea/rxandroidble2/internal/connection/LongWriteOperationBuilderImpl.java @@ -11,10 +11,10 @@ import java.util.UUID; import bleshadow.javax.inject.Inject; -import io.reactivex.Observable; -import io.reactivex.Single; -import io.reactivex.SingleSource; -import io.reactivex.functions.Function; +import io.reactivex.rxjava3.core.Observable; +import io.reactivex.rxjava3.core.Single; +import io.reactivex.rxjava3.core.SingleSource; +import io.reactivex.rxjava3.functions.Function; public final class LongWriteOperationBuilderImpl implements RxBleConnection.LongWriteOperationBuilder { diff --git a/rxandroidble/src/main/java/com/polidea/rxandroidble2/internal/connection/MtuWatcher.java b/rxandroidble/src/main/java/com/polidea/rxandroidble2/internal/connection/MtuWatcher.java index 6c28a77b7..62015f815 100644 --- a/rxandroidble/src/main/java/com/polidea/rxandroidble2/internal/connection/MtuWatcher.java +++ b/rxandroidble/src/main/java/com/polidea/rxandroidble2/internal/connection/MtuWatcher.java @@ -6,11 +6,11 @@ import bleshadow.javax.inject.Inject; import bleshadow.javax.inject.Named; -import io.reactivex.Observable; -import io.reactivex.disposables.SerialDisposable; -import io.reactivex.functions.Consumer; -import io.reactivex.functions.Predicate; -import io.reactivex.internal.functions.Functions; +import io.reactivex.rxjava3.core.Observable; +import io.reactivex.rxjava3.disposables.SerialDisposable; +import io.reactivex.rxjava3.functions.Consumer; +import io.reactivex.rxjava3.functions.Predicate; +import io.reactivex.rxjava3.internal.functions.Functions; @ConnectionScope class MtuWatcher implements ConnectionSubscriptionWatcher, MtuProvider, Consumer { diff --git a/rxandroidble/src/main/java/com/polidea/rxandroidble2/internal/connection/NoRetryStrategy.java b/rxandroidble/src/main/java/com/polidea/rxandroidble2/internal/connection/NoRetryStrategy.java index c18431d59..6d7221a91 100644 --- a/rxandroidble/src/main/java/com/polidea/rxandroidble2/internal/connection/NoRetryStrategy.java +++ b/rxandroidble/src/main/java/com/polidea/rxandroidble2/internal/connection/NoRetryStrategy.java @@ -2,8 +2,8 @@ import com.polidea.rxandroidble2.RxBleConnection; -import io.reactivex.Observable; -import io.reactivex.functions.Function; +import io.reactivex.rxjava3.core.Observable; +import io.reactivex.rxjava3.functions.Function; public class NoRetryStrategy implements RxBleConnection.WriteOperationRetryStrategy { diff --git a/rxandroidble/src/main/java/com/polidea/rxandroidble2/internal/connection/NotificationAndIndicationManager.java b/rxandroidble/src/main/java/com/polidea/rxandroidble2/internal/connection/NotificationAndIndicationManager.java index 8e7bf7e6d..f078f3a22 100644 --- a/rxandroidble/src/main/java/com/polidea/rxandroidble2/internal/connection/NotificationAndIndicationManager.java +++ b/rxandroidble/src/main/java/com/polidea/rxandroidble2/internal/connection/NotificationAndIndicationManager.java @@ -16,26 +16,26 @@ import com.polidea.rxandroidble2.internal.util.CharacteristicNotificationId; import com.polidea.rxandroidble2.internal.util.ObservableUtil; +import io.reactivex.rxjava3.functions.Supplier; import java.util.Arrays; import java.util.HashMap; import java.util.Map; import java.util.UUID; -import java.util.concurrent.Callable; import bleshadow.javax.inject.Inject; import bleshadow.javax.inject.Named; -import io.reactivex.Completable; -import io.reactivex.CompletableSource; -import io.reactivex.CompletableTransformer; -import io.reactivex.Observable; -import io.reactivex.ObservableSource; -import io.reactivex.ObservableTransformer; -import io.reactivex.functions.Action; -import io.reactivex.functions.Function; -import io.reactivex.functions.Predicate; -import io.reactivex.internal.functions.Functions; -import io.reactivex.subjects.PublishSubject; +import io.reactivex.rxjava3.core.Completable; +import io.reactivex.rxjava3.core.CompletableSource; +import io.reactivex.rxjava3.core.CompletableTransformer; +import io.reactivex.rxjava3.core.Observable; +import io.reactivex.rxjava3.core.ObservableSource; +import io.reactivex.rxjava3.core.ObservableTransformer; +import io.reactivex.rxjava3.functions.Action; +import io.reactivex.rxjava3.functions.Function; +import io.reactivex.rxjava3.functions.Predicate; +import io.reactivex.rxjava3.internal.functions.Functions; +import io.reactivex.rxjava3.subjects.PublishSubject; @ConnectionScope class NotificationAndIndicationManager { @@ -71,9 +71,9 @@ class NotificationAndIndicationManager { Observable> setupServerInitiatedCharacteristicRead( @NonNull final BluetoothGattCharacteristic characteristic, final NotificationSetupMode setupMode, final boolean isIndication ) { - return Observable.defer(new Callable>>() { + return Observable.defer(new Supplier>>() { @Override - public ObservableSource> call() { + public ObservableSource> get() { synchronized (activeNotificationObservableMap) { final CharacteristicNotificationId id = new CharacteristicNotificationId(characteristic.getUuid(), characteristic.getInstanceId()); diff --git a/rxandroidble/src/main/java/com/polidea/rxandroidble2/internal/connection/RxBleConnectionImpl.java b/rxandroidble/src/main/java/com/polidea/rxandroidble2/internal/connection/RxBleConnectionImpl.java index e58932739..0e2140e44 100644 --- a/rxandroidble/src/main/java/com/polidea/rxandroidble2/internal/connection/RxBleConnectionImpl.java +++ b/rxandroidble/src/main/java/com/polidea/rxandroidble2/internal/connection/RxBleConnectionImpl.java @@ -29,16 +29,16 @@ import bleshadow.javax.inject.Inject; import bleshadow.javax.inject.Named; import bleshadow.javax.inject.Provider; -import io.reactivex.Completable; -import io.reactivex.CompletableSource; -import io.reactivex.Observable; -import io.reactivex.ObservableEmitter; -import io.reactivex.ObservableSource; -import io.reactivex.Scheduler; -import io.reactivex.Single; -import io.reactivex.SingleSource; -import io.reactivex.functions.Action; -import io.reactivex.functions.Function; +import io.reactivex.rxjava3.core.Completable; +import io.reactivex.rxjava3.core.CompletableSource; +import io.reactivex.rxjava3.core.Observable; +import io.reactivex.rxjava3.core.ObservableEmitter; +import io.reactivex.rxjava3.core.ObservableSource; +import io.reactivex.rxjava3.core.Scheduler; +import io.reactivex.rxjava3.core.Single; +import io.reactivex.rxjava3.core.SingleSource; +import io.reactivex.rxjava3.functions.Action; +import io.reactivex.rxjava3.functions.Function; import static android.bluetooth.BluetoothGattCharacteristic.PROPERTY_INDICATE; import static android.bluetooth.BluetoothGattCharacteristic.PROPERTY_NOTIFY; diff --git a/rxandroidble/src/main/java/com/polidea/rxandroidble2/internal/connection/RxBleGattCallback.java b/rxandroidble/src/main/java/com/polidea/rxandroidble2/internal/connection/RxBleGattCallback.java index 9326e3478..49d47bb52 100644 --- a/rxandroidble/src/main/java/com/polidea/rxandroidble2/internal/connection/RxBleGattCallback.java +++ b/rxandroidble/src/main/java/com/polidea/rxandroidble2/internal/connection/RxBleGattCallback.java @@ -5,8 +5,8 @@ import android.bluetooth.BluetoothGattCharacteristic; import android.bluetooth.BluetoothGattDescriptor; -import com.jakewharton.rxrelay2.PublishRelay; -import com.jakewharton.rxrelay2.Relay; +import com.jakewharton.rxrelay3.PublishRelay; +import com.jakewharton.rxrelay3.Relay; import com.polidea.rxandroidble2.ConnectionParameters; import com.polidea.rxandroidble2.HiddenBluetoothGattCallback; import com.polidea.rxandroidble2.ClientComponent; @@ -26,9 +26,9 @@ import bleshadow.javax.inject.Inject; import bleshadow.javax.inject.Named; -import io.reactivex.Observable; -import io.reactivex.Scheduler; -import io.reactivex.functions.Function; +import io.reactivex.rxjava3.core.Observable; +import io.reactivex.rxjava3.core.Scheduler; +import io.reactivex.rxjava3.functions.Function; import java.util.concurrent.TimeUnit; diff --git a/rxandroidble/src/main/java/com/polidea/rxandroidble2/internal/connection/ServiceDiscoveryManager.java b/rxandroidble/src/main/java/com/polidea/rxandroidble2/internal/connection/ServiceDiscoveryManager.java index 553d29ff2..14ed19263 100644 --- a/rxandroidble/src/main/java/com/polidea/rxandroidble2/internal/connection/ServiceDiscoveryManager.java +++ b/rxandroidble/src/main/java/com/polidea/rxandroidble2/internal/connection/ServiceDiscoveryManager.java @@ -16,17 +16,17 @@ import java.util.concurrent.TimeUnit; import bleshadow.javax.inject.Inject; -import io.reactivex.Maybe; -import io.reactivex.Single; -import io.reactivex.disposables.Disposable; -import io.reactivex.functions.Action; -import io.reactivex.functions.Consumer; -import io.reactivex.functions.Function; -import io.reactivex.functions.Predicate; -import io.reactivex.internal.functions.Functions; -import io.reactivex.schedulers.Schedulers; -import io.reactivex.subjects.BehaviorSubject; -import io.reactivex.subjects.Subject; +import io.reactivex.rxjava3.core.Maybe; +import io.reactivex.rxjava3.core.Single; +import io.reactivex.rxjava3.disposables.Disposable; +import io.reactivex.rxjava3.functions.Action; +import io.reactivex.rxjava3.functions.Consumer; +import io.reactivex.rxjava3.functions.Function; +import io.reactivex.rxjava3.functions.Predicate; +import io.reactivex.rxjava3.internal.functions.Functions; +import io.reactivex.rxjava3.schedulers.Schedulers; +import io.reactivex.rxjava3.subjects.BehaviorSubject; +import io.reactivex.rxjava3.subjects.Subject; @ConnectionScope class ServiceDiscoveryManager { diff --git a/rxandroidble/src/main/java/com/polidea/rxandroidble2/internal/operations/CharacteristicLongWriteOperation.java b/rxandroidble/src/main/java/com/polidea/rxandroidble2/internal/operations/CharacteristicLongWriteOperation.java index c2697fcab..231e3a477 100644 --- a/rxandroidble/src/main/java/com/polidea/rxandroidble2/internal/operations/CharacteristicLongWriteOperation.java +++ b/rxandroidble/src/main/java/com/polidea/rxandroidble2/internal/operations/CharacteristicLongWriteOperation.java @@ -30,17 +30,17 @@ import java.util.UUID; import bleshadow.javax.inject.Named; -import io.reactivex.Observable; -import io.reactivex.ObservableEmitter; -import io.reactivex.ObservableOnSubscribe; -import io.reactivex.ObservableSource; -import io.reactivex.Observer; -import io.reactivex.Scheduler; -import io.reactivex.disposables.Disposable; -import io.reactivex.functions.Consumer; -import io.reactivex.functions.Function; -import io.reactivex.functions.Predicate; -import io.reactivex.observers.DisposableObserver; +import io.reactivex.rxjava3.core.Observable; +import io.reactivex.rxjava3.core.ObservableEmitter; +import io.reactivex.rxjava3.core.ObservableOnSubscribe; +import io.reactivex.rxjava3.core.ObservableSource; +import io.reactivex.rxjava3.core.Observer; +import io.reactivex.rxjava3.core.Scheduler; +import io.reactivex.rxjava3.disposables.Disposable; +import io.reactivex.rxjava3.functions.Consumer; +import io.reactivex.rxjava3.functions.Function; +import io.reactivex.rxjava3.functions.Predicate; +import io.reactivex.rxjava3.observers.DisposableObserver; import static com.polidea.rxandroidble2.internal.util.DisposableUtil.disposableObserverFromEmitter; diff --git a/rxandroidble/src/main/java/com/polidea/rxandroidble2/internal/operations/CharacteristicReadOperation.java b/rxandroidble/src/main/java/com/polidea/rxandroidble2/internal/operations/CharacteristicReadOperation.java index 6e5cc7044..e3ec4661a 100644 --- a/rxandroidble/src/main/java/com/polidea/rxandroidble2/internal/operations/CharacteristicReadOperation.java +++ b/rxandroidble/src/main/java/com/polidea/rxandroidble2/internal/operations/CharacteristicReadOperation.java @@ -11,7 +11,7 @@ import bleshadow.javax.inject.Named; -import io.reactivex.Single; +import io.reactivex.rxjava3.core.Single; import static com.polidea.rxandroidble2.internal.util.ByteAssociationUtil.characteristicUUIDPredicate; import static com.polidea.rxandroidble2.internal.util.ByteAssociationUtil.getBytesFromAssociation; diff --git a/rxandroidble/src/main/java/com/polidea/rxandroidble2/internal/operations/CharacteristicWriteOperation.java b/rxandroidble/src/main/java/com/polidea/rxandroidble2/internal/operations/CharacteristicWriteOperation.java index c5a12bcd5..e7afa8ffd 100644 --- a/rxandroidble/src/main/java/com/polidea/rxandroidble2/internal/operations/CharacteristicWriteOperation.java +++ b/rxandroidble/src/main/java/com/polidea/rxandroidble2/internal/operations/CharacteristicWriteOperation.java @@ -10,7 +10,7 @@ import com.polidea.rxandroidble2.internal.logger.LoggerUtil; import bleshadow.javax.inject.Named; -import io.reactivex.Single; +import io.reactivex.rxjava3.core.Single; import static com.polidea.rxandroidble2.internal.util.ByteAssociationUtil.characteristicUUIDPredicate; import static com.polidea.rxandroidble2.internal.util.ByteAssociationUtil.getBytesFromAssociation; diff --git a/rxandroidble/src/main/java/com/polidea/rxandroidble2/internal/operations/ConnectOperation.java b/rxandroidble/src/main/java/com/polidea/rxandroidble2/internal/operations/ConnectOperation.java index 59b85c5d4..2da1241b6 100644 --- a/rxandroidble/src/main/java/com/polidea/rxandroidble2/internal/operations/ConnectOperation.java +++ b/rxandroidble/src/main/java/com/polidea/rxandroidble2/internal/operations/ConnectOperation.java @@ -22,14 +22,14 @@ import bleshadow.javax.inject.Inject; import bleshadow.javax.inject.Named; -import io.reactivex.ObservableEmitter; -import io.reactivex.Single; -import io.reactivex.SingleEmitter; -import io.reactivex.SingleOnSubscribe; -import io.reactivex.SingleTransformer; -import io.reactivex.functions.Action; -import io.reactivex.functions.Predicate; -import io.reactivex.observers.DisposableSingleObserver; +import io.reactivex.rxjava3.core.ObservableEmitter; +import io.reactivex.rxjava3.core.Single; +import io.reactivex.rxjava3.core.SingleEmitter; +import io.reactivex.rxjava3.core.SingleOnSubscribe; +import io.reactivex.rxjava3.core.SingleTransformer; +import io.reactivex.rxjava3.functions.Action; +import io.reactivex.rxjava3.functions.Predicate; +import io.reactivex.rxjava3.observers.DisposableSingleObserver; import static com.polidea.rxandroidble2.RxBleConnection.RxBleConnectionState.CONNECTED; import static com.polidea.rxandroidble2.RxBleConnection.RxBleConnectionState.CONNECTING; diff --git a/rxandroidble/src/main/java/com/polidea/rxandroidble2/internal/operations/ConnectionPriorityChangeOperation.java b/rxandroidble/src/main/java/com/polidea/rxandroidble2/internal/operations/ConnectionPriorityChangeOperation.java index 8fc898e76..1fea93691 100644 --- a/rxandroidble/src/main/java/com/polidea/rxandroidble2/internal/operations/ConnectionPriorityChangeOperation.java +++ b/rxandroidble/src/main/java/com/polidea/rxandroidble2/internal/operations/ConnectionPriorityChangeOperation.java @@ -10,7 +10,7 @@ import bleshadow.javax.inject.Inject; -import io.reactivex.Single; +import io.reactivex.rxjava3.core.Single; public class ConnectionPriorityChangeOperation extends SingleResponseOperation { diff --git a/rxandroidble/src/main/java/com/polidea/rxandroidble2/internal/operations/DescriptorReadOperation.java b/rxandroidble/src/main/java/com/polidea/rxandroidble2/internal/operations/DescriptorReadOperation.java index aae765e94..99d798000 100644 --- a/rxandroidble/src/main/java/com/polidea/rxandroidble2/internal/operations/DescriptorReadOperation.java +++ b/rxandroidble/src/main/java/com/polidea/rxandroidble2/internal/operations/DescriptorReadOperation.java @@ -13,7 +13,7 @@ import bleshadow.javax.inject.Inject; import bleshadow.javax.inject.Named; -import io.reactivex.Single; +import io.reactivex.rxjava3.core.Single; import static com.polidea.rxandroidble2.internal.util.ByteAssociationUtil.descriptorPredicate; diff --git a/rxandroidble/src/main/java/com/polidea/rxandroidble2/internal/operations/DescriptorWriteOperation.java b/rxandroidble/src/main/java/com/polidea/rxandroidble2/internal/operations/DescriptorWriteOperation.java index aff374401..c3d183d2e 100644 --- a/rxandroidble/src/main/java/com/polidea/rxandroidble2/internal/operations/DescriptorWriteOperation.java +++ b/rxandroidble/src/main/java/com/polidea/rxandroidble2/internal/operations/DescriptorWriteOperation.java @@ -12,7 +12,7 @@ import bleshadow.javax.inject.Named; import com.polidea.rxandroidble2.internal.logger.LoggerUtil; -import io.reactivex.Single; +import io.reactivex.rxjava3.core.Single; import static com.polidea.rxandroidble2.internal.util.ByteAssociationUtil.descriptorPredicate; import static com.polidea.rxandroidble2.internal.util.ByteAssociationUtil.getBytesFromAssociation; diff --git a/rxandroidble/src/main/java/com/polidea/rxandroidble2/internal/operations/DisconnectOperation.java b/rxandroidble/src/main/java/com/polidea/rxandroidble2/internal/operations/DisconnectOperation.java index c722f743d..730e546ef 100644 --- a/rxandroidble/src/main/java/com/polidea/rxandroidble2/internal/operations/DisconnectOperation.java +++ b/rxandroidble/src/main/java/com/polidea/rxandroidble2/internal/operations/DisconnectOperation.java @@ -21,14 +21,14 @@ import bleshadow.javax.inject.Inject; import bleshadow.javax.inject.Named; -import io.reactivex.Emitter; -import io.reactivex.ObservableEmitter; -import io.reactivex.Scheduler; -import io.reactivex.Single; -import io.reactivex.SingleObserver; -import io.reactivex.disposables.Disposable; -import io.reactivex.functions.Function; -import io.reactivex.functions.Predicate; +import io.reactivex.rxjava3.core.Emitter; +import io.reactivex.rxjava3.core.ObservableEmitter; +import io.reactivex.rxjava3.core.Scheduler; +import io.reactivex.rxjava3.core.Single; +import io.reactivex.rxjava3.core.SingleObserver; +import io.reactivex.rxjava3.disposables.Disposable; +import io.reactivex.rxjava3.functions.Function; +import io.reactivex.rxjava3.functions.Predicate; import static com.polidea.rxandroidble2.RxBleConnection.RxBleConnectionState.DISCONNECTED; import static com.polidea.rxandroidble2.RxBleConnection.RxBleConnectionState.DISCONNECTING; diff --git a/rxandroidble/src/main/java/com/polidea/rxandroidble2/internal/operations/LegacyScanOperation.java b/rxandroidble/src/main/java/com/polidea/rxandroidble2/internal/operations/LegacyScanOperation.java index d13084542..dd66992c8 100644 --- a/rxandroidble/src/main/java/com/polidea/rxandroidble2/internal/operations/LegacyScanOperation.java +++ b/rxandroidble/src/main/java/com/polidea/rxandroidble2/internal/operations/LegacyScanOperation.java @@ -16,7 +16,7 @@ import java.util.Set; import java.util.UUID; -import io.reactivex.ObservableEmitter; +import io.reactivex.rxjava3.core.ObservableEmitter; public class LegacyScanOperation extends ScanOperation { diff --git a/rxandroidble/src/main/java/com/polidea/rxandroidble2/internal/operations/MtuRequestOperation.java b/rxandroidble/src/main/java/com/polidea/rxandroidble2/internal/operations/MtuRequestOperation.java index 5185ff658..010dca873 100644 --- a/rxandroidble/src/main/java/com/polidea/rxandroidble2/internal/operations/MtuRequestOperation.java +++ b/rxandroidble/src/main/java/com/polidea/rxandroidble2/internal/operations/MtuRequestOperation.java @@ -9,7 +9,7 @@ import bleshadow.javax.inject.Inject; -import io.reactivex.Single; +import io.reactivex.rxjava3.core.Single; @RequiresApi(21 /* Build.VERSION_CODES.LOLLIPOP */) public class MtuRequestOperation extends SingleResponseOperation { diff --git a/rxandroidble/src/main/java/com/polidea/rxandroidble2/internal/operations/Operation.java b/rxandroidble/src/main/java/com/polidea/rxandroidble2/internal/operations/Operation.java index 69a6e5980..ba155fcf5 100644 --- a/rxandroidble/src/main/java/com/polidea/rxandroidble2/internal/operations/Operation.java +++ b/rxandroidble/src/main/java/com/polidea/rxandroidble2/internal/operations/Operation.java @@ -6,7 +6,7 @@ import com.polidea.rxandroidble2.internal.Priority; import com.polidea.rxandroidble2.internal.serialization.QueueReleaseInterface; -import io.reactivex.Observable; +import io.reactivex.rxjava3.core.Observable; @RestrictTo(RestrictTo.Scope.LIBRARY_GROUP) public interface Operation extends Comparable> { diff --git a/rxandroidble/src/main/java/com/polidea/rxandroidble2/internal/operations/OperationsProviderImpl.java b/rxandroidble/src/main/java/com/polidea/rxandroidble2/internal/operations/OperationsProviderImpl.java index 3daa5c6ff..70bfddb14 100644 --- a/rxandroidble/src/main/java/com/polidea/rxandroidble2/internal/operations/OperationsProviderImpl.java +++ b/rxandroidble/src/main/java/com/polidea/rxandroidble2/internal/operations/OperationsProviderImpl.java @@ -18,7 +18,7 @@ import bleshadow.javax.inject.Named; import bleshadow.javax.inject.Provider; -import io.reactivex.Scheduler; +import io.reactivex.rxjava3.core.Scheduler; public class OperationsProviderImpl implements OperationsProvider { diff --git a/rxandroidble/src/main/java/com/polidea/rxandroidble2/internal/operations/ReadRssiOperation.java b/rxandroidble/src/main/java/com/polidea/rxandroidble2/internal/operations/ReadRssiOperation.java index 45370b47f..d4cc583f0 100644 --- a/rxandroidble/src/main/java/com/polidea/rxandroidble2/internal/operations/ReadRssiOperation.java +++ b/rxandroidble/src/main/java/com/polidea/rxandroidble2/internal/operations/ReadRssiOperation.java @@ -10,7 +10,7 @@ import bleshadow.javax.inject.Inject; import bleshadow.javax.inject.Named; -import io.reactivex.Single; +import io.reactivex.rxjava3.core.Single; public class ReadRssiOperation extends SingleResponseOperation { diff --git a/rxandroidble/src/main/java/com/polidea/rxandroidble2/internal/operations/ScanOperation.java b/rxandroidble/src/main/java/com/polidea/rxandroidble2/internal/operations/ScanOperation.java index ddd9d2b70..eb4e6071b 100644 --- a/rxandroidble/src/main/java/com/polidea/rxandroidble2/internal/operations/ScanOperation.java +++ b/rxandroidble/src/main/java/com/polidea/rxandroidble2/internal/operations/ScanOperation.java @@ -9,8 +9,8 @@ import com.polidea.rxandroidble2.internal.serialization.QueueReleaseInterface; import com.polidea.rxandroidble2.internal.util.RxBleAdapterWrapper; -import io.reactivex.ObservableEmitter; -import io.reactivex.functions.Cancellable; +import io.reactivex.rxjava3.core.ObservableEmitter; +import io.reactivex.rxjava3.functions.Cancellable; /** * A class that handles starting and stopping BLE scans. diff --git a/rxandroidble/src/main/java/com/polidea/rxandroidble2/internal/operations/ScanOperationApi18.java b/rxandroidble/src/main/java/com/polidea/rxandroidble2/internal/operations/ScanOperationApi18.java index 306b78dfa..182cab160 100644 --- a/rxandroidble/src/main/java/com/polidea/rxandroidble2/internal/operations/ScanOperationApi18.java +++ b/rxandroidble/src/main/java/com/polidea/rxandroidble2/internal/operations/ScanOperationApi18.java @@ -13,7 +13,7 @@ import com.polidea.rxandroidble2.internal.scan.RxBleInternalScanResult; import com.polidea.rxandroidble2.internal.util.RxBleAdapterWrapper; -import io.reactivex.ObservableEmitter; +import io.reactivex.rxjava3.core.ObservableEmitter; public class ScanOperationApi18 extends ScanOperation { diff --git a/rxandroidble/src/main/java/com/polidea/rxandroidble2/internal/operations/ScanOperationApi21.java b/rxandroidble/src/main/java/com/polidea/rxandroidble2/internal/operations/ScanOperationApi21.java index 13f13940a..d8416805e 100644 --- a/rxandroidble/src/main/java/com/polidea/rxandroidble2/internal/operations/ScanOperationApi21.java +++ b/rxandroidble/src/main/java/com/polidea/rxandroidble2/internal/operations/ScanOperationApi21.java @@ -23,7 +23,7 @@ import java.util.Arrays; import java.util.List; -import io.reactivex.ObservableEmitter; +import io.reactivex.rxjava3.core.ObservableEmitter; @RequiresApi(21 /* Build.VERSION_CODES.LOLLIPOP */) public class ScanOperationApi21 extends ScanOperation { diff --git a/rxandroidble/src/main/java/com/polidea/rxandroidble2/internal/operations/ServiceDiscoveryOperation.java b/rxandroidble/src/main/java/com/polidea/rxandroidble2/internal/operations/ServiceDiscoveryOperation.java index da290c36f..01b85a4af 100644 --- a/rxandroidble/src/main/java/com/polidea/rxandroidble2/internal/operations/ServiceDiscoveryOperation.java +++ b/rxandroidble/src/main/java/com/polidea/rxandroidble2/internal/operations/ServiceDiscoveryOperation.java @@ -16,11 +16,12 @@ import java.util.concurrent.TimeUnit; import java.util.concurrent.TimeoutException; -import io.reactivex.Scheduler; -import io.reactivex.Single; -import io.reactivex.SingleSource; -import io.reactivex.functions.Consumer; -import io.reactivex.functions.Function; +import io.reactivex.rxjava3.core.Scheduler; +import io.reactivex.rxjava3.core.Single; +import io.reactivex.rxjava3.core.SingleSource; +import io.reactivex.rxjava3.functions.Consumer; +import io.reactivex.rxjava3.functions.Function; +import io.reactivex.rxjava3.functions.Supplier; public class ServiceDiscoveryOperation extends SingleResponseOperation { @@ -74,9 +75,9 @@ protected Single timeoutFallbackProcedure( final RxBleGattCallback rxBleGattCallback, final Scheduler timeoutScheduler ) { - return Single.defer(new Callable>() { + return Single.defer(new Supplier>() { @Override - public SingleSource call() { + public SingleSource get() { final List services = bluetoothGatt.getServices(); if (services.size() == 0) { // if after the timeout services are empty we have no other option to declare a failed discovery @@ -106,6 +107,7 @@ public RxBleDeviceServices call() { } @Override + @NonNull public String toString() { return "ServiceDiscoveryOperation{" + super.toString() + '}'; } diff --git a/rxandroidble/src/main/java/com/polidea/rxandroidble2/internal/operations/TimeoutConfiguration.java b/rxandroidble/src/main/java/com/polidea/rxandroidble2/internal/operations/TimeoutConfiguration.java index 8ed78eba8..6de47a1fa 100644 --- a/rxandroidble/src/main/java/com/polidea/rxandroidble2/internal/operations/TimeoutConfiguration.java +++ b/rxandroidble/src/main/java/com/polidea/rxandroidble2/internal/operations/TimeoutConfiguration.java @@ -2,7 +2,7 @@ import java.util.concurrent.TimeUnit; -import io.reactivex.Scheduler; +import io.reactivex.rxjava3.core.Scheduler; public class TimeoutConfiguration { diff --git a/rxandroidble/src/main/java/com/polidea/rxandroidble2/internal/scan/InternalToExternalScanResultConverter.java b/rxandroidble/src/main/java/com/polidea/rxandroidble2/internal/scan/InternalToExternalScanResultConverter.java index adf48129f..204e4f673 100644 --- a/rxandroidble/src/main/java/com/polidea/rxandroidble2/internal/scan/InternalToExternalScanResultConverter.java +++ b/rxandroidble/src/main/java/com/polidea/rxandroidble2/internal/scan/InternalToExternalScanResultConverter.java @@ -8,7 +8,7 @@ import bleshadow.javax.inject.Inject; -import io.reactivex.functions.Function; +import io.reactivex.rxjava3.functions.Function; @RestrictTo(RestrictTo.Scope.LIBRARY_GROUP) public class InternalToExternalScanResultConverter implements Function { diff --git a/rxandroidble/src/main/java/com/polidea/rxandroidble2/internal/scan/ScanPreconditionsVerifierApi24.java b/rxandroidble/src/main/java/com/polidea/rxandroidble2/internal/scan/ScanPreconditionsVerifierApi24.java index 145f1610e..018341b27 100644 --- a/rxandroidble/src/main/java/com/polidea/rxandroidble2/internal/scan/ScanPreconditionsVerifierApi24.java +++ b/rxandroidble/src/main/java/com/polidea/rxandroidble2/internal/scan/ScanPreconditionsVerifierApi24.java @@ -10,7 +10,7 @@ import bleshadow.javax.inject.Inject; import bleshadow.javax.inject.Named; -import io.reactivex.Scheduler; +import io.reactivex.rxjava3.core.Scheduler; public class ScanPreconditionsVerifierApi24 implements ScanPreconditionsVerifier { diff --git a/rxandroidble/src/main/java/com/polidea/rxandroidble2/internal/scan/ScanSettingsEmulator.java b/rxandroidble/src/main/java/com/polidea/rxandroidble2/internal/scan/ScanSettingsEmulator.java index 1269df6fe..85b4c7412 100644 --- a/rxandroidble/src/main/java/com/polidea/rxandroidble2/internal/scan/ScanSettingsEmulator.java +++ b/rxandroidble/src/main/java/com/polidea/rxandroidble2/internal/scan/ScanSettingsEmulator.java @@ -13,12 +13,12 @@ import bleshadow.javax.inject.Inject; import bleshadow.javax.inject.Named; -import io.reactivex.Observable; -import io.reactivex.ObservableSource; -import io.reactivex.ObservableTransformer; -import io.reactivex.Scheduler; -import io.reactivex.functions.Function; -import io.reactivex.observables.GroupedObservable; +import io.reactivex.rxjava3.core.Observable; +import io.reactivex.rxjava3.core.ObservableSource; +import io.reactivex.rxjava3.core.ObservableTransformer; +import io.reactivex.rxjava3.core.Scheduler; +import io.reactivex.rxjava3.functions.Function; +import io.reactivex.rxjava3.observables.GroupedObservable; import static com.polidea.rxandroidble2.internal.util.ObservableUtil.identityTransformer; diff --git a/rxandroidble/src/main/java/com/polidea/rxandroidble2/internal/scan/ScanSetup.java b/rxandroidble/src/main/java/com/polidea/rxandroidble2/internal/scan/ScanSetup.java index cda71bb3e..664e9d48d 100644 --- a/rxandroidble/src/main/java/com/polidea/rxandroidble2/internal/scan/ScanSetup.java +++ b/rxandroidble/src/main/java/com/polidea/rxandroidble2/internal/scan/ScanSetup.java @@ -5,7 +5,7 @@ import com.polidea.rxandroidble2.internal.operations.Operation; -import io.reactivex.ObservableTransformer; +import io.reactivex.rxjava3.core.ObservableTransformer; @RestrictTo(RestrictTo.Scope.LIBRARY_GROUP) public class ScanSetup { diff --git a/rxandroidble/src/main/java/com/polidea/rxandroidble2/internal/scan/ScanSetupBuilderImplApi18.java b/rxandroidble/src/main/java/com/polidea/rxandroidble2/internal/scan/ScanSetupBuilderImplApi18.java index cb768690c..e1dfb63a1 100644 --- a/rxandroidble/src/main/java/com/polidea/rxandroidble2/internal/scan/ScanSetupBuilderImplApi18.java +++ b/rxandroidble/src/main/java/com/polidea/rxandroidble2/internal/scan/ScanSetupBuilderImplApi18.java @@ -10,8 +10,8 @@ import bleshadow.javax.inject.Inject; -import io.reactivex.Observable; -import io.reactivex.ObservableTransformer; +import io.reactivex.rxjava3.core.Observable; +import io.reactivex.rxjava3.core.ObservableTransformer; @RestrictTo(RestrictTo.Scope.LIBRARY_GROUP) public class ScanSetupBuilderImplApi18 implements ScanSetupBuilder { diff --git a/rxandroidble/src/main/java/com/polidea/rxandroidble2/internal/scan/ScanSetupBuilderImplApi21.java b/rxandroidble/src/main/java/com/polidea/rxandroidble2/internal/scan/ScanSetupBuilderImplApi21.java index b32217453..b0d75d6d7 100644 --- a/rxandroidble/src/main/java/com/polidea/rxandroidble2/internal/scan/ScanSetupBuilderImplApi21.java +++ b/rxandroidble/src/main/java/com/polidea/rxandroidble2/internal/scan/ScanSetupBuilderImplApi21.java @@ -11,7 +11,7 @@ import bleshadow.javax.inject.Inject; -import io.reactivex.ObservableTransformer; +import io.reactivex.rxjava3.core.ObservableTransformer; @RestrictTo(RestrictTo.Scope.LIBRARY_GROUP) public class ScanSetupBuilderImplApi21 implements ScanSetupBuilder { diff --git a/rxandroidble/src/main/java/com/polidea/rxandroidble2/internal/scan/ScanSetupBuilderImplApi23.java b/rxandroidble/src/main/java/com/polidea/rxandroidble2/internal/scan/ScanSetupBuilderImplApi23.java index d02872e0c..bca0f3e0c 100644 --- a/rxandroidble/src/main/java/com/polidea/rxandroidble2/internal/scan/ScanSetupBuilderImplApi23.java +++ b/rxandroidble/src/main/java/com/polidea/rxandroidble2/internal/scan/ScanSetupBuilderImplApi23.java @@ -13,7 +13,7 @@ import bleshadow.javax.inject.Inject; -import io.reactivex.ObservableTransformer; +import io.reactivex.rxjava3.core.ObservableTransformer; @RestrictTo(RestrictTo.Scope.LIBRARY_GROUP) public class ScanSetupBuilderImplApi23 implements ScanSetupBuilder { diff --git a/rxandroidble/src/main/java/com/polidea/rxandroidble2/internal/serialization/ClientOperationQueue.java b/rxandroidble/src/main/java/com/polidea/rxandroidble2/internal/serialization/ClientOperationQueue.java index 888d0ae19..98df03b9e 100644 --- a/rxandroidble/src/main/java/com/polidea/rxandroidble2/internal/serialization/ClientOperationQueue.java +++ b/rxandroidble/src/main/java/com/polidea/rxandroidble2/internal/serialization/ClientOperationQueue.java @@ -2,7 +2,7 @@ import com.polidea.rxandroidble2.internal.operations.Operation; -import io.reactivex.Observable; +import io.reactivex.rxjava3.core.Observable; /** * Interface used for serialization of {@link Operation} execution. diff --git a/rxandroidble/src/main/java/com/polidea/rxandroidble2/internal/serialization/ClientOperationQueueImpl.java b/rxandroidble/src/main/java/com/polidea/rxandroidble2/internal/serialization/ClientOperationQueueImpl.java index 4d99110b2..c82489fcd 100644 --- a/rxandroidble/src/main/java/com/polidea/rxandroidble2/internal/serialization/ClientOperationQueueImpl.java +++ b/rxandroidble/src/main/java/com/polidea/rxandroidble2/internal/serialization/ClientOperationQueueImpl.java @@ -9,12 +9,12 @@ import bleshadow.javax.inject.Inject; import bleshadow.javax.inject.Named; -import io.reactivex.Observable; -import io.reactivex.ObservableEmitter; -import io.reactivex.ObservableOnSubscribe; -import io.reactivex.Scheduler; -import io.reactivex.disposables.Disposables; -import io.reactivex.functions.Action; +import io.reactivex.rxjava3.core.Observable; +import io.reactivex.rxjava3.core.ObservableEmitter; +import io.reactivex.rxjava3.core.ObservableOnSubscribe; +import io.reactivex.rxjava3.core.Scheduler; +import io.reactivex.rxjava3.disposables.Disposable; +import io.reactivex.rxjava3.functions.Action; import static com.polidea.rxandroidble2.internal.logger.LoggerUtil.logOperationFinished; import static com.polidea.rxandroidble2.internal.logger.LoggerUtil.logOperationQueued; import static com.polidea.rxandroidble2.internal.logger.LoggerUtil.logOperationRemoved; @@ -63,7 +63,7 @@ public Observable queue(final Operation operation) { public void subscribe(ObservableEmitter tEmitter) { final FIFORunnableEntry entry = new FIFORunnableEntry<>(operation, tEmitter); - tEmitter.setDisposable(Disposables.fromAction(new Action() { + tEmitter.setDisposable(Disposable.fromAction(new Action() { @Override public void run() { if (queue.remove(entry)) { diff --git a/rxandroidble/src/main/java/com/polidea/rxandroidble2/internal/serialization/ConnectionOperationQueueImpl.java b/rxandroidble/src/main/java/com/polidea/rxandroidble2/internal/serialization/ConnectionOperationQueueImpl.java index cb78c1ac0..a4e323dd5 100644 --- a/rxandroidble/src/main/java/com/polidea/rxandroidble2/internal/serialization/ConnectionOperationQueueImpl.java +++ b/rxandroidble/src/main/java/com/polidea/rxandroidble2/internal/serialization/ConnectionOperationQueueImpl.java @@ -18,12 +18,12 @@ import bleshadow.javax.inject.Inject; import bleshadow.javax.inject.Named; -import io.reactivex.Observable; -import io.reactivex.ObservableEmitter; -import io.reactivex.ObservableOnSubscribe; -import io.reactivex.Scheduler; -import io.reactivex.functions.Cancellable; -import io.reactivex.observers.DisposableObserver; +import io.reactivex.rxjava3.core.Observable; +import io.reactivex.rxjava3.core.ObservableEmitter; +import io.reactivex.rxjava3.core.ObservableOnSubscribe; +import io.reactivex.rxjava3.core.Scheduler; +import io.reactivex.rxjava3.functions.Cancellable; +import io.reactivex.rxjava3.observers.DisposableObserver; import static com.polidea.rxandroidble2.internal.logger.LoggerUtil.commonMacMessage; import static com.polidea.rxandroidble2.internal.logger.LoggerUtil.logOperationFinished; diff --git a/rxandroidble/src/main/java/com/polidea/rxandroidble2/internal/serialization/FIFORunnableEntry.java b/rxandroidble/src/main/java/com/polidea/rxandroidble2/internal/serialization/FIFORunnableEntry.java index 84474a760..4cb5ee325 100644 --- a/rxandroidble/src/main/java/com/polidea/rxandroidble2/internal/serialization/FIFORunnableEntry.java +++ b/rxandroidble/src/main/java/com/polidea/rxandroidble2/internal/serialization/FIFORunnableEntry.java @@ -8,10 +8,10 @@ import com.polidea.rxandroidble2.internal.logger.LoggerUtil; import java.util.concurrent.atomic.AtomicLong; -import io.reactivex.ObservableEmitter; -import io.reactivex.Observer; -import io.reactivex.Scheduler; -import io.reactivex.disposables.Disposable; +import io.reactivex.rxjava3.core.ObservableEmitter; +import io.reactivex.rxjava3.core.Observer; +import io.reactivex.rxjava3.core.Scheduler; +import io.reactivex.rxjava3.disposables.Disposable; class FIFORunnableEntry implements Comparable { diff --git a/rxandroidble/src/main/java/com/polidea/rxandroidble2/internal/serialization/RxBleThreadFactory.java b/rxandroidble/src/main/java/com/polidea/rxandroidble2/internal/serialization/RxBleThreadFactory.java index b850db9d1..1401bd4ab 100644 --- a/rxandroidble/src/main/java/com/polidea/rxandroidble2/internal/serialization/RxBleThreadFactory.java +++ b/rxandroidble/src/main/java/com/polidea/rxandroidble2/internal/serialization/RxBleThreadFactory.java @@ -1,6 +1,6 @@ package com.polidea.rxandroidble2.internal.serialization; -import io.reactivex.internal.schedulers.NonBlockingThread; +import io.reactivex.rxjava3.internal.schedulers.NonBlockingThread; import java.util.concurrent.ThreadFactory; import java.util.concurrent.atomic.AtomicLong; diff --git a/rxandroidble/src/main/java/com/polidea/rxandroidble2/internal/util/ActiveCharacteristicNotification.java b/rxandroidble/src/main/java/com/polidea/rxandroidble2/internal/util/ActiveCharacteristicNotification.java index 697b44222..7d44d5d58 100644 --- a/rxandroidble/src/main/java/com/polidea/rxandroidble2/internal/util/ActiveCharacteristicNotification.java +++ b/rxandroidble/src/main/java/com/polidea/rxandroidble2/internal/util/ActiveCharacteristicNotification.java @@ -1,7 +1,7 @@ package com.polidea.rxandroidble2.internal.util; -import io.reactivex.Observable; +import io.reactivex.rxjava3.core.Observable; public class ActiveCharacteristicNotification { diff --git a/rxandroidble/src/main/java/com/polidea/rxandroidble2/internal/util/ByteAssociationUtil.java b/rxandroidble/src/main/java/com/polidea/rxandroidble2/internal/util/ByteAssociationUtil.java index 10a4969f5..80fab30c3 100644 --- a/rxandroidble/src/main/java/com/polidea/rxandroidble2/internal/util/ByteAssociationUtil.java +++ b/rxandroidble/src/main/java/com/polidea/rxandroidble2/internal/util/ByteAssociationUtil.java @@ -4,8 +4,8 @@ import java.util.UUID; -import io.reactivex.functions.Function; -import io.reactivex.functions.Predicate; +import io.reactivex.rxjava3.functions.Function; +import io.reactivex.rxjava3.functions.Predicate; public class ByteAssociationUtil { diff --git a/rxandroidble/src/main/java/com/polidea/rxandroidble2/internal/util/ClientStateObservable.java b/rxandroidble/src/main/java/com/polidea/rxandroidble2/internal/util/ClientStateObservable.java index 27fc3fa1a..39e7befa7 100644 --- a/rxandroidble/src/main/java/com/polidea/rxandroidble2/internal/util/ClientStateObservable.java +++ b/rxandroidble/src/main/java/com/polidea/rxandroidble2/internal/util/ClientStateObservable.java @@ -12,13 +12,13 @@ import bleshadow.javax.inject.Inject; import bleshadow.javax.inject.Named; -import io.reactivex.Observable; -import io.reactivex.Observer; -import io.reactivex.Scheduler; -import io.reactivex.Single; -import io.reactivex.disposables.Disposables; -import io.reactivex.functions.Function; -import io.reactivex.functions.Predicate; +import io.reactivex.rxjava3.core.Observable; +import io.reactivex.rxjava3.core.Observer; +import io.reactivex.rxjava3.core.Scheduler; +import io.reactivex.rxjava3.core.Single; +import io.reactivex.rxjava3.disposables.Disposable; +import io.reactivex.rxjava3.functions.Function; +import io.reactivex.rxjava3.functions.Predicate; /** * The Observable class which emits changes to the Client State. These can be useful for evaluating if particular functionality @@ -85,7 +85,7 @@ static Observable checkAdapterAndServicesState( final Observable locationServicesOkObservable ) { return rxBleAdapterStateObservable - .startWith(rxBleAdapterWrapper.isBluetoothEnabled() + .startWithItem(rxBleAdapterWrapper.isBluetoothEnabled() ? RxBleAdapterStateObservable.BleAdapterState.STATE_ON /* * Actual RxBleAdapterStateObservable.BleAdapterState does not really matter - because in the .switchMap() below @@ -114,7 +114,7 @@ public RxBleClient.State apply(Boolean locationServicesOk) { @Override protected void subscribeActual(Observer observer) { if (!rxBleAdapterWrapper.hasBluetoothAdapter()) { - observer.onSubscribe(Disposables.empty()); + observer.onSubscribe(Disposable.empty()); observer.onComplete(); return; } diff --git a/rxandroidble/src/main/java/com/polidea/rxandroidble2/internal/util/DisposableUtil.java b/rxandroidble/src/main/java/com/polidea/rxandroidble2/internal/util/DisposableUtil.java index 4db837a99..599d22412 100644 --- a/rxandroidble/src/main/java/com/polidea/rxandroidble2/internal/util/DisposableUtil.java +++ b/rxandroidble/src/main/java/com/polidea/rxandroidble2/internal/util/DisposableUtil.java @@ -1,9 +1,9 @@ package com.polidea.rxandroidble2.internal.util; -import io.reactivex.ObservableEmitter; -import io.reactivex.SingleEmitter; -import io.reactivex.observers.DisposableObserver; -import io.reactivex.observers.DisposableSingleObserver; +import io.reactivex.rxjava3.core.ObservableEmitter; +import io.reactivex.rxjava3.core.SingleEmitter; +import io.reactivex.rxjava3.observers.DisposableObserver; +import io.reactivex.rxjava3.observers.DisposableSingleObserver; public class DisposableUtil { diff --git a/rxandroidble/src/main/java/com/polidea/rxandroidble2/internal/util/LocationServicesOkObservableApi23Factory.java b/rxandroidble/src/main/java/com/polidea/rxandroidble2/internal/util/LocationServicesOkObservableApi23Factory.java index 417abc776..dda2e2ed3 100644 --- a/rxandroidble/src/main/java/com/polidea/rxandroidble2/internal/util/LocationServicesOkObservableApi23Factory.java +++ b/rxandroidble/src/main/java/com/polidea/rxandroidble2/internal/util/LocationServicesOkObservableApi23Factory.java @@ -8,11 +8,11 @@ import android.location.LocationManager; import bleshadow.javax.inject.Inject; -import io.reactivex.Observable; -import io.reactivex.ObservableEmitter; -import io.reactivex.ObservableOnSubscribe; -import io.reactivex.functions.Cancellable; -import io.reactivex.schedulers.Schedulers; +import io.reactivex.rxjava3.core.Observable; +import io.reactivex.rxjava3.core.ObservableEmitter; +import io.reactivex.rxjava3.core.ObservableOnSubscribe; +import io.reactivex.rxjava3.functions.Cancellable; +import io.reactivex.rxjava3.schedulers.Schedulers; @TargetApi(19 /* Build.VERSION_CODES.KITKAT */) public class LocationServicesOkObservableApi23Factory { diff --git a/rxandroidble/src/main/java/com/polidea/rxandroidble2/internal/util/ObservableUtil.java b/rxandroidble/src/main/java/com/polidea/rxandroidble2/internal/util/ObservableUtil.java index b31294816..8c05cbb02 100644 --- a/rxandroidble/src/main/java/com/polidea/rxandroidble2/internal/util/ObservableUtil.java +++ b/rxandroidble/src/main/java/com/polidea/rxandroidble2/internal/util/ObservableUtil.java @@ -1,8 +1,8 @@ package com.polidea.rxandroidble2.internal.util; -import io.reactivex.Observable; -import io.reactivex.ObservableTransformer; +import io.reactivex.rxjava3.core.Observable; +import io.reactivex.rxjava3.core.ObservableTransformer; public class ObservableUtil { @@ -19,7 +19,7 @@ private ObservableUtil() { } public static Observable justOnNext(T onNext) { - return Observable.never().startWith(onNext); + return Observable.never().startWithItem(onNext); } @SuppressWarnings("unchecked") diff --git a/rxandroidble/src/main/java/com/polidea/rxandroidble2/internal/util/QueueReleasingEmitterWrapper.java b/rxandroidble/src/main/java/com/polidea/rxandroidble2/internal/util/QueueReleasingEmitterWrapper.java index bf9c43408..3372e93f0 100644 --- a/rxandroidble/src/main/java/com/polidea/rxandroidble2/internal/util/QueueReleasingEmitterWrapper.java +++ b/rxandroidble/src/main/java/com/polidea/rxandroidble2/internal/util/QueueReleasingEmitterWrapper.java @@ -6,11 +6,11 @@ import java.util.concurrent.atomic.AtomicBoolean; -import io.reactivex.Emitter; -import io.reactivex.ObservableEmitter; -import io.reactivex.Observer; -import io.reactivex.disposables.Disposable; -import io.reactivex.functions.Cancellable; +import io.reactivex.rxjava3.core.Emitter; +import io.reactivex.rxjava3.core.ObservableEmitter; +import io.reactivex.rxjava3.core.Observer; +import io.reactivex.rxjava3.disposables.Disposable; +import io.reactivex.rxjava3.functions.Cancellable; /** * A convenience class to use in {@link QueueOperation} subclasses. It wraps the {@link Emitter} diff --git a/rxandroidble/src/main/java/com/polidea/rxandroidble2/utils/ConnectionSharingAdapter.java b/rxandroidble/src/main/java/com/polidea/rxandroidble2/utils/ConnectionSharingAdapter.java index 1d9c817b2..a6346e886 100644 --- a/rxandroidble/src/main/java/com/polidea/rxandroidble2/utils/ConnectionSharingAdapter.java +++ b/rxandroidble/src/main/java/com/polidea/rxandroidble2/utils/ConnectionSharingAdapter.java @@ -4,10 +4,10 @@ import java.util.concurrent.atomic.AtomicReference; -import io.reactivex.Observable; -import io.reactivex.ObservableSource; -import io.reactivex.ObservableTransformer; -import io.reactivex.functions.Action; +import io.reactivex.rxjava3.core.Observable; +import io.reactivex.rxjava3.core.ObservableSource; +import io.reactivex.rxjava3.core.ObservableTransformer; +import io.reactivex.rxjava3.functions.Action; /** * Observable transformer that can be used to share connection between many subscribers. diff --git a/rxandroidble/src/test/groovy/com/polidea/rxandroidble2/RxBleClientTest.groovy b/rxandroidble/src/test/groovy/com/polidea/rxandroidble2/RxBleClientTest.groovy index a8df0f0e5..fa511fc23 100644 --- a/rxandroidble/src/test/groovy/com/polidea/rxandroidble2/RxBleClientTest.groovy +++ b/rxandroidble/src/test/groovy/com/polidea/rxandroidble2/RxBleClientTest.groovy @@ -13,12 +13,12 @@ import com.polidea.rxandroidble2.internal.util.ClientStateObservable import com.polidea.rxandroidble2.internal.util.UUIDUtil import com.polidea.rxandroidble2.scan.BackgroundScanner import com.polidea.rxandroidble2.scan.ScanSettings -import io.reactivex.Observable -import io.reactivex.ObservableSource -import io.reactivex.ObservableTransformer -import io.reactivex.annotations.NonNull -import io.reactivex.observers.TestObserver -import io.reactivex.schedulers.TestScheduler +import io.reactivex.rxjava3.core.Observable +import io.reactivex.rxjava3.core.ObservableSource +import io.reactivex.rxjava3.core.ObservableTransformer +import io.reactivex.rxjava3.annotations.NonNull +import io.reactivex.rxjava3.observers.TestObserver +import io.reactivex.rxjava3.schedulers.TestScheduler import spock.lang.Specification import spock.lang.Unroll diff --git a/rxandroidble/src/test/groovy/com/polidea/rxandroidble2/internal/util/MockOperationTimeoutConfiguration.java b/rxandroidble/src/test/groovy/com/polidea/rxandroidble2/internal/util/MockOperationTimeoutConfiguration.java index d3c0e0bfa..dc78fd5c2 100644 --- a/rxandroidble/src/test/groovy/com/polidea/rxandroidble2/internal/util/MockOperationTimeoutConfiguration.java +++ b/rxandroidble/src/test/groovy/com/polidea/rxandroidble2/internal/util/MockOperationTimeoutConfiguration.java @@ -4,7 +4,7 @@ import java.util.concurrent.TimeUnit; -import io.reactivex.Scheduler; +import io.reactivex.rxjava3.core.Scheduler; public class MockOperationTimeoutConfiguration extends TimeoutConfiguration { diff --git a/sample-kotlin/build.gradle b/sample-kotlin/build.gradle index 5848238ef..be362633e 100644 --- a/sample-kotlin/build.gradle +++ b/sample-kotlin/build.gradle @@ -54,7 +54,7 @@ dependencies { // RxJava implementation rootProject.ext.libs.rxjava implementation rootProject.ext.libs.rxandroid - implementation 'io.reactivex.rxjava2:rxkotlin:2.4.0' + implementation 'io.reactivex.rxjava3:rxkotlin:3.0.0' // Replaying share implementation rootProject.ext.libs.rxjava_replayingshare diff --git a/sample-kotlin/src/main/kotlin/com/polidea/rxandroidble2/samplekotlin/example1_scanning/ScanActivity.kt b/sample-kotlin/src/main/kotlin/com/polidea/rxandroidble2/samplekotlin/example1_scanning/ScanActivity.kt index a943260d8..c25b84d7a 100644 --- a/sample-kotlin/src/main/kotlin/com/polidea/rxandroidble2/samplekotlin/example1_scanning/ScanActivity.kt +++ b/sample-kotlin/src/main/kotlin/com/polidea/rxandroidble2/samplekotlin/example1_scanning/ScanActivity.kt @@ -13,9 +13,9 @@ import com.polidea.rxandroidble2.samplekotlin.util.showError import com.polidea.rxandroidble2.scan.ScanFilter import com.polidea.rxandroidble2.scan.ScanResult import com.polidea.rxandroidble2.scan.ScanSettings -import io.reactivex.Observable -import io.reactivex.android.schedulers.AndroidSchedulers -import io.reactivex.disposables.Disposable +import io.reactivex.rxjava3.core.Observable +import io.reactivex.rxjava3.android.schedulers.AndroidSchedulers +import io.reactivex.rxjava3.disposables.Disposable import kotlinx.android.synthetic.main.activity_example1.background_scan_btn import kotlinx.android.synthetic.main.activity_example1.scan_results import kotlinx.android.synthetic.main.activity_example1.scan_toggle_btn diff --git a/sample-kotlin/src/main/kotlin/com/polidea/rxandroidble2/samplekotlin/example2_connection/ConnectionExampleActivity.kt b/sample-kotlin/src/main/kotlin/com/polidea/rxandroidble2/samplekotlin/example2_connection/ConnectionExampleActivity.kt index 9a1e14b41..4a865e314 100644 --- a/sample-kotlin/src/main/kotlin/com/polidea/rxandroidble2/samplekotlin/example2_connection/ConnectionExampleActivity.kt +++ b/sample-kotlin/src/main/kotlin/com/polidea/rxandroidble2/samplekotlin/example2_connection/ConnectionExampleActivity.kt @@ -12,9 +12,9 @@ import com.polidea.rxandroidble2.samplekotlin.R import com.polidea.rxandroidble2.samplekotlin.SampleApplication import com.polidea.rxandroidble2.samplekotlin.util.isConnected import com.polidea.rxandroidble2.samplekotlin.util.showSnackbarShort -import io.reactivex.android.schedulers.AndroidSchedulers -import io.reactivex.disposables.CompositeDisposable -import io.reactivex.disposables.Disposable +import io.reactivex.rxjava3.android.schedulers.AndroidSchedulers +import io.reactivex.rxjava3.disposables.CompositeDisposable +import io.reactivex.rxjava3.disposables.Disposable import kotlinx.android.synthetic.main.activity_example2.autoconnect import kotlinx.android.synthetic.main.activity_example2.connect_toggle import kotlinx.android.synthetic.main.activity_example2.connection_state diff --git a/sample-kotlin/src/main/kotlin/com/polidea/rxandroidble2/samplekotlin/example3_discovery/ServiceDiscoveryExampleActivity.kt b/sample-kotlin/src/main/kotlin/com/polidea/rxandroidble2/samplekotlin/example3_discovery/ServiceDiscoveryExampleActivity.kt index a19975393..e516cb8f9 100644 --- a/sample-kotlin/src/main/kotlin/com/polidea/rxandroidble2/samplekotlin/example3_discovery/ServiceDiscoveryExampleActivity.kt +++ b/sample-kotlin/src/main/kotlin/com/polidea/rxandroidble2/samplekotlin/example3_discovery/ServiceDiscoveryExampleActivity.kt @@ -11,8 +11,8 @@ import com.polidea.rxandroidble2.samplekotlin.example3_discovery.DiscoveryResult import com.polidea.rxandroidble2.samplekotlin.example4_characteristic.CharacteristicOperationExampleActivity import com.polidea.rxandroidble2.samplekotlin.util.isConnected import com.polidea.rxandroidble2.samplekotlin.util.showSnackbarShort -import io.reactivex.android.schedulers.AndroidSchedulers -import io.reactivex.disposables.CompositeDisposable +import io.reactivex.rxjava3.android.schedulers.AndroidSchedulers +import io.reactivex.rxjava3.disposables.CompositeDisposable import kotlinx.android.synthetic.main.activity_example3.connect import kotlinx.android.synthetic.main.activity_example3.scan_results diff --git a/sample-kotlin/src/main/kotlin/com/polidea/rxandroidble2/samplekotlin/example4_characteristic/CharacteristicOperationExampleActivity.kt b/sample-kotlin/src/main/kotlin/com/polidea/rxandroidble2/samplekotlin/example4_characteristic/CharacteristicOperationExampleActivity.kt index cb011110c..43c1cefb4 100644 --- a/sample-kotlin/src/main/kotlin/com/polidea/rxandroidble2/samplekotlin/example4_characteristic/CharacteristicOperationExampleActivity.kt +++ b/sample-kotlin/src/main/kotlin/com/polidea/rxandroidble2/samplekotlin/example4_characteristic/CharacteristicOperationExampleActivity.kt @@ -6,7 +6,7 @@ import android.content.Intent import android.os.Bundle import android.util.Log import androidx.appcompat.app.AppCompatActivity -import com.jakewharton.rx.ReplayingShare +import com.jakewharton.rx3.ReplayingShare import com.polidea.rxandroidble2.RxBleConnection import com.polidea.rxandroidble2.RxBleDevice import com.polidea.rxandroidble2.samplekotlin.R @@ -15,10 +15,10 @@ import com.polidea.rxandroidble2.samplekotlin.util.hasProperty import com.polidea.rxandroidble2.samplekotlin.util.isConnected import com.polidea.rxandroidble2.samplekotlin.util.showSnackbarShort import com.polidea.rxandroidble2.samplekotlin.util.toHex -import io.reactivex.Observable -import io.reactivex.android.schedulers.AndroidSchedulers -import io.reactivex.disposables.CompositeDisposable -import io.reactivex.subjects.PublishSubject +import io.reactivex.rxjava3.core.Observable +import io.reactivex.rxjava3.android.schedulers.AndroidSchedulers +import io.reactivex.rxjava3.disposables.CompositeDisposable +import io.reactivex.rxjava3.subjects.PublishSubject import kotlinx.android.synthetic.main.activity_example4.connect import kotlinx.android.synthetic.main.activity_example4.notify import kotlinx.android.synthetic.main.activity_example4.read diff --git a/sample-kotlin/src/main/kotlin/com/polidea/rxandroidble2/samplekotlin/example4_characteristic/advanced/AdvancedCharacteristicOperationExampleActivity.kt b/sample-kotlin/src/main/kotlin/com/polidea/rxandroidble2/samplekotlin/example4_characteristic/advanced/AdvancedCharacteristicOperationExampleActivity.kt index 39eb06911..7895793e6 100644 --- a/sample-kotlin/src/main/kotlin/com/polidea/rxandroidble2/samplekotlin/example4_characteristic/advanced/AdvancedCharacteristicOperationExampleActivity.kt +++ b/sample-kotlin/src/main/kotlin/com/polidea/rxandroidble2/samplekotlin/example4_characteristic/advanced/AdvancedCharacteristicOperationExampleActivity.kt @@ -8,15 +8,15 @@ import android.view.View import android.widget.Button import androidx.annotation.StringRes import androidx.appcompat.app.AppCompatActivity -import com.jakewharton.rxbinding3.view.clicks +import com.jakewharton.rxbinding4.view.clicks import com.polidea.rxandroidble2.samplekotlin.R import com.polidea.rxandroidble2.samplekotlin.SampleApplication import com.polidea.rxandroidble2.samplekotlin.util.showSnackbarShort import com.polidea.rxandroidble2.samplekotlin.util.toHex -import io.reactivex.Observable -import io.reactivex.ObservableTransformer -import io.reactivex.android.schedulers.AndroidSchedulers -import io.reactivex.disposables.Disposable +import io.reactivex.rxjava3.core.Observable +import io.reactivex.rxjava3.core.ObservableTransformer +import io.reactivex.rxjava3.android.schedulers.AndroidSchedulers +import io.reactivex.rxjava3.disposables.Disposable import kotlinx.android.synthetic.main.activity_example4_advanced.compat_only_warning import kotlinx.android.synthetic.main.activity_example4_advanced.connect_button import kotlinx.android.synthetic.main.activity_example4_advanced.indicate_button diff --git a/sample-kotlin/src/main/kotlin/com/polidea/rxandroidble2/samplekotlin/example4_characteristic/advanced/Presenter.kt b/sample-kotlin/src/main/kotlin/com/polidea/rxandroidble2/samplekotlin/example4_characteristic/advanced/Presenter.kt index 79b7f9980..00aa97afe 100644 --- a/sample-kotlin/src/main/kotlin/com/polidea/rxandroidble2/samplekotlin/example4_characteristic/advanced/Presenter.kt +++ b/sample-kotlin/src/main/kotlin/com/polidea/rxandroidble2/samplekotlin/example4_characteristic/advanced/Presenter.kt @@ -9,9 +9,9 @@ import com.polidea.rxandroidble2.RxBleDevice import com.polidea.rxandroidble2.samplekotlin.example4_characteristic.advanced.Type.INDICATE import com.polidea.rxandroidble2.samplekotlin.example4_characteristic.advanced.Type.NOTIFY import com.polidea.rxandroidble2.samplekotlin.util.hasProperty -import io.reactivex.Observable -import io.reactivex.ObservableTransformer -import io.reactivex.Single +import io.reactivex.rxjava3.core.Observable +import io.reactivex.rxjava3.core.ObservableTransformer +import io.reactivex.rxjava3.core.Single import java.util.Arrays.asList import java.util.UUID @@ -62,7 +62,7 @@ internal fun prepareActivityLogic( disableNotifyClicks )) // start by informing the Activity that connection is established - .startWith(InfoEvent("Hey, connection has been established!")) + .startWithItem(InfoEvent("Hey, connection has been established!")) } // convenience transformer to close the connection .compose(takeUntil(connectingClicks, disconnectClicks)) @@ -248,7 +248,7 @@ private fun selectNotificationOrIndication( */ .compose(repeatAfterCompleted()) // at the beginning inform the activity about whether compat mode is being used - .startWith( + .startWithItem( CompatibilityModeEvent( characteristic.hasProperty(PROPERTY_NOTIFY or PROPERTY_INDICATE) && mode == NotificationSetupMode.COMPAT diff --git a/sample-kotlin/src/main/kotlin/com/polidea/rxandroidble2/samplekotlin/example5_rssi_periodic/RssiPeriodicExampleActivity.kt b/sample-kotlin/src/main/kotlin/com/polidea/rxandroidble2/samplekotlin/example5_rssi_periodic/RssiPeriodicExampleActivity.kt index 08b8debc1..dc31aad28 100644 --- a/sample-kotlin/src/main/kotlin/com/polidea/rxandroidble2/samplekotlin/example5_rssi_periodic/RssiPeriodicExampleActivity.kt +++ b/sample-kotlin/src/main/kotlin/com/polidea/rxandroidble2/samplekotlin/example5_rssi_periodic/RssiPeriodicExampleActivity.kt @@ -11,9 +11,9 @@ import com.polidea.rxandroidble2.samplekotlin.R import com.polidea.rxandroidble2.samplekotlin.SampleApplication import com.polidea.rxandroidble2.samplekotlin.util.isConnected import com.polidea.rxandroidble2.samplekotlin.util.showSnackbarShort -import io.reactivex.Observable -import io.reactivex.android.schedulers.AndroidSchedulers -import io.reactivex.disposables.Disposable +import io.reactivex.rxjava3.core.Observable +import io.reactivex.rxjava3.android.schedulers.AndroidSchedulers +import io.reactivex.rxjava3.disposables.Disposable import kotlinx.android.synthetic.main.activity_example5.connect_toggle import kotlinx.android.synthetic.main.activity_example5.connection_state import kotlinx.android.synthetic.main.activity_example5.rssi diff --git a/sample-kotlin/src/main/kotlin/com/polidea/rxandroidble2/samplekotlin/example7_long_write/LongWriteExampleActivity.kt b/sample-kotlin/src/main/kotlin/com/polidea/rxandroidble2/samplekotlin/example7_long_write/LongWriteExampleActivity.kt index c84c86bd1..dab3ba9e3 100644 --- a/sample-kotlin/src/main/kotlin/com/polidea/rxandroidble2/samplekotlin/example7_long_write/LongWriteExampleActivity.kt +++ b/sample-kotlin/src/main/kotlin/com/polidea/rxandroidble2/samplekotlin/example7_long_write/LongWriteExampleActivity.kt @@ -6,9 +6,9 @@ import android.os.Bundle import androidx.appcompat.app.AppCompatActivity import com.polidea.rxandroidble2.RxBleConnection import com.polidea.rxandroidble2.samplekotlin.SampleApplication -import io.reactivex.Observable -import io.reactivex.disposables.Disposable -import io.reactivex.rxkotlin.Observables +import io.reactivex.rxjava3.core.Observable +import io.reactivex.rxjava3.disposables.Disposable +import io.reactivex.rxjava3.kotlin.Observables import java.util.UUID private const val DUMMY_DEVICE_ADDRESS = "AA:AA:AA:AA:AA:AA" diff --git a/sample-kotlin/src/test/kotlin/com/polidea/rxandroidble2/samplekotlin/example4_characteristic/advanced/PresenterTest.kt b/sample-kotlin/src/test/kotlin/com/polidea/rxandroidble2/samplekotlin/example4_characteristic/advanced/PresenterTest.kt index 588cbd900..b1e377ce8 100644 --- a/sample-kotlin/src/test/kotlin/com/polidea/rxandroidble2/samplekotlin/example4_characteristic/advanced/PresenterTest.kt +++ b/sample-kotlin/src/test/kotlin/com/polidea/rxandroidble2/samplekotlin/example4_characteristic/advanced/PresenterTest.kt @@ -8,8 +8,8 @@ import android.os.Build import com.polidea.rxandroidble2.RxBleDevice import com.polidea.rxandroidble2.mockrxandroidble.RxBleClientMock import com.polidea.rxandroidble2.samplekotlin.BuildConfig -import io.reactivex.Observable -import io.reactivex.subjects.PublishSubject +import io.reactivex.rxjava3.core.Observable +import io.reactivex.rxjava3.subjects.PublishSubject import org.junit.* import org.junit.runner.* import org.robolectric.RobolectricTestRunner diff --git a/sample/src/main/java/com/polidea/rxandroidble2/sample/SampleApplication.java b/sample/src/main/java/com/polidea/rxandroidble2/sample/SampleApplication.java index 93dfb3ff2..ae1c7643b 100644 --- a/sample/src/main/java/com/polidea/rxandroidble2/sample/SampleApplication.java +++ b/sample/src/main/java/com/polidea/rxandroidble2/sample/SampleApplication.java @@ -9,7 +9,7 @@ import com.polidea.rxandroidble2.RxBleClient; import com.polidea.rxandroidble2.exceptions.BleException; import io.reactivex.exceptions.UndeliverableException; -import io.reactivex.plugins.RxJavaPlugins; +import io.reactivex.rxjava3.plugins.RxJavaPlugins; public class SampleApplication extends Application { diff --git a/sample/src/main/java/com/polidea/rxandroidble2/sample/example1_scanning/ScanActivity.java b/sample/src/main/java/com/polidea/rxandroidble2/sample/example1_scanning/ScanActivity.java index beae9e285..1de38165c 100644 --- a/sample/src/main/java/com/polidea/rxandroidble2/sample/example1_scanning/ScanActivity.java +++ b/sample/src/main/java/com/polidea/rxandroidble2/sample/example1_scanning/ScanActivity.java @@ -23,8 +23,8 @@ import butterknife.BindView; import butterknife.ButterKnife; import butterknife.OnClick; -import io.reactivex.android.schedulers.AndroidSchedulers; -import io.reactivex.disposables.Disposable; +import io.reactivex.rxjava3.android.schedulers.AndroidSchedulers; +import io.reactivex.rxjava3.disposables.Disposable; public class ScanActivity extends AppCompatActivity { diff --git a/sample/src/main/java/com/polidea/rxandroidble2/sample/example2_connection/ConnectionExampleActivity.java b/sample/src/main/java/com/polidea/rxandroidble2/sample/example2_connection/ConnectionExampleActivity.java index df186b02e..3fde81fc9 100644 --- a/sample/src/main/java/com/polidea/rxandroidble2/sample/example2_connection/ConnectionExampleActivity.java +++ b/sample/src/main/java/com/polidea/rxandroidble2/sample/example2_connection/ConnectionExampleActivity.java @@ -18,9 +18,9 @@ import butterknife.BindView; import butterknife.ButterKnife; import butterknife.OnClick; -import io.reactivex.android.schedulers.AndroidSchedulers; -import io.reactivex.disposables.CompositeDisposable; -import io.reactivex.disposables.Disposable; +import io.reactivex.rxjava3.android.schedulers.AndroidSchedulers; +import io.reactivex.rxjava3.disposables.CompositeDisposable; +import io.reactivex.rxjava3.disposables.Disposable; public class ConnectionExampleActivity extends AppCompatActivity { diff --git a/sample/src/main/java/com/polidea/rxandroidble2/sample/example3_discovery/ServiceDiscoveryExampleActivity.java b/sample/src/main/java/com/polidea/rxandroidble2/sample/example3_discovery/ServiceDiscoveryExampleActivity.java index 7526afbe0..cb9b71189 100644 --- a/sample/src/main/java/com/polidea/rxandroidble2/sample/example3_discovery/ServiceDiscoveryExampleActivity.java +++ b/sample/src/main/java/com/polidea/rxandroidble2/sample/example3_discovery/ServiceDiscoveryExampleActivity.java @@ -18,9 +18,9 @@ import butterknife.BindView; import butterknife.ButterKnife; import butterknife.OnClick; -import io.reactivex.android.schedulers.AndroidSchedulers; -import io.reactivex.disposables.CompositeDisposable; -import io.reactivex.disposables.Disposable; +import io.reactivex.rxjava3.android.schedulers.AndroidSchedulers; +import io.reactivex.rxjava3.disposables.CompositeDisposable; +import io.reactivex.rxjava3.disposables.Disposable; public class ServiceDiscoveryExampleActivity extends AppCompatActivity { diff --git a/sample/src/main/java/com/polidea/rxandroidble2/sample/example4_characteristic/CharacteristicOperationExampleActivity.java b/sample/src/main/java/com/polidea/rxandroidble2/sample/example4_characteristic/CharacteristicOperationExampleActivity.java index f8c7d46f3..e316dee95 100644 --- a/sample/src/main/java/com/polidea/rxandroidble2/sample/example4_characteristic/CharacteristicOperationExampleActivity.java +++ b/sample/src/main/java/com/polidea/rxandroidble2/sample/example4_characteristic/CharacteristicOperationExampleActivity.java @@ -10,7 +10,7 @@ import android.widget.Button; import android.widget.TextView; -import com.jakewharton.rx.ReplayingShare; +import com.jakewharton.rx3.ReplayingShare; import com.polidea.rxandroidble2.RxBleConnection; import com.polidea.rxandroidble2.RxBleDevice; import com.polidea.rxandroidble2.sample.DeviceActivity; @@ -23,11 +23,11 @@ import butterknife.BindView; import butterknife.ButterKnife; import butterknife.OnClick; -import io.reactivex.Observable; -import io.reactivex.android.schedulers.AndroidSchedulers; -import io.reactivex.disposables.CompositeDisposable; -import io.reactivex.disposables.Disposable; -import io.reactivex.subjects.PublishSubject; +import io.reactivex.rxjava3.core.Observable; +import io.reactivex.rxjava3.android.schedulers.AndroidSchedulers; +import io.reactivex.rxjava3.disposables.CompositeDisposable; +import io.reactivex.rxjava3.disposables.Disposable; +import io.reactivex.rxjava3.subjects.PublishSubject; public class CharacteristicOperationExampleActivity extends AppCompatActivity { diff --git a/sample/src/main/java/com/polidea/rxandroidble2/sample/example4_characteristic/advanced/AdvancedCharacteristicOperationExampleActivity.java b/sample/src/main/java/com/polidea/rxandroidble2/sample/example4_characteristic/advanced/AdvancedCharacteristicOperationExampleActivity.java index fd77512a0..160c3850b 100644 --- a/sample/src/main/java/com/polidea/rxandroidble2/sample/example4_characteristic/advanced/AdvancedCharacteristicOperationExampleActivity.java +++ b/sample/src/main/java/com/polidea/rxandroidble2/sample/example4_characteristic/advanced/AdvancedCharacteristicOperationExampleActivity.java @@ -12,7 +12,7 @@ import android.widget.Button; import android.widget.TextView; -import com.jakewharton.rxbinding3.view.RxView; +import com.jakewharton.rxbinding4.view.RxView; import com.polidea.rxandroidble2.RxBleDevice; import com.polidea.rxandroidble2.sample.DeviceActivity; import com.polidea.rxandroidble2.sample.R; @@ -23,10 +23,10 @@ import butterknife.BindView; import butterknife.ButterKnife; -import io.reactivex.Observable; -import io.reactivex.ObservableTransformer; -import io.reactivex.android.schedulers.AndroidSchedulers; -import io.reactivex.disposables.Disposable; +import io.reactivex.rxjava3.core.Observable; +import io.reactivex.rxjava3.core.ObservableTransformer; +import io.reactivex.rxjava3.android.schedulers.AndroidSchedulers; +import io.reactivex.rxjava3.disposables.Disposable; /** * This activity allows for connecting to a device and interact with a given characteristic. diff --git a/sample/src/main/java/com/polidea/rxandroidble2/sample/example4_characteristic/advanced/Presenter.java b/sample/src/main/java/com/polidea/rxandroidble2/sample/example4_characteristic/advanced/Presenter.java index 661faa61d..2017c82cb 100644 --- a/sample/src/main/java/com/polidea/rxandroidble2/sample/example4_characteristic/advanced/Presenter.java +++ b/sample/src/main/java/com/polidea/rxandroidble2/sample/example4_characteristic/advanced/Presenter.java @@ -11,9 +11,9 @@ import java.util.UUID; -import io.reactivex.Observable; -import io.reactivex.ObservableTransformer; -import io.reactivex.Single; +import io.reactivex.rxjava3.core.Observable; +import io.reactivex.rxjava3.core.ObservableTransformer; +import io.reactivex.rxjava3.core.Single; import static android.bluetooth.BluetoothGattCharacteristic.PROPERTY_INDICATE; import static android.bluetooth.BluetoothGattCharacteristic.PROPERTY_NOTIFY; @@ -78,7 +78,7 @@ static Observable prepareActivityLogic( notifyAndIndicateObservable ) // start by informing the Activity that connection is established - .startWith(new InfoEvent("Hey, connection has been established!")); + .startWithItem(new InfoEvent("Hey, connection has been established!")); } ) // convenience transformer to close the connection @@ -180,7 +180,7 @@ private static Observable setupNotificationAndIndicationBehaviou */ .compose(repeatAfterCompleted()) // at the beginning inform the activity about whether compat mode is being used - .startWith(new CompatibilityModeEvent( + .startWithItem(new CompatibilityModeEvent( hasProperty(characteristic, PROPERTY_NOTIFY | PROPERTY_INDICATE) && notificationSetupMode == NotificationSetupMode.COMPAT )); diff --git a/sample/src/main/java/com/polidea/rxandroidble2/sample/example5_rssi_periodic/RssiPeriodicExampleActivity.java b/sample/src/main/java/com/polidea/rxandroidble2/sample/example5_rssi_periodic/RssiPeriodicExampleActivity.java index 29f8f1ece..88614621b 100644 --- a/sample/src/main/java/com/polidea/rxandroidble2/sample/example5_rssi_periodic/RssiPeriodicExampleActivity.java +++ b/sample/src/main/java/com/polidea/rxandroidble2/sample/example5_rssi_periodic/RssiPeriodicExampleActivity.java @@ -15,9 +15,9 @@ import butterknife.BindView; import butterknife.ButterKnife; import butterknife.OnClick; -import io.reactivex.Observable; -import io.reactivex.android.schedulers.AndroidSchedulers; -import io.reactivex.disposables.Disposable; +import io.reactivex.rxjava3.core.Observable; +import io.reactivex.rxjava3.android.schedulers.AndroidSchedulers; +import io.reactivex.rxjava3.disposables.Disposable; import static java.util.concurrent.TimeUnit.SECONDS; diff --git a/sample/src/main/java/com/polidea/rxandroidble2/sample/example7_long_write/LongWriteExampleActivity.java b/sample/src/main/java/com/polidea/rxandroidble2/sample/example7_long_write/LongWriteExampleActivity.java index b62b24329..0253d7ba5 100644 --- a/sample/src/main/java/com/polidea/rxandroidble2/sample/example7_long_write/LongWriteExampleActivity.java +++ b/sample/src/main/java/com/polidea/rxandroidble2/sample/example7_long_write/LongWriteExampleActivity.java @@ -11,9 +11,9 @@ import java.util.UUID; -import io.reactivex.Observable; -import io.reactivex.ObservableSource; -import io.reactivex.disposables.Disposable; +import io.reactivex.rxjava3.core.Observable; +import io.reactivex.rxjava3.core.ObservableSource; +import io.reactivex.rxjava3.disposables.Disposable; /** * For the sake of this example lets assume that we have a Bluetooth Device that is retrieved by: