diff --git a/build.gradle b/build.gradle index 154a84e30..8515ae6f5 100644 --- a/build.gradle +++ b/build.gradle @@ -2,17 +2,16 @@ apply from: 'dependencies.gradle' apply from: 'checkstyle.gradle' buildscript { - ext.kotlinVersion = '1.3.31' repositories { google() jcenter() } dependencies { - classpath 'com.android.tools.build:gradle:3.3.2' + classpath 'com.android.tools.build:gradle:3.4.2' classpath 'com.github.ben-manes:gradle-versions-plugin:0.21.0' classpath 'org.codehaus.groovy:groovy-android-gradle-plugin:2.0.1' - classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlinVersion" + classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:1.3.41" } } diff --git a/dagger-compiler-shadow/build.gradle b/dagger-compiler-shadow/build.gradle deleted file mode 100644 index 69d2ba8ce..000000000 --- a/dagger-compiler-shadow/build.gradle +++ /dev/null @@ -1,24 +0,0 @@ -buildscript { - repositories { - jcenter() - } - dependencies { - classpath "com.github.jengelman.gradle.plugins:shadow:$rootProject.ext.shadowPluginVersion" - } -} - -apply plugin: 'java' -apply plugin: 'com.github.johnrengelman.shadow' - -def buildSrcDir = '../gradle' -apply from: "${buildSrcDir}/shadow.gradle" - -import com.github.jengelman.gradle.plugins.shadow.transformers.ServiceFileTransformer -shadowJar { - transform(ServiceFileTransformer) - classifier = '' -} - -dependencies { - implementation rootProject.ext.libs.dagger_compiler -} \ No newline at end of file diff --git a/dagger-library-shadow/build.gradle b/dagger-library-shadow/build.gradle deleted file mode 100644 index c39bd5360..000000000 --- a/dagger-library-shadow/build.gradle +++ /dev/null @@ -1,29 +0,0 @@ -buildscript { - repositories { - jcenter() - } - dependencies { - classpath "com.github.jengelman.gradle.plugins:shadow:$rootProject.ext.shadowPluginVersion" - } -} - -apply plugin: 'java' -apply plugin: 'com.github.johnrengelman.shadow' -apply from: rootProject.file('gradle/gradle-mvn-push.gradle') - -def buildSrcDir = '../gradle' -apply from: "${buildSrcDir}/shadow.gradle" - -import com.github.jengelman.gradle.plugins.shadow.transformers.ServiceFileTransformer -shadowJar { - transform(ServiceFileTransformer) - classifier = '' -} - -artifacts { - archives shadowJar -} - -dependencies { - implementation rootProject.ext.libs.dagger -} \ No newline at end of file diff --git a/dagger-library-shadow/gradle.properties b/dagger-library-shadow/gradle.properties deleted file mode 100644 index 23bd6517f..000000000 --- a/dagger-library-shadow/gradle.properties +++ /dev/null @@ -1,4 +0,0 @@ -POM_ARTIFACT_ID=dagger-library-shadow -POM_NAME=DaggerShadow -POM_PACKAGING=jar -POM_DESCRIPTION=Shadow library for Dagger dependency injection diff --git a/dependencies.gradle b/dependencies.gradle index a70a7f257..4f897098a 100644 --- a/dependencies.gradle +++ b/dependencies.gradle @@ -1,12 +1,9 @@ ext { - rxJavaVersion = '2.2.8' sourceCompatibilityVersion = JavaVersion.VERSION_1_7 targetCompatibilityVersion = JavaVersion.VERSION_1_7 - shadowPluginVersion = '2.0.2' - daggerVersion = '2.15' libs = [ /* Library-only dependencies */ - rxjava : "io.reactivex.rxjava2:rxjava:$rxJavaVersion", + rxjava : "io.reactivex.rxjava2:rxjava:2.2.8", rxandroid : 'io.reactivex.rxjava2:rxandroid:2.1.1', rxrelay : 'com.jakewharton.rxrelay2:rxrelay:2.1.0', junit : 'junit:junit:4.12', @@ -15,8 +12,8 @@ ext { 'cglib:cglib-nodep:3.2.12', 'org.objenesis:objenesis:2.6'], electricspock : 'com.github.hkhc:electricspock:0.9', - dagger : "com.google.dagger:dagger:$daggerVersion", - dagger_compiler : "com.google.dagger:dagger-compiler:$daggerVersion", + dagger : "com.google.dagger:dagger:2.22.1", + dagger_compiler : "com.google.dagger:dagger-compiler:2.22.1", /* Shared library-sample apps dependencies */ annotations : "androidx.annotation:annotation:1.0.2", robolectric : 'org.robolectric:robolectric:3.8', diff --git a/gradle/shadow.gradle b/gradle/shadow.gradle deleted file mode 100644 index 6de2b2c28..000000000 --- a/gradle/shadow.gradle +++ /dev/null @@ -1,4 +0,0 @@ -shadowJar { - relocate 'dagger', 'bleshadow.dagger' - relocate 'javax.inject', 'bleshadow.javax.inject' -} \ No newline at end of file diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index cfa555440..cbbd66d34 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -1,6 +1,6 @@ -#Wed Feb 27 15:06:12 CET 2019 +#Mon Aug 12 10:50:50 CEST 2019 distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-4.10.1-all.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-5.1.1-all.zip 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 35c626b25..dce2e72ad 100644 --- a/mockrxandroidble/src/main/java/com/polidea/rxandroidble2/mockrxandroidble/RxBleConnectionMock.java +++ b/mockrxandroidble/src/main/java/com/polidea/rxandroidble2/mockrxandroidble/RxBleConnectionMock.java @@ -101,6 +101,11 @@ public Single discoverServices(long timeout, @NonNull TimeU return Single.just(rxBleDeviceServices); } + @Override + public Single discoverServices(long timeout, @NonNull TimeUnit timeUnit, Boolean clearCache) { + return Single.just(rxBleDeviceServices); + } + @Override public Single getCharacteristic(@NonNull final UUID characteristicUuid) { return discoverServices() diff --git a/rxandroidble/build.gradle b/rxandroidble/build.gradle index a60384ea8..aa1fecd77 100644 --- a/rxandroidble/build.gradle +++ b/rxandroidble/build.gradle @@ -50,11 +50,11 @@ dependencies { api rootProject.ext.libs.rxjava api rootProject.ext.libs.annotations implementation rootProject.ext.libs.rxrelay - implementation project(path: ':dagger-library-shadow', transitive: false, configuration: 'shadow') - annotationProcessor project(path: ':dagger-compiler-shadow', transitive: false, configuration: 'shadow') + implementation rootProject.ext.libs.dagger + annotationProcessor rootProject.ext.libs.dagger_compiler // Test dependencies - testImplementation project(path: ':dagger-library-shadow', transitive: false, configuration: 'shadow') + testImplementation rootProject.ext.libs.dagger testImplementation rootProject.ext.libs.junit testImplementation rootProject.ext.libs.groovy testImplementation rootProject.ext.libs.spock diff --git a/rxandroidble/src/main/java/com/polidea/rxandroidble2/ClientComponent.java b/rxandroidble/src/main/java/com/polidea/rxandroidble2/ClientComponent.java index 8af37d4cf..23028340d 100644 --- a/rxandroidble/src/main/java/com/polidea/rxandroidble2/ClientComponent.java +++ b/rxandroidble/src/main/java/com/polidea/rxandroidble2/ClientComponent.java @@ -37,13 +37,13 @@ import java.util.concurrent.ExecutorService; import java.util.concurrent.Executors; -import bleshadow.dagger.Binds; -import bleshadow.dagger.BindsInstance; -import bleshadow.dagger.Component; -import bleshadow.dagger.Module; -import bleshadow.dagger.Provides; -import bleshadow.javax.inject.Named; -import bleshadow.javax.inject.Provider; +import dagger.Binds; +import dagger.BindsInstance; +import dagger.Component; +import dagger.Module; +import dagger.Provides; +import javax.inject.Named; +import javax.inject.Provider; import io.reactivex.Observable; import io.reactivex.Scheduler; import io.reactivex.functions.Function; diff --git a/rxandroidble/src/main/java/com/polidea/rxandroidble2/ClientScope.java b/rxandroidble/src/main/java/com/polidea/rxandroidble2/ClientScope.java index 2711762c4..277d39f49 100644 --- a/rxandroidble/src/main/java/com/polidea/rxandroidble2/ClientScope.java +++ b/rxandroidble/src/main/java/com/polidea/rxandroidble2/ClientScope.java @@ -3,7 +3,7 @@ import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; -import bleshadow.javax.inject.Scope; +import javax.inject.Scope; @Scope @Retention(RetentionPolicy.RUNTIME) diff --git a/rxandroidble/src/main/java/com/polidea/rxandroidble2/RxBleAdapterStateObservable.java b/rxandroidble/src/main/java/com/polidea/rxandroidble2/RxBleAdapterStateObservable.java index b1534a491..9bfa668bb 100644 --- a/rxandroidble/src/main/java/com/polidea/rxandroidble2/RxBleAdapterStateObservable.java +++ b/rxandroidble/src/main/java/com/polidea/rxandroidble2/RxBleAdapterStateObservable.java @@ -7,7 +7,7 @@ import android.content.IntentFilter; import androidx.annotation.NonNull; -import bleshadow.javax.inject.Inject; +import javax.inject.Inject; import com.polidea.rxandroidble2.internal.RxBleLog; import io.reactivex.Observable; import io.reactivex.ObservableEmitter; diff --git a/rxandroidble/src/main/java/com/polidea/rxandroidble2/RxBleClientImpl.java b/rxandroidble/src/main/java/com/polidea/rxandroidble2/RxBleClientImpl.java index 5aaabbd2e..019103450 100644 --- a/rxandroidble/src/main/java/com/polidea/rxandroidble2/RxBleClientImpl.java +++ b/rxandroidble/src/main/java/com/polidea/rxandroidble2/RxBleClientImpl.java @@ -33,9 +33,9 @@ import java.util.UUID; import java.util.concurrent.Callable; -import bleshadow.dagger.Lazy; -import bleshadow.javax.inject.Inject; -import bleshadow.javax.inject.Named; +import dagger.Lazy; +import javax.inject.Inject; +import javax.inject.Named; import io.reactivex.Maybe; import io.reactivex.MaybeSource; import io.reactivex.Observable; diff --git a/rxandroidble/src/main/java/com/polidea/rxandroidble2/RxBleConnection.java b/rxandroidble/src/main/java/com/polidea/rxandroidble2/RxBleConnection.java index 8e349082a..572901485 100644 --- a/rxandroidble/src/main/java/com/polidea/rxandroidble2/RxBleConnection.java +++ b/rxandroidble/src/main/java/com/polidea/rxandroidble2/RxBleConnection.java @@ -265,6 +265,28 @@ interface WriteOperationAckStrategy extends ObservableTransformer discoverServices(@IntRange(from = 1) long timeout, @NonNull TimeUnit timeUnit); + /** + * Performs GATT service discovery and emits discovered results. After service discovery you can walk through + * {@link android.bluetooth.BluetoothGattService}s and {@link BluetoothGattCharacteristic}s. + *

+ * Result of the discovery is cached internally so consecutive calls won't trigger BLE operation and can be + * considered relatively lightweight. + * + * Timeouts after specified amount of time. + * + * The cache can be cleared to perform a new Gatt Discover and maybe find a service previously hidden + * + * @param timeout multiplier of TimeUnit after which the discovery will timeout in case of no return values + * @param timeUnit TimeUnit for the timeout + * @param clearCache Flag to ask the cache clearing (Warning, this functionnality can alter the good working of your app + * You should have strong knowledge of how it works) + * @return Observable emitting result a GATT service discovery. + * @throws BleGattCannotStartException with {@link BleGattOperationType#SERVICE_DISCOVERY} type, when it wasn't possible to start + * the discovery for internal reasons. + * @throws BleGattException in case of GATT operation error with {@link BleGattOperationType#SERVICE_DISCOVERY} type. + */ + Single discoverServices(@IntRange(from = 1) long timeout, @NonNull TimeUnit timeUnit, Boolean clearCache); + /** * @see #setupNotification(UUID, NotificationSetupMode) with default setup mode. */ 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..5e0324e78 100644 --- a/rxandroidble/src/main/java/com/polidea/rxandroidble2/helpers/LocationServicesOkObservable.java +++ b/rxandroidble/src/main/java/com/polidea/rxandroidble2/helpers/LocationServicesOkObservable.java @@ -8,8 +8,8 @@ import java.util.UUID; -import bleshadow.javax.inject.Inject; -import bleshadow.javax.inject.Named; +import javax.inject.Inject; +import javax.inject.Named; import io.reactivex.Observable; import io.reactivex.Observer; diff --git a/rxandroidble/src/main/java/com/polidea/rxandroidble2/internal/DeviceComponent.java b/rxandroidble/src/main/java/com/polidea/rxandroidble2/internal/DeviceComponent.java index ecef4dd31..ba7da6199 100644 --- a/rxandroidble/src/main/java/com/polidea/rxandroidble2/internal/DeviceComponent.java +++ b/rxandroidble/src/main/java/com/polidea/rxandroidble2/internal/DeviceComponent.java @@ -4,9 +4,9 @@ import com.polidea.rxandroidble2.RxBleDevice; -import bleshadow.dagger.BindsInstance; -import bleshadow.dagger.Subcomponent; -import bleshadow.javax.inject.Named; +import dagger.BindsInstance; +import dagger.Subcomponent; +import javax.inject.Named; @DeviceScope @Subcomponent(modules = {DeviceModule.class}) 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..b09dcc3d7 100644 --- a/rxandroidble/src/main/java/com/polidea/rxandroidble2/internal/DeviceModule.java +++ b/rxandroidble/src/main/java/com/polidea/rxandroidble2/internal/DeviceModule.java @@ -16,10 +16,10 @@ import java.util.concurrent.TimeUnit; -import bleshadow.dagger.Binds; -import bleshadow.dagger.Module; -import bleshadow.dagger.Provides; -import bleshadow.javax.inject.Named; +import dagger.Binds; +import dagger.Module; +import dagger.Provides; +import javax.inject.Named; import io.reactivex.Scheduler; @Module(subcomponents = ConnectionComponent.class) diff --git a/rxandroidble/src/main/java/com/polidea/rxandroidble2/internal/DeviceScope.java b/rxandroidble/src/main/java/com/polidea/rxandroidble2/internal/DeviceScope.java index c1de00100..224bcf604 100644 --- a/rxandroidble/src/main/java/com/polidea/rxandroidble2/internal/DeviceScope.java +++ b/rxandroidble/src/main/java/com/polidea/rxandroidble2/internal/DeviceScope.java @@ -3,7 +3,7 @@ import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; -import bleshadow.javax.inject.Scope; +import javax.inject.Scope; @Scope @Retention(RetentionPolicy.RUNTIME) 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 e5012c4b1..d588e105c 100644 --- a/rxandroidble/src/main/java/com/polidea/rxandroidble2/internal/RxBleDeviceImpl.java +++ b/rxandroidble/src/main/java/com/polidea/rxandroidble2/internal/RxBleDeviceImpl.java @@ -15,7 +15,7 @@ import java.util.concurrent.Callable; import java.util.concurrent.atomic.AtomicBoolean; -import bleshadow.javax.inject.Inject; +import javax.inject.Inject; import io.reactivex.Observable; import io.reactivex.ObservableSource; import io.reactivex.functions.Action; diff --git a/rxandroidble/src/main/java/com/polidea/rxandroidble2/internal/RxBleDeviceProvider.java b/rxandroidble/src/main/java/com/polidea/rxandroidble2/internal/RxBleDeviceProvider.java index d98e5fb5e..4e7d96075 100644 --- a/rxandroidble/src/main/java/com/polidea/rxandroidble2/internal/RxBleDeviceProvider.java +++ b/rxandroidble/src/main/java/com/polidea/rxandroidble2/internal/RxBleDeviceProvider.java @@ -6,8 +6,8 @@ import java.util.Map; -import bleshadow.javax.inject.Inject; -import bleshadow.javax.inject.Provider; +import javax.inject.Inject; +import javax.inject.Provider; @ClientScope public class RxBleDeviceProvider { diff --git a/rxandroidble/src/main/java/com/polidea/rxandroidble2/internal/cache/DeviceComponentCache.java b/rxandroidble/src/main/java/com/polidea/rxandroidble2/internal/cache/DeviceComponentCache.java index 7026771e6..2d1aa7205 100644 --- a/rxandroidble/src/main/java/com/polidea/rxandroidble2/internal/cache/DeviceComponentCache.java +++ b/rxandroidble/src/main/java/com/polidea/rxandroidble2/internal/cache/DeviceComponentCache.java @@ -14,7 +14,7 @@ import java.util.Map; import java.util.Set; -import bleshadow.javax.inject.Inject; +import javax.inject.Inject; @ClientScope public class DeviceComponentCache implements Map { diff --git a/rxandroidble/src/main/java/com/polidea/rxandroidble2/internal/connection/BluetoothGattProvider.java b/rxandroidble/src/main/java/com/polidea/rxandroidble2/internal/connection/BluetoothGattProvider.java index d9f1d4820..6d49b769f 100644 --- a/rxandroidble/src/main/java/com/polidea/rxandroidble2/internal/connection/BluetoothGattProvider.java +++ b/rxandroidble/src/main/java/com/polidea/rxandroidble2/internal/connection/BluetoothGattProvider.java @@ -5,7 +5,7 @@ import java.util.concurrent.atomic.AtomicReference; -import bleshadow.javax.inject.Inject; +import javax.inject.Inject; @ConnectionScope public class BluetoothGattProvider { diff --git a/rxandroidble/src/main/java/com/polidea/rxandroidble2/internal/connection/ConnectionComponent.java b/rxandroidble/src/main/java/com/polidea/rxandroidble2/internal/connection/ConnectionComponent.java index 1361079b7..8d2a419ef 100644 --- a/rxandroidble/src/main/java/com/polidea/rxandroidble2/internal/connection/ConnectionComponent.java +++ b/rxandroidble/src/main/java/com/polidea/rxandroidble2/internal/connection/ConnectionComponent.java @@ -3,9 +3,9 @@ import com.polidea.rxandroidble2.RxBleConnection; import com.polidea.rxandroidble2.Timeout; import com.polidea.rxandroidble2.internal.operations.ConnectOperation; -import bleshadow.dagger.BindsInstance; -import bleshadow.dagger.Subcomponent; -import bleshadow.javax.inject.Named; +import dagger.BindsInstance; +import dagger.Subcomponent; +import javax.inject.Named; import java.util.Set; @ConnectionScope 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..6337bf292 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 @@ -13,12 +13,12 @@ import com.polidea.rxandroidble2.internal.serialization.ConnectionOperationQueueImpl; import com.polidea.rxandroidble2.internal.util.CharacteristicPropertiesParser; -import bleshadow.dagger.Binds; -import bleshadow.dagger.Module; -import bleshadow.dagger.Provides; -import bleshadow.dagger.multibindings.IntoSet; -import bleshadow.javax.inject.Named; -import bleshadow.javax.inject.Provider; +import dagger.Binds; +import dagger.Module; +import dagger.Provides; +import dagger.multibindings.IntoSet; +import javax.inject.Named; +import javax.inject.Provider; import io.reactivex.Scheduler; import static com.polidea.rxandroidble2.internal.connection.ConnectionComponent.NamedBooleans.SUPPRESS_OPERATION_CHECKS; diff --git a/rxandroidble/src/main/java/com/polidea/rxandroidble2/internal/connection/ConnectionScope.java b/rxandroidble/src/main/java/com/polidea/rxandroidble2/internal/connection/ConnectionScope.java index 6080af667..32a6a60c5 100644 --- a/rxandroidble/src/main/java/com/polidea/rxandroidble2/internal/connection/ConnectionScope.java +++ b/rxandroidble/src/main/java/com/polidea/rxandroidble2/internal/connection/ConnectionScope.java @@ -3,7 +3,7 @@ import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; -import bleshadow.javax.inject.Scope; +import javax.inject.Scope; @Scope @Retention(RetentionPolicy.RUNTIME) 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 a7b17dc01..1e5e3acee 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 @@ -10,8 +10,8 @@ import java.util.Set; import java.util.concurrent.Callable; -import bleshadow.javax.inject.Inject; -import bleshadow.javax.inject.Named; +import javax.inject.Inject; +import javax.inject.Named; import io.reactivex.Observable; import io.reactivex.ObservableSource; import io.reactivex.Scheduler; 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..27e1a5980 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 @@ -6,7 +6,7 @@ import com.polidea.rxandroidble2.internal.operations.OperationsProvider; import com.polidea.rxandroidble2.internal.serialization.ConnectionOperationQueue; -import bleshadow.javax.inject.Inject; +import javax.inject.Inject; import io.reactivex.Completable; @ConnectionScope 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..7b2dfe8e5 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 @@ -3,7 +3,7 @@ import com.polidea.rxandroidble2.internal.operations.DisconnectOperation; import com.polidea.rxandroidble2.internal.serialization.ClientOperationQueue; -import bleshadow.javax.inject.Inject; +import javax.inject.Inject; import io.reactivex.internal.functions.Functions; 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 08fc43829..5cbfa9c52 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 @@ -10,8 +10,8 @@ import com.polidea.rxandroidble2.internal.RxBleLog; import com.polidea.rxandroidble2.internal.util.RxBleAdapterWrapper; -import bleshadow.javax.inject.Inject; -import bleshadow.javax.inject.Named; +import javax.inject.Inject; +import javax.inject.Named; import io.reactivex.Observable; import io.reactivex.ObservableSource; import io.reactivex.disposables.Disposable; @@ -21,7 +21,8 @@ import io.reactivex.functions.Predicate; /** - * A class that is responsible for routing all potential sources of disconnection to an Observable that emits only errors. + * A class that is responsible for routing all potential sources of disconnection to an + * Observable that emits only errors. */ @ConnectionScope class DisconnectionRouter implements DisconnectionRouterInput, DisconnectionRouterOutput { @@ -37,14 +38,18 @@ class DisconnectionRouter implements DisconnectionRouterInput, DisconnectionRout final Observable adapterStateObservable ) { /* - The below .subscribe() is only to make the above .cache() to start working as soon as possible. - We are not tracking the resulting `Subscription`. This is because of the contract of this class which is supposed to be called + The below .subscribe() is only to make the above .cache() to start working as soon + as possible. + We are not tracking the resulting `Subscription`. This is because of the contract of + this class which is supposed to be called when a disconnection happens from one of three places: 1. adapterStateObservable: the adapter turning into state other than STATE_ON 2. onDisconnectedException 3. onGattConnectionStateException - One of those events must happen eventually. Then the adapterStateObservable (which uses BroadcastReceiver on a Context) will - get unsubscribed. The rest of this chain lives only in the @ConnectionScope context and will get Garbage Collected eventually. + One of those events must happen eventually. Then the adapterStateObservable (which + uses BroadcastReceiver on a Context) will + get unsubscribed. The rest of this chain lives only in the @ConnectionScope context + and will get Garbage Collected eventually. */ final Disposable adapterMonitoringDisposable = awaitAdapterNotUsable(adapterWrapper, adapterStateObservable) .map(new Function() { @@ -122,7 +127,8 @@ public Observable asValueOnlyObservable() { @Override public Observable asErrorOnlyObservable() { - // [DS 11.03.2019] Not an elegant solution but it should decrease amount of allocations. Should not emit values so —> safe to cast. + // [DS 11.03.2019] Not an elegant solution but it should decrease amount of allocations. + // Should not emit values so —> safe to cast. return (Observable) firstDisconnectionExceptionObs; } } 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 767e0f83c..50a26ba24 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 @@ -5,7 +5,7 @@ import com.polidea.rxandroidble2.internal.BleIllegalOperationException; import com.polidea.rxandroidble2.internal.BluetoothGattCharacteristicProperty; -import bleshadow.javax.inject.Inject; +import javax.inject.Inject; import io.reactivex.Completable; import io.reactivex.functions.Action; diff --git a/rxandroidble/src/main/java/com/polidea/rxandroidble2/internal/connection/IllegalOperationMessageCreator.java b/rxandroidble/src/main/java/com/polidea/rxandroidble2/internal/connection/IllegalOperationMessageCreator.java index 28a211a07..83581c2f7 100644 --- a/rxandroidble/src/main/java/com/polidea/rxandroidble2/internal/connection/IllegalOperationMessageCreator.java +++ b/rxandroidble/src/main/java/com/polidea/rxandroidble2/internal/connection/IllegalOperationMessageCreator.java @@ -8,7 +8,7 @@ import java.util.Locale; -import bleshadow.javax.inject.Inject; +import javax.inject.Inject; public class IllegalOperationMessageCreator { diff --git a/rxandroidble/src/main/java/com/polidea/rxandroidble2/internal/connection/LoggingIllegalOperationHandler.java b/rxandroidble/src/main/java/com/polidea/rxandroidble2/internal/connection/LoggingIllegalOperationHandler.java index 68218e063..61cd1e3dc 100644 --- a/rxandroidble/src/main/java/com/polidea/rxandroidble2/internal/connection/LoggingIllegalOperationHandler.java +++ b/rxandroidble/src/main/java/com/polidea/rxandroidble2/internal/connection/LoggingIllegalOperationHandler.java @@ -5,7 +5,7 @@ import com.polidea.rxandroidble2.internal.BleIllegalOperationException; import com.polidea.rxandroidble2.internal.RxBleLog; -import bleshadow.javax.inject.Inject; +import javax.inject.Inject; /** * Implementation of {@link IllegalOperationHandler}. This class logs a warning if there was no match between possessed 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 ae1639a9e..b4db6ffc1 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 @@ -9,7 +9,7 @@ import java.util.UUID; -import bleshadow.javax.inject.Inject; +import javax.inject.Inject; import io.reactivex.Observable; import io.reactivex.Single; import io.reactivex.functions.Function; diff --git a/rxandroidble/src/main/java/com/polidea/rxandroidble2/internal/connection/MtuBasedPayloadSizeLimit.java b/rxandroidble/src/main/java/com/polidea/rxandroidble2/internal/connection/MtuBasedPayloadSizeLimit.java index a2d039441..0597247ad 100644 --- a/rxandroidble/src/main/java/com/polidea/rxandroidble2/internal/connection/MtuBasedPayloadSizeLimit.java +++ b/rxandroidble/src/main/java/com/polidea/rxandroidble2/internal/connection/MtuBasedPayloadSizeLimit.java @@ -5,8 +5,8 @@ import com.polidea.rxandroidble2.RxBleConnection; -import bleshadow.javax.inject.Inject; -import bleshadow.javax.inject.Named; +import javax.inject.Inject; +import javax.inject.Named; @RestrictTo(RestrictTo.Scope.LIBRARY_GROUP) @ConnectionScope 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..ba6f7ae1a 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 @@ -4,8 +4,8 @@ import com.polidea.rxandroidble2.exceptions.BleGattException; import com.polidea.rxandroidble2.exceptions.BleGattOperationType; -import bleshadow.javax.inject.Inject; -import bleshadow.javax.inject.Named; +import javax.inject.Inject; +import javax.inject.Named; import io.reactivex.Observable; import io.reactivex.disposables.SerialDisposable; import io.reactivex.functions.Consumer; diff --git a/rxandroidble/src/main/java/com/polidea/rxandroidble2/internal/connection/NativeCallbackDispatcher.java b/rxandroidble/src/main/java/com/polidea/rxandroidble2/internal/connection/NativeCallbackDispatcher.java index f51590d97..2a7bd96fa 100644 --- a/rxandroidble/src/main/java/com/polidea/rxandroidble2/internal/connection/NativeCallbackDispatcher.java +++ b/rxandroidble/src/main/java/com/polidea/rxandroidble2/internal/connection/NativeCallbackDispatcher.java @@ -6,7 +6,7 @@ import android.bluetooth.BluetoothGattCharacteristic; import android.bluetooth.BluetoothGattDescriptor; -import bleshadow.javax.inject.Inject; +import javax.inject.Inject; import com.polidea.rxandroidble2.HiddenBluetoothGattCallback; class NativeCallbackDispatcher { 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 a2b4a4a20..a8f7784b8 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 @@ -22,8 +22,8 @@ import java.util.UUID; import java.util.concurrent.Callable; -import bleshadow.javax.inject.Inject; -import bleshadow.javax.inject.Named; +import javax.inject.Inject; +import javax.inject.Named; import io.reactivex.Completable; import io.reactivex.CompletableSource; 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 6a008bc58..d33d40183 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 @@ -26,9 +26,9 @@ import java.util.UUID; import java.util.concurrent.TimeUnit; -import bleshadow.javax.inject.Inject; -import bleshadow.javax.inject.Named; -import bleshadow.javax.inject.Provider; +import javax.inject.Inject; +import javax.inject.Named; +import javax.inject.Provider; import io.reactivex.Completable; import io.reactivex.CompletableSource; import io.reactivex.Observable; @@ -138,6 +138,11 @@ public Single discoverServices(long timeout, @NonNull TimeU return serviceDiscoveryManager.getDiscoverServicesSingle(timeout, timeUnit); } + @Override + public Single discoverServices(long timeout, @NonNull TimeUnit timeUnit, Boolean clearCache) { + return serviceDiscoveryManager.getDiscoverServicesSingle(timeout, timeUnit, clearCache); + } + @Override @Deprecated public Single getCharacteristic(@NonNull final UUID characteristicUuid) { 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 08c58b08e..30fc98c3f 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 @@ -23,8 +23,8 @@ import java.util.UUID; -import bleshadow.javax.inject.Inject; -import bleshadow.javax.inject.Named; +import javax.inject.Inject; +import javax.inject.Named; import io.reactivex.Observable; import io.reactivex.Scheduler; 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 0d6e579b1..fa92acc85 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 @@ -15,7 +15,7 @@ import java.util.concurrent.Callable; import java.util.concurrent.TimeUnit; -import bleshadow.javax.inject.Inject; +import javax.inject.Inject; import io.reactivex.Maybe; import io.reactivex.Single; import io.reactivex.disposables.Disposable; @@ -47,7 +47,28 @@ class ServiceDiscoveryManager { } Single getDiscoverServicesSingle(final long timeout, final TimeUnit timeoutTimeUnit) { - if (hasCachedResults) { + return getDiscoverServicesSingle(timeout, timeoutTimeUnit, false); + } + + Single getDiscoverServicesSingle(final long timeout, final TimeUnit timeoutTimeUnit, Boolean clearCache) { + if (clearCache) { + hasCachedResults = false; + this.deviceServicesObservable = getTimeoutConfiguration().flatMap(scheduleActualDiscoveryWithTimeout()) + .doOnSuccess(Functions.actionConsumer(new Action() { + @Override + public void run() throws Exception { + hasCachedResults = true; + } + })) + .doOnError(Functions.actionConsumer(new Action() { + @Override + public void run() { + reset(); + } + })) + .cache(); + } + if (hasCachedResults && !clearCache) { // optimisation to decrease the number of allocations return deviceServicesObservable; } else { diff --git a/rxandroidble/src/main/java/com/polidea/rxandroidble2/internal/connection/ThrowingIllegalOperationHandler.java b/rxandroidble/src/main/java/com/polidea/rxandroidble2/internal/connection/ThrowingIllegalOperationHandler.java index 267c5f765..cb76ea2f8 100644 --- a/rxandroidble/src/main/java/com/polidea/rxandroidble2/internal/connection/ThrowingIllegalOperationHandler.java +++ b/rxandroidble/src/main/java/com/polidea/rxandroidble2/internal/connection/ThrowingIllegalOperationHandler.java @@ -4,7 +4,7 @@ import com.polidea.rxandroidble2.internal.BleIllegalOperationException; -import bleshadow.javax.inject.Inject; +import javax.inject.Inject; /** * Implementation of {@link IllegalOperationHandler}. This class logs an error and returns {@link BleIllegalOperationException} if there diff --git a/rxandroidble/src/main/java/com/polidea/rxandroidble2/internal/logger/LoggerUtilBluetoothServices.java b/rxandroidble/src/main/java/com/polidea/rxandroidble2/internal/logger/LoggerUtilBluetoothServices.java index f7c05f8e8..4592f88e4 100644 --- a/rxandroidble/src/main/java/com/polidea/rxandroidble2/internal/logger/LoggerUtilBluetoothServices.java +++ b/rxandroidble/src/main/java/com/polidea/rxandroidble2/internal/logger/LoggerUtilBluetoothServices.java @@ -11,7 +11,7 @@ import com.polidea.rxandroidble2.internal.util.CharacteristicPropertiesParser; import com.polidea.rxandroidble2.utils.StandardUUIDsParser; -import bleshadow.javax.inject.Inject; +import javax.inject.Inject; /** * --------------- ====== Printing peripheral content ====== --------------- 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 e1d9dd4ef..0662a31c0 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 @@ -29,7 +29,7 @@ import java.nio.ByteBuffer; import java.util.UUID; -import bleshadow.javax.inject.Named; +import javax.inject.Named; import io.reactivex.Observable; import io.reactivex.ObservableEmitter; import io.reactivex.ObservableOnSubscribe; 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..603d20b2f 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 @@ -9,7 +9,7 @@ import com.polidea.rxandroidble2.internal.connection.RxBleGattCallback; import com.polidea.rxandroidble2.internal.logger.LoggerUtil; -import bleshadow.javax.inject.Named; +import javax.inject.Named; import io.reactivex.Single; 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..09cb33408 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 @@ -9,7 +9,7 @@ import com.polidea.rxandroidble2.internal.connection.RxBleGattCallback; import com.polidea.rxandroidble2.internal.logger.LoggerUtil; -import bleshadow.javax.inject.Named; +import javax.inject.Named; import io.reactivex.Single; import static com.polidea.rxandroidble2.internal.util.ByteAssociationUtil.characteristicUUIDPredicate; 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 60db69b71..cc5817c16 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 @@ -20,8 +20,8 @@ import java.util.concurrent.Callable; -import bleshadow.javax.inject.Inject; -import bleshadow.javax.inject.Named; +import javax.inject.Inject; +import javax.inject.Named; import io.reactivex.ObservableEmitter; import io.reactivex.Single; import io.reactivex.SingleEmitter; 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 3060e59d0..449d27d0b 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 @@ -8,7 +8,7 @@ import com.polidea.rxandroidble2.internal.SingleResponseOperation; import com.polidea.rxandroidble2.internal.connection.RxBleGattCallback; -import bleshadow.javax.inject.Inject; +import javax.inject.Inject; import io.reactivex.Single; 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..dcc530a76 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 @@ -10,8 +10,8 @@ import com.polidea.rxandroidble2.internal.logger.LoggerUtil; import com.polidea.rxandroidble2.internal.util.ByteAssociation; -import bleshadow.javax.inject.Inject; -import bleshadow.javax.inject.Named; +import javax.inject.Inject; +import javax.inject.Named; import io.reactivex.Single; 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 56bffbe4c..b45ae695b 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 @@ -9,7 +9,7 @@ import com.polidea.rxandroidble2.internal.connection.ConnectionModule; import com.polidea.rxandroidble2.internal.connection.RxBleGattCallback; -import bleshadow.javax.inject.Named; +import javax.inject.Named; import com.polidea.rxandroidble2.internal.logger.LoggerUtil; import io.reactivex.Single; 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 f6a61bf9e..6935939a7 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 @@ -19,8 +19,8 @@ import com.polidea.rxandroidble2.internal.logger.LoggerUtil; import com.polidea.rxandroidble2.internal.serialization.QueueReleaseInterface; -import bleshadow.javax.inject.Inject; -import bleshadow.javax.inject.Named; +import javax.inject.Inject; +import javax.inject.Named; import io.reactivex.Emitter; import io.reactivex.ObservableEmitter; import io.reactivex.Scheduler; 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..e9a4dacfd 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 @@ -7,7 +7,7 @@ import com.polidea.rxandroidble2.internal.SingleResponseOperation; import com.polidea.rxandroidble2.internal.connection.RxBleGattCallback; -import bleshadow.javax.inject.Inject; +import javax.inject.Inject; import io.reactivex.Single; 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..c6b28ebb1 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 @@ -14,9 +14,9 @@ import java.util.concurrent.TimeUnit; -import bleshadow.javax.inject.Inject; -import bleshadow.javax.inject.Named; -import bleshadow.javax.inject.Provider; +import javax.inject.Inject; +import javax.inject.Named; +import javax.inject.Provider; import io.reactivex.Scheduler; 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..e798fa4c7 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 @@ -7,8 +7,8 @@ import com.polidea.rxandroidble2.internal.connection.ConnectionModule; import com.polidea.rxandroidble2.internal.connection.RxBleGattCallback; -import bleshadow.javax.inject.Inject; -import bleshadow.javax.inject.Named; +import javax.inject.Inject; +import javax.inject.Named; import io.reactivex.Single; diff --git a/rxandroidble/src/main/java/com/polidea/rxandroidble2/internal/scan/AndroidScanObjectsConverter.java b/rxandroidble/src/main/java/com/polidea/rxandroidble2/internal/scan/AndroidScanObjectsConverter.java index 1b20449c5..525d423c6 100644 --- a/rxandroidble/src/main/java/com/polidea/rxandroidble2/internal/scan/AndroidScanObjectsConverter.java +++ b/rxandroidble/src/main/java/com/polidea/rxandroidble2/internal/scan/AndroidScanObjectsConverter.java @@ -10,8 +10,8 @@ import com.polidea.rxandroidble2.scan.ScanSettings; import java.util.ArrayList; import java.util.List; -import bleshadow.javax.inject.Inject; -import bleshadow.javax.inject.Named; +import javax.inject.Inject; +import javax.inject.Named; @RestrictTo(RestrictTo.Scope.LIBRARY_GROUP) public class AndroidScanObjectsConverter { diff --git a/rxandroidble/src/main/java/com/polidea/rxandroidble2/internal/scan/BackgroundScannerImpl.java b/rxandroidble/src/main/java/com/polidea/rxandroidble2/internal/scan/BackgroundScannerImpl.java index 9c2645420..bc26da152 100644 --- a/rxandroidble/src/main/java/com/polidea/rxandroidble2/internal/scan/BackgroundScannerImpl.java +++ b/rxandroidble/src/main/java/com/polidea/rxandroidble2/internal/scan/BackgroundScannerImpl.java @@ -19,7 +19,7 @@ import java.util.ArrayList; import java.util.List; -import bleshadow.javax.inject.Inject; +import javax.inject.Inject; @TargetApi(26 /* Build.VERSION_CODES.O */) public class BackgroundScannerImpl implements BackgroundScanner { diff --git a/rxandroidble/src/main/java/com/polidea/rxandroidble2/internal/scan/InternalScanResultCreator.java b/rxandroidble/src/main/java/com/polidea/rxandroidble2/internal/scan/InternalScanResultCreator.java index 82acdbf16..8d647afde 100644 --- a/rxandroidble/src/main/java/com/polidea/rxandroidble2/internal/scan/InternalScanResultCreator.java +++ b/rxandroidble/src/main/java/com/polidea/rxandroidble2/internal/scan/InternalScanResultCreator.java @@ -16,7 +16,7 @@ import com.polidea.rxandroidble2.internal.util.UUIDUtil; import com.polidea.rxandroidble2.scan.ScanCallbackType; import com.polidea.rxandroidble2.scan.ScanRecord; -import bleshadow.javax.inject.Inject; +import javax.inject.Inject; @RestrictTo(RestrictTo.Scope.LIBRARY_GROUP) @ClientScope 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..5de50c64b 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 @@ -6,7 +6,7 @@ import com.polidea.rxandroidble2.internal.RxBleDeviceProvider; import com.polidea.rxandroidble2.scan.ScanResult; -import bleshadow.javax.inject.Inject; +import javax.inject.Inject; import io.reactivex.functions.Function; diff --git a/rxandroidble/src/main/java/com/polidea/rxandroidble2/internal/scan/ScanPreconditionsVerifierApi18.java b/rxandroidble/src/main/java/com/polidea/rxandroidble2/internal/scan/ScanPreconditionsVerifierApi18.java index 8c6758b40..a0c1b9ca7 100644 --- a/rxandroidble/src/main/java/com/polidea/rxandroidble2/internal/scan/ScanPreconditionsVerifierApi18.java +++ b/rxandroidble/src/main/java/com/polidea/rxandroidble2/internal/scan/ScanPreconditionsVerifierApi18.java @@ -5,7 +5,7 @@ import com.polidea.rxandroidble2.internal.util.LocationServicesStatus; import com.polidea.rxandroidble2.internal.util.RxBleAdapterWrapper; -import bleshadow.javax.inject.Inject; +import javax.inject.Inject; @SuppressWarnings("WeakerAccess") public class ScanPreconditionsVerifierApi18 implements ScanPreconditionsVerifier { 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..1f15f2a74 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 @@ -7,8 +7,8 @@ import java.util.Date; import java.util.concurrent.TimeUnit; -import bleshadow.javax.inject.Inject; -import bleshadow.javax.inject.Named; +import javax.inject.Inject; +import javax.inject.Named; import io.reactivex.Scheduler; 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 2da33e2c5..bfa5dc7c3 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 @@ -10,8 +10,8 @@ import java.util.concurrent.TimeUnit; -import bleshadow.javax.inject.Inject; -import bleshadow.javax.inject.Named; +import javax.inject.Inject; +import javax.inject.Named; import io.reactivex.Observable; import io.reactivex.ObservableSource; 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..7d2d32047 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 @@ -8,7 +8,7 @@ import com.polidea.rxandroidble2.scan.ScanFilter; import com.polidea.rxandroidble2.scan.ScanSettings; -import bleshadow.javax.inject.Inject; +import javax.inject.Inject; import io.reactivex.Observable; import io.reactivex.ObservableTransformer; 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 4ac6380c4..6f2d104f3 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 @@ -9,7 +9,7 @@ import com.polidea.rxandroidble2.scan.ScanFilter; import com.polidea.rxandroidble2.scan.ScanSettings; -import bleshadow.javax.inject.Inject; +import javax.inject.Inject; import io.reactivex.Observable; import io.reactivex.ObservableTransformer; 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 4ad79e326..018f340c5 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 @@ -9,7 +9,7 @@ import com.polidea.rxandroidble2.scan.ScanFilter; import com.polidea.rxandroidble2.scan.ScanSettings; -import bleshadow.javax.inject.Inject; +import javax.inject.Inject; import io.reactivex.Observable; import io.reactivex.ObservableTransformer; 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 77201210b..0d76258a4 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 @@ -6,8 +6,8 @@ import com.polidea.rxandroidble2.internal.RxBleLog; import com.polidea.rxandroidble2.internal.operations.Operation; -import bleshadow.javax.inject.Inject; -import bleshadow.javax.inject.Named; +import javax.inject.Inject; +import javax.inject.Named; import io.reactivex.Observable; import io.reactivex.ObservableEmitter; 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 ccb028ed1..8039cd1de 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 @@ -15,8 +15,8 @@ import java.util.concurrent.ExecutorService; import java.util.concurrent.Future; -import bleshadow.javax.inject.Inject; -import bleshadow.javax.inject.Named; +import javax.inject.Inject; +import javax.inject.Named; import io.reactivex.Observable; import io.reactivex.ObservableEmitter; diff --git a/rxandroidble/src/main/java/com/polidea/rxandroidble2/internal/util/BleConnectionCompat.java b/rxandroidble/src/main/java/com/polidea/rxandroidble2/internal/util/BleConnectionCompat.java index 3f0bcbb69..833b66b07 100644 --- a/rxandroidble/src/main/java/com/polidea/rxandroidble2/internal/util/BleConnectionCompat.java +++ b/rxandroidble/src/main/java/com/polidea/rxandroidble2/internal/util/BleConnectionCompat.java @@ -15,7 +15,7 @@ import java.lang.reflect.InvocationTargetException; import java.lang.reflect.Method; -import bleshadow.javax.inject.Inject; +import javax.inject.Inject; import static android.bluetooth.BluetoothDevice.TRANSPORT_LE; diff --git a/rxandroidble/src/main/java/com/polidea/rxandroidble2/internal/util/CheckerLocationPermission.java b/rxandroidble/src/main/java/com/polidea/rxandroidble2/internal/util/CheckerLocationPermission.java index 07b046e04..2b5c261e9 100644 --- a/rxandroidble/src/main/java/com/polidea/rxandroidble2/internal/util/CheckerLocationPermission.java +++ b/rxandroidble/src/main/java/com/polidea/rxandroidble2/internal/util/CheckerLocationPermission.java @@ -6,7 +6,7 @@ import android.content.pm.PackageManager; import android.os.Process; -import bleshadow.javax.inject.Inject; +import javax.inject.Inject; public class CheckerLocationPermission { diff --git a/rxandroidble/src/main/java/com/polidea/rxandroidble2/internal/util/CheckerLocationProvider.java b/rxandroidble/src/main/java/com/polidea/rxandroidble2/internal/util/CheckerLocationProvider.java index a570aef60..8a3b2770b 100644 --- a/rxandroidble/src/main/java/com/polidea/rxandroidble2/internal/util/CheckerLocationProvider.java +++ b/rxandroidble/src/main/java/com/polidea/rxandroidble2/internal/util/CheckerLocationProvider.java @@ -7,7 +7,7 @@ import android.os.Build; import android.provider.Settings; -import bleshadow.javax.inject.Inject; +import javax.inject.Inject; import com.polidea.rxandroidble2.internal.RxBleLog; @TargetApi(19 /* Build.VERSION_CODES.KITKAT */) 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 7d2e14356..960026952 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 @@ -9,8 +9,8 @@ import java.util.concurrent.TimeUnit; -import bleshadow.javax.inject.Inject; -import bleshadow.javax.inject.Named; +import javax.inject.Inject; +import javax.inject.Named; import io.reactivex.Observable; import io.reactivex.Observer; 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 7fb54e5b3..564924628 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 @@ -7,7 +7,7 @@ import android.content.IntentFilter; import android.location.LocationManager; -import bleshadow.javax.inject.Inject; +import javax.inject.Inject; import io.reactivex.Observable; import io.reactivex.ObservableEmitter; import io.reactivex.ObservableOnSubscribe; diff --git a/rxandroidble/src/main/java/com/polidea/rxandroidble2/internal/util/LocationServicesStatusApi18.java b/rxandroidble/src/main/java/com/polidea/rxandroidble2/internal/util/LocationServicesStatusApi18.java index 413e22e06..7f8ce9603 100644 --- a/rxandroidble/src/main/java/com/polidea/rxandroidble2/internal/util/LocationServicesStatusApi18.java +++ b/rxandroidble/src/main/java/com/polidea/rxandroidble2/internal/util/LocationServicesStatusApi18.java @@ -1,6 +1,6 @@ package com.polidea.rxandroidble2.internal.util; -import bleshadow.javax.inject.Inject; +import javax.inject.Inject; public class LocationServicesStatusApi18 implements LocationServicesStatus { diff --git a/rxandroidble/src/main/java/com/polidea/rxandroidble2/internal/util/LocationServicesStatusApi23.java b/rxandroidble/src/main/java/com/polidea/rxandroidble2/internal/util/LocationServicesStatusApi23.java index 226f8a272..1cd5569a6 100644 --- a/rxandroidble/src/main/java/com/polidea/rxandroidble2/internal/util/LocationServicesStatusApi23.java +++ b/rxandroidble/src/main/java/com/polidea/rxandroidble2/internal/util/LocationServicesStatusApi23.java @@ -4,8 +4,8 @@ import com.polidea.rxandroidble2.ClientComponent; -import bleshadow.javax.inject.Inject; -import bleshadow.javax.inject.Named; +import javax.inject.Inject; +import javax.inject.Named; public class LocationServicesStatusApi23 implements LocationServicesStatus { diff --git a/rxandroidble/src/main/java/com/polidea/rxandroidble2/internal/util/RxBleAdapterWrapper.java b/rxandroidble/src/main/java/com/polidea/rxandroidble2/internal/util/RxBleAdapterWrapper.java index a0a71b5f4..4bc916e3f 100644 --- a/rxandroidble/src/main/java/com/polidea/rxandroidble2/internal/util/RxBleAdapterWrapper.java +++ b/rxandroidble/src/main/java/com/polidea/rxandroidble2/internal/util/RxBleAdapterWrapper.java @@ -15,7 +15,7 @@ import java.util.List; import java.util.Set; -import bleshadow.javax.inject.Inject; +import javax.inject.Inject; public class RxBleAdapterWrapper { diff --git a/rxandroidble/src/main/java/com/polidea/rxandroidble2/internal/util/UUIDUtil.java b/rxandroidble/src/main/java/com/polidea/rxandroidble2/internal/util/UUIDUtil.java index bb7a0082e..3513b84f9 100644 --- a/rxandroidble/src/main/java/com/polidea/rxandroidble2/internal/util/UUIDUtil.java +++ b/rxandroidble/src/main/java/com/polidea/rxandroidble2/internal/util/UUIDUtil.java @@ -21,7 +21,7 @@ import java.util.Map; import java.util.Set; import java.util.UUID; -import bleshadow.javax.inject.Inject; +import javax.inject.Inject; /** * Internal helper class for extracting list of Service UUIDs from Advertisement data diff --git a/rxandroidble/src/test/groovy/com/polidea/rxandroidble2/RxBleClientTest.groovy b/rxandroidble/src/test/groovy/com/polidea/rxandroidble2/RxBleClientTest.groovy index 561bfb75d..650797ed2 100644 --- a/rxandroidble/src/test/groovy/com/polidea/rxandroidble2/RxBleClientTest.groovy +++ b/rxandroidble/src/test/groovy/com/polidea/rxandroidble2/RxBleClientTest.groovy @@ -34,7 +34,7 @@ class RxBleClientTest extends Specification { MockRxBleAdapterStateObservable adapterStateObservable = Spy MockRxBleAdapterStateObservable MockLocationServicesStatus locationServicesStatusMock = Spy MockLocationServicesStatus RxBleDeviceProvider mockDeviceProvider = Mock RxBleDeviceProvider - bleshadow.dagger.Lazy mockLazyClientStateObservable = Mock bleshadow.dagger.Lazy + dagger.Lazy mockLazyClientStateObservable = Mock dagger.Lazy ScanSetupBuilder mockScanSetupBuilder = Mock ScanSetupBuilder Operation mockOperationScan = Mock Operation ObservableTransformer mockObservableTransformer = diff --git a/rxandroidble/src/test/groovy/com/polidea/rxandroidble2/internal/RxBleDeviceProviderTest.groovy b/rxandroidble/src/test/groovy/com/polidea/rxandroidble2/internal/RxBleDeviceProviderTest.groovy index 393622e84..1938b8797 100644 --- a/rxandroidble/src/test/groovy/com/polidea/rxandroidble2/internal/RxBleDeviceProviderTest.groovy +++ b/rxandroidble/src/test/groovy/com/polidea/rxandroidble2/internal/RxBleDeviceProviderTest.groovy @@ -8,7 +8,7 @@ import com.polidea.rxandroidble2.Timeout import com.polidea.rxandroidble2.internal.cache.DeviceComponentCache import spock.lang.Specification -import bleshadow.javax.inject.Provider; +import javax.inject.Provider; class RxBleDeviceProviderTest extends Specification { diff --git a/sample-kotlin/build.gradle b/sample-kotlin/build.gradle index b1aaf1c74..39c0b2280 100644 --- a/sample-kotlin/build.gradle +++ b/sample-kotlin/build.gradle @@ -40,7 +40,7 @@ dependencies { implementation project(path: ':rxandroidble') // Kotlin stdlib - implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlinVersion" + implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.3.41" // AndroidX implementation rootProject.ext.libs.appcompat diff --git a/settings.gradle b/settings.gradle index 75719e652..cf6fa8a94 100644 --- a/settings.gradle +++ b/settings.gradle @@ -1,4 +1,4 @@ -include ':rxandroidble', ':dagger-compiler-shadow', ':dagger-library-shadow' +include ':rxandroidble' include ':sample', ':sample-kotlin', ':mockrxandroidble' rootProject.name = 'rxandroidble-parent' \ No newline at end of file