From 75d100cade4faf07de0fbc275fdfb72e6ef61eb9 Mon Sep 17 00:00:00 2001 From: Alejandro Barba Date: Thu, 24 Jun 2021 17:23:36 -0500 Subject: [PATCH 1/2] refactor: upgrade rx2 to rx3, upgrade gradle plugin and add support to android x --- android-reactive-location/build.gradle | 10 +++++----- .../reactivelocation2/DataBufferObservable.java | 12 ++++++------ .../ReactiveLocationProvider.java | 9 +++++---- .../ReactiveLocationProviderConfiguration.java | 3 ++- .../observables/BaseObservableOnSubscribe.java | 14 +++++++------- .../GoogleAPIClientObservableOnSubscribe.java | 5 +++-- .../observables/ObservableEmitterWrapper.java | 7 ++++--- .../observables/ObservableFactory.java | 11 ++++++----- .../PendingResultObservableOnSubscribe.java | 12 ++++++------ .../ActivityUpdatesObservableOnSubscribe.java | 4 ++-- .../geocode/FallbackReverseGeocodeObservable.java | 5 +++-- .../observables/geocode/GeocodeObservable.java | 9 +++++---- .../geocode/ReverseGeocodeObservable.java | 9 ++++----- .../AddGeofenceObservableOnSubscribe.java | 7 ++++--- ...fenceByPendingIntentObservableOnSubscribe.java | 5 +++-- .../RemoveGeofenceObservableOnSubscribe.java | 4 ++-- ...veGeofenceRequestIdsObservableOnSubscribe.java | 4 ++-- ...ocationIntentUpdatesObservableOnSubscribe.java | 7 ++++--- .../LastKnownLocationObservableOnSubscribe.java | 4 ++-- .../LocationUpdatesObservableOnSubscribe.java | 4 ++-- .../MockLocationObservableOnSubscribe.java | 13 +++++++------ ...ocationIntentUpdatesObservableOnSubscribe.java | 7 ++++--- build.gradle | 11 +++++++---- gradle.properties | 2 ++ gradle/wrapper/gradle-wrapper.properties | 6 +++--- sample/build.gradle | 15 +++++++++------ sample/src/main/AndroidManifest.xml | 1 + .../reactivelocation2/sample/BaseActivity.java | 7 ++++--- .../sample/GeofenceActivity.java | 8 ++++---- .../sample/GeofenceBroadcastReceiver.java | 3 ++- .../reactivelocation2/sample/MainActivity.java | 13 +++++++------ .../sample/MockLocationsActivity.java | 15 ++++++++------- .../reactivelocation2/sample/PlacesActivity.java | 12 ++++++------ .../sample/PlacesResultActivity.java | 7 ++++--- .../sample/utils/AddressToStringFunc.java | 2 +- .../sample/utils/DetectedActivityToString.java | 2 +- .../sample/utils/DisplayTextOnViewAction.java | 2 +- .../sample/utils/LocationToStringFunc.java | 2 +- .../sample/utils/RxTextView.java | 8 +++++--- .../sample/utils/TextViewTextOnSubscribe.java | 9 +++++---- .../sample/utils/ToMostProbableActivity.java | 2 +- .../sample/utils/UnsubscribeIfPresent.java | 2 +- 42 files changed, 161 insertions(+), 133 deletions(-) diff --git a/android-reactive-location/build.gradle b/android-reactive-location/build.gradle index fc254d07..5c4e66db 100644 --- a/android-reactive-location/build.gradle +++ b/android-reactive-location/build.gradle @@ -11,17 +11,17 @@ android { } compileOptions { - sourceCompatibility JavaVersion.VERSION_1_7 - targetCompatibility JavaVersion.VERSION_1_7 + sourceCompatibility JavaVersion.VERSION_1_8 + targetCompatibility JavaVersion.VERSION_1_8 } } //TODO: local maven deployment dependencies { - compile 'com.google.android.gms:play-services-location:11.0.4' - compile 'com.google.android.gms:play-services-places:11.0.4' - compile 'io.reactivex.rxjava2:rxjava:2.0.5' + api 'com.google.android.gms:play-services-location:18.0.0' + api 'com.google.android.gms:play-services-places:17.0.0' + implementation "io.reactivex.rxjava3:rxjava:3.0.13" } // Comment this to deploy to local maven repository diff --git a/android-reactive-location/src/main/java/pl/charmas/android/reactivelocation2/DataBufferObservable.java b/android-reactive-location/src/main/java/pl/charmas/android/reactivelocation2/DataBufferObservable.java index ad1e57fb..d7f2a1b7 100644 --- a/android-reactive-location/src/main/java/pl/charmas/android/reactivelocation2/DataBufferObservable.java +++ b/android-reactive-location/src/main/java/pl/charmas/android/reactivelocation2/DataBufferObservable.java @@ -2,11 +2,11 @@ import com.google.android.gms.common.data.AbstractDataBuffer; -import io.reactivex.Observable; -import io.reactivex.ObservableEmitter; -import io.reactivex.ObservableOnSubscribe; -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.disposables.Disposable; +import io.reactivex.rxjava3.functions.Action; /** @@ -33,7 +33,7 @@ public void subscribe(final ObservableEmitter emitter) { for (T item : buffer) { emitter.onNext(item); } - emitter.setDisposable(Disposables.fromAction(new Action() { + emitter.setDisposable(Disposable.fromAction(new Action() { @Override public void run() throws Exception { buffer.release(); diff --git a/android-reactive-location/src/main/java/pl/charmas/android/reactivelocation2/ReactiveLocationProvider.java b/android-reactive-location/src/main/java/pl/charmas/android/reactivelocation2/ReactiveLocationProvider.java index f6c3533b..1e4cf64d 100644 --- a/android-reactive-location/src/main/java/pl/charmas/android/reactivelocation2/ReactiveLocationProvider.java +++ b/android-reactive-location/src/main/java/pl/charmas/android/reactivelocation2/ReactiveLocationProvider.java @@ -5,8 +5,9 @@ import android.location.Address; import android.location.Location; import android.os.Handler; -import android.support.annotation.Nullable; -import android.support.annotation.RequiresPermission; + +import androidx.annotation.Nullable; +import androidx.annotation.RequiresPermission; import com.google.android.gms.common.api.Api; import com.google.android.gms.common.api.GoogleApiClient; @@ -33,8 +34,8 @@ import java.util.List; import java.util.Locale; -import io.reactivex.Observable; -import io.reactivex.functions.Function; +import io.reactivex.rxjava3.core.Observable; +import io.reactivex.rxjava3.functions.Function; import pl.charmas.android.reactivelocation2.observables.GoogleAPIClientObservableOnSubscribe; import pl.charmas.android.reactivelocation2.observables.ObservableContext; import pl.charmas.android.reactivelocation2.observables.ObservableFactory; diff --git a/android-reactive-location/src/main/java/pl/charmas/android/reactivelocation2/ReactiveLocationProviderConfiguration.java b/android-reactive-location/src/main/java/pl/charmas/android/reactivelocation2/ReactiveLocationProviderConfiguration.java index 2cbfe264..f68fc98c 100644 --- a/android-reactive-location/src/main/java/pl/charmas/android/reactivelocation2/ReactiveLocationProviderConfiguration.java +++ b/android-reactive-location/src/main/java/pl/charmas/android/reactivelocation2/ReactiveLocationProviderConfiguration.java @@ -1,7 +1,8 @@ package pl.charmas.android.reactivelocation2; import android.os.Handler; -import android.support.annotation.Nullable; + +import androidx.annotation.Nullable; /** * Configuration for location provider. Pleas use builder to create an instance. diff --git a/android-reactive-location/src/main/java/pl/charmas/android/reactivelocation2/observables/BaseObservableOnSubscribe.java b/android-reactive-location/src/main/java/pl/charmas/android/reactivelocation2/observables/BaseObservableOnSubscribe.java index 3b7adf6e..f300bf08 100644 --- a/android-reactive-location/src/main/java/pl/charmas/android/reactivelocation2/observables/BaseObservableOnSubscribe.java +++ b/android-reactive-location/src/main/java/pl/charmas/android/reactivelocation2/observables/BaseObservableOnSubscribe.java @@ -3,7 +3,8 @@ import android.content.Context; import android.os.Bundle; import android.os.Handler; -import android.support.annotation.NonNull; + +import androidx.annotation.NonNull; import com.google.android.gms.common.ConnectionResult; import com.google.android.gms.common.api.Api; @@ -12,11 +13,10 @@ import java.util.Arrays; import java.util.List; -import io.reactivex.ObservableEmitter; -import io.reactivex.ObservableOnSubscribe; -import io.reactivex.disposables.Disposables; -import io.reactivex.functions.Action; - +import io.reactivex.rxjava3.core.ObservableEmitter; +import io.reactivex.rxjava3.core.ObservableOnSubscribe; +import io.reactivex.rxjava3.disposables.Disposable; +import io.reactivex.rxjava3.functions.Action; public abstract class BaseObservableOnSubscribe implements ObservableOnSubscribe { private final Context ctx; @@ -41,7 +41,7 @@ public void subscribe(ObservableEmitter emitter) throws Exception { } } - emitter.setDisposable(Disposables.fromAction(new Action() { + emitter.setDisposable(Disposable.fromAction(new Action() { @Override public void run() throws Exception { onDisposed(apiClient); diff --git a/android-reactive-location/src/main/java/pl/charmas/android/reactivelocation2/observables/GoogleAPIClientObservableOnSubscribe.java b/android-reactive-location/src/main/java/pl/charmas/android/reactivelocation2/observables/GoogleAPIClientObservableOnSubscribe.java index 2a09d33e..fd8c8fe9 100644 --- a/android-reactive-location/src/main/java/pl/charmas/android/reactivelocation2/observables/GoogleAPIClientObservableOnSubscribe.java +++ b/android-reactive-location/src/main/java/pl/charmas/android/reactivelocation2/observables/GoogleAPIClientObservableOnSubscribe.java @@ -3,8 +3,9 @@ import com.google.android.gms.common.api.Api; import com.google.android.gms.common.api.GoogleApiClient; -import io.reactivex.Observable; -import io.reactivex.ObservableEmitter; +import io.reactivex.rxjava3.core.Observable; +import io.reactivex.rxjava3.core.ObservableEmitter; + public class GoogleAPIClientObservableOnSubscribe extends BaseObservableOnSubscribe { diff --git a/android-reactive-location/src/main/java/pl/charmas/android/reactivelocation2/observables/ObservableEmitterWrapper.java b/android-reactive-location/src/main/java/pl/charmas/android/reactivelocation2/observables/ObservableEmitterWrapper.java index b7c9b8d1..57533e72 100644 --- a/android-reactive-location/src/main/java/pl/charmas/android/reactivelocation2/observables/ObservableEmitterWrapper.java +++ b/android-reactive-location/src/main/java/pl/charmas/android/reactivelocation2/observables/ObservableEmitterWrapper.java @@ -1,8 +1,9 @@ package pl.charmas.android.reactivelocation2.observables; -import io.reactivex.ObservableEmitter; -import io.reactivex.Observer; -import io.reactivex.disposables.Disposable; + +import io.reactivex.rxjava3.core.ObservableEmitter; +import io.reactivex.rxjava3.core.Observer; +import io.reactivex.rxjava3.disposables.Disposable; public class ObservableEmitterWrapper implements Observer { private final ObservableEmitter emitter; diff --git a/android-reactive-location/src/main/java/pl/charmas/android/reactivelocation2/observables/ObservableFactory.java b/android-reactive-location/src/main/java/pl/charmas/android/reactivelocation2/observables/ObservableFactory.java index 3b1b734c..ffe06dc1 100644 --- a/android-reactive-location/src/main/java/pl/charmas/android/reactivelocation2/observables/ObservableFactory.java +++ b/android-reactive-location/src/main/java/pl/charmas/android/reactivelocation2/observables/ObservableFactory.java @@ -1,10 +1,11 @@ package pl.charmas.android.reactivelocation2.observables; -import io.reactivex.Observable; -import io.reactivex.ObservableOnSubscribe; -import io.reactivex.ObservableSource; -import io.reactivex.ObservableTransformer; -import io.reactivex.functions.BiPredicate; + +import io.reactivex.rxjava3.core.Observable; +import io.reactivex.rxjava3.core.ObservableOnSubscribe; +import io.reactivex.rxjava3.core.ObservableSource; +import io.reactivex.rxjava3.core.ObservableTransformer; +import io.reactivex.rxjava3.functions.BiPredicate; public class ObservableFactory { private final ObservableContext context; diff --git a/android-reactive-location/src/main/java/pl/charmas/android/reactivelocation2/observables/PendingResultObservableOnSubscribe.java b/android-reactive-location/src/main/java/pl/charmas/android/reactivelocation2/observables/PendingResultObservableOnSubscribe.java index f70eacad..25e161a6 100644 --- a/android-reactive-location/src/main/java/pl/charmas/android/reactivelocation2/observables/PendingResultObservableOnSubscribe.java +++ b/android-reactive-location/src/main/java/pl/charmas/android/reactivelocation2/observables/PendingResultObservableOnSubscribe.java @@ -1,15 +1,15 @@ package pl.charmas.android.reactivelocation2.observables; -import android.support.annotation.NonNull; +import androidx.annotation.NonNull; import com.google.android.gms.common.api.PendingResult; import com.google.android.gms.common.api.Result; import com.google.android.gms.common.api.ResultCallback; -import io.reactivex.ObservableEmitter; -import io.reactivex.ObservableOnSubscribe; -import io.reactivex.disposables.Disposables; -import io.reactivex.functions.Action; +import io.reactivex.rxjava3.core.ObservableEmitter; +import io.reactivex.rxjava3.core.ObservableOnSubscribe; +import io.reactivex.rxjava3.disposables.Disposable; +import io.reactivex.rxjava3.functions.Action; public class PendingResultObservableOnSubscribe implements ObservableOnSubscribe { private final PendingResult result; @@ -32,7 +32,7 @@ public void onResult(@NonNull T t) { } }); - emitter.setDisposable(Disposables.fromAction(new Action() { + emitter.setDisposable(Disposable.fromAction(new Action() { @Override public void run() { if (!complete) { diff --git a/android-reactive-location/src/main/java/pl/charmas/android/reactivelocation2/observables/activity/ActivityUpdatesObservableOnSubscribe.java b/android-reactive-location/src/main/java/pl/charmas/android/reactivelocation2/observables/activity/ActivityUpdatesObservableOnSubscribe.java index 60abc354..028931eb 100644 --- a/android-reactive-location/src/main/java/pl/charmas/android/reactivelocation2/observables/activity/ActivityUpdatesObservableOnSubscribe.java +++ b/android-reactive-location/src/main/java/pl/charmas/android/reactivelocation2/observables/activity/ActivityUpdatesObservableOnSubscribe.java @@ -10,8 +10,8 @@ import com.google.android.gms.location.ActivityRecognition; import com.google.android.gms.location.ActivityRecognitionResult; -import io.reactivex.Observable; -import io.reactivex.ObservableEmitter; +import io.reactivex.rxjava3.core.Observable; +import io.reactivex.rxjava3.core.ObservableEmitter; import pl.charmas.android.reactivelocation2.observables.ObservableContext; import pl.charmas.android.reactivelocation2.observables.ObservableFactory; diff --git a/android-reactive-location/src/main/java/pl/charmas/android/reactivelocation2/observables/geocode/FallbackReverseGeocodeObservable.java b/android-reactive-location/src/main/java/pl/charmas/android/reactivelocation2/observables/geocode/FallbackReverseGeocodeObservable.java index 90ddd45e..b353aba3 100644 --- a/android-reactive-location/src/main/java/pl/charmas/android/reactivelocation2/observables/geocode/FallbackReverseGeocodeObservable.java +++ b/android-reactive-location/src/main/java/pl/charmas/android/reactivelocation2/observables/geocode/FallbackReverseGeocodeObservable.java @@ -17,8 +17,9 @@ import java.util.List; import java.util.Locale; -import io.reactivex.ObservableEmitter; -import io.reactivex.ObservableOnSubscribe; +import io.reactivex.rxjava3.core.ObservableEmitter; +import io.reactivex.rxjava3.core.ObservableOnSubscribe; + class FallbackReverseGeocodeObservable implements ObservableOnSubscribe> { private final Locale locale; diff --git a/android-reactive-location/src/main/java/pl/charmas/android/reactivelocation2/observables/geocode/GeocodeObservable.java b/android-reactive-location/src/main/java/pl/charmas/android/reactivelocation2/observables/geocode/GeocodeObservable.java index e74f1fc8..6e65b830 100644 --- a/android-reactive-location/src/main/java/pl/charmas/android/reactivelocation2/observables/geocode/GeocodeObservable.java +++ b/android-reactive-location/src/main/java/pl/charmas/android/reactivelocation2/observables/geocode/GeocodeObservable.java @@ -3,7 +3,8 @@ import android.content.Context; import android.location.Address; import android.location.Geocoder; -import android.support.annotation.NonNull; + +import androidx.annotation.NonNull; import com.google.android.gms.maps.model.LatLngBounds; @@ -11,9 +12,9 @@ import java.util.List; import java.util.Locale; -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; import pl.charmas.android.reactivelocation2.observables.ObservableFactory; public class GeocodeObservable implements ObservableOnSubscribe> { diff --git a/android-reactive-location/src/main/java/pl/charmas/android/reactivelocation2/observables/geocode/ReverseGeocodeObservable.java b/android-reactive-location/src/main/java/pl/charmas/android/reactivelocation2/observables/geocode/ReverseGeocodeObservable.java index bbcccf5f..507ffb8d 100644 --- a/android-reactive-location/src/main/java/pl/charmas/android/reactivelocation2/observables/geocode/ReverseGeocodeObservable.java +++ b/android-reactive-location/src/main/java/pl/charmas/android/reactivelocation2/observables/geocode/ReverseGeocodeObservable.java @@ -8,14 +8,13 @@ import java.util.List; import java.util.Locale; -import io.reactivex.Observable; -import io.reactivex.ObservableEmitter; -import io.reactivex.ObservableOnSubscribe; -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.schedulers.Schedulers; import pl.charmas.android.reactivelocation2.observables.ObservableEmitterWrapper; import pl.charmas.android.reactivelocation2.observables.ObservableFactory; - public class ReverseGeocodeObservable implements ObservableOnSubscribe> { private final Context ctx; private final Locale locale; diff --git a/android-reactive-location/src/main/java/pl/charmas/android/reactivelocation2/observables/geofence/AddGeofenceObservableOnSubscribe.java b/android-reactive-location/src/main/java/pl/charmas/android/reactivelocation2/observables/geofence/AddGeofenceObservableOnSubscribe.java index 300973d9..4d27720d 100644 --- a/android-reactive-location/src/main/java/pl/charmas/android/reactivelocation2/observables/geofence/AddGeofenceObservableOnSubscribe.java +++ b/android-reactive-location/src/main/java/pl/charmas/android/reactivelocation2/observables/geofence/AddGeofenceObservableOnSubscribe.java @@ -1,7 +1,8 @@ package pl.charmas.android.reactivelocation2.observables.geofence; import android.app.PendingIntent; -import android.support.annotation.NonNull; + +import androidx.annotation.NonNull; import com.google.android.gms.common.api.GoogleApiClient; import com.google.android.gms.common.api.ResultCallback; @@ -9,8 +10,8 @@ import com.google.android.gms.location.GeofencingRequest; import com.google.android.gms.location.LocationServices; -import io.reactivex.Observable; -import io.reactivex.ObservableEmitter; +import io.reactivex.rxjava3.core.Observable; +import io.reactivex.rxjava3.core.ObservableEmitter; import pl.charmas.android.reactivelocation2.observables.BaseLocationObservableOnSubscribe; import pl.charmas.android.reactivelocation2.observables.ObservableContext; import pl.charmas.android.reactivelocation2.observables.ObservableFactory; diff --git a/android-reactive-location/src/main/java/pl/charmas/android/reactivelocation2/observables/geofence/RemoveGeofenceByPendingIntentObservableOnSubscribe.java b/android-reactive-location/src/main/java/pl/charmas/android/reactivelocation2/observables/geofence/RemoveGeofenceByPendingIntentObservableOnSubscribe.java index 551d9b70..e124b309 100644 --- a/android-reactive-location/src/main/java/pl/charmas/android/reactivelocation2/observables/geofence/RemoveGeofenceByPendingIntentObservableOnSubscribe.java +++ b/android-reactive-location/src/main/java/pl/charmas/android/reactivelocation2/observables/geofence/RemoveGeofenceByPendingIntentObservableOnSubscribe.java @@ -1,14 +1,15 @@ package pl.charmas.android.reactivelocation2.observables.geofence; import android.app.PendingIntent; -import android.support.annotation.NonNull; + +import androidx.annotation.NonNull; import com.google.android.gms.common.api.GoogleApiClient; import com.google.android.gms.common.api.ResultCallback; import com.google.android.gms.common.api.Status; import com.google.android.gms.location.LocationServices; -import io.reactivex.ObservableEmitter; +import io.reactivex.rxjava3.core.ObservableEmitter; import pl.charmas.android.reactivelocation2.observables.ObservableContext; import pl.charmas.android.reactivelocation2.observables.StatusException; diff --git a/android-reactive-location/src/main/java/pl/charmas/android/reactivelocation2/observables/geofence/RemoveGeofenceObservableOnSubscribe.java b/android-reactive-location/src/main/java/pl/charmas/android/reactivelocation2/observables/geofence/RemoveGeofenceObservableOnSubscribe.java index a5c4db0d..54f0e290 100644 --- a/android-reactive-location/src/main/java/pl/charmas/android/reactivelocation2/observables/geofence/RemoveGeofenceObservableOnSubscribe.java +++ b/android-reactive-location/src/main/java/pl/charmas/android/reactivelocation2/observables/geofence/RemoveGeofenceObservableOnSubscribe.java @@ -7,8 +7,8 @@ import java.util.List; -import io.reactivex.Observable; -import io.reactivex.ObservableEmitter; +import io.reactivex.rxjava3.core.Observable; +import io.reactivex.rxjava3.core.ObservableEmitter; import pl.charmas.android.reactivelocation2.observables.BaseLocationObservableOnSubscribe; import pl.charmas.android.reactivelocation2.observables.ObservableContext; import pl.charmas.android.reactivelocation2.observables.ObservableFactory; diff --git a/android-reactive-location/src/main/java/pl/charmas/android/reactivelocation2/observables/geofence/RemoveGeofenceRequestIdsObservableOnSubscribe.java b/android-reactive-location/src/main/java/pl/charmas/android/reactivelocation2/observables/geofence/RemoveGeofenceRequestIdsObservableOnSubscribe.java index 557b86e9..31ac1340 100644 --- a/android-reactive-location/src/main/java/pl/charmas/android/reactivelocation2/observables/geofence/RemoveGeofenceRequestIdsObservableOnSubscribe.java +++ b/android-reactive-location/src/main/java/pl/charmas/android/reactivelocation2/observables/geofence/RemoveGeofenceRequestIdsObservableOnSubscribe.java @@ -1,6 +1,6 @@ package pl.charmas.android.reactivelocation2.observables.geofence; -import android.support.annotation.NonNull; +import androidx.annotation.NonNull; import com.google.android.gms.common.api.GoogleApiClient; import com.google.android.gms.common.api.ResultCallback; @@ -9,7 +9,7 @@ import java.util.List; -import io.reactivex.ObservableEmitter; +import io.reactivex.rxjava3.core.ObservableEmitter; import pl.charmas.android.reactivelocation2.observables.ObservableContext; import pl.charmas.android.reactivelocation2.observables.StatusException; diff --git a/android-reactive-location/src/main/java/pl/charmas/android/reactivelocation2/observables/location/AddLocationIntentUpdatesObservableOnSubscribe.java b/android-reactive-location/src/main/java/pl/charmas/android/reactivelocation2/observables/location/AddLocationIntentUpdatesObservableOnSubscribe.java index 5774a55f..1315bfae 100644 --- a/android-reactive-location/src/main/java/pl/charmas/android/reactivelocation2/observables/location/AddLocationIntentUpdatesObservableOnSubscribe.java +++ b/android-reactive-location/src/main/java/pl/charmas/android/reactivelocation2/observables/location/AddLocationIntentUpdatesObservableOnSubscribe.java @@ -1,7 +1,8 @@ package pl.charmas.android.reactivelocation2.observables.location; import android.app.PendingIntent; -import android.support.annotation.NonNull; + +import androidx.annotation.NonNull; import com.google.android.gms.common.api.GoogleApiClient; import com.google.android.gms.common.api.ResultCallback; @@ -9,8 +10,8 @@ import com.google.android.gms.location.LocationRequest; import com.google.android.gms.location.LocationServices; -import io.reactivex.Observable; -import io.reactivex.ObservableEmitter; +import io.reactivex.rxjava3.core.Observable; +import io.reactivex.rxjava3.core.ObservableEmitter; import pl.charmas.android.reactivelocation2.observables.BaseLocationObservableOnSubscribe; import pl.charmas.android.reactivelocation2.observables.ObservableContext; import pl.charmas.android.reactivelocation2.observables.ObservableFactory; diff --git a/android-reactive-location/src/main/java/pl/charmas/android/reactivelocation2/observables/location/LastKnownLocationObservableOnSubscribe.java b/android-reactive-location/src/main/java/pl/charmas/android/reactivelocation2/observables/location/LastKnownLocationObservableOnSubscribe.java index 3a6fef6a..eff6117e 100644 --- a/android-reactive-location/src/main/java/pl/charmas/android/reactivelocation2/observables/location/LastKnownLocationObservableOnSubscribe.java +++ b/android-reactive-location/src/main/java/pl/charmas/android/reactivelocation2/observables/location/LastKnownLocationObservableOnSubscribe.java @@ -5,8 +5,8 @@ import com.google.android.gms.common.api.GoogleApiClient; import com.google.android.gms.location.LocationServices; -import io.reactivex.Observable; -import io.reactivex.ObservableEmitter; +import io.reactivex.rxjava3.core.Observable; +import io.reactivex.rxjava3.core.ObservableEmitter; import pl.charmas.android.reactivelocation2.observables.BaseLocationObservableOnSubscribe; import pl.charmas.android.reactivelocation2.observables.ObservableContext; import pl.charmas.android.reactivelocation2.observables.ObservableFactory; diff --git a/android-reactive-location/src/main/java/pl/charmas/android/reactivelocation2/observables/location/LocationUpdatesObservableOnSubscribe.java b/android-reactive-location/src/main/java/pl/charmas/android/reactivelocation2/observables/location/LocationUpdatesObservableOnSubscribe.java index 5b0c0254..efe14834 100644 --- a/android-reactive-location/src/main/java/pl/charmas/android/reactivelocation2/observables/location/LocationUpdatesObservableOnSubscribe.java +++ b/android-reactive-location/src/main/java/pl/charmas/android/reactivelocation2/observables/location/LocationUpdatesObservableOnSubscribe.java @@ -9,8 +9,8 @@ import java.lang.ref.WeakReference; -import io.reactivex.Observable; -import io.reactivex.ObservableEmitter; +import io.reactivex.rxjava3.core.Observable; +import io.reactivex.rxjava3.core.ObservableEmitter; import pl.charmas.android.reactivelocation2.observables.BaseLocationObservableOnSubscribe; import pl.charmas.android.reactivelocation2.observables.ObservableContext; import pl.charmas.android.reactivelocation2.observables.ObservableFactory; diff --git a/android-reactive-location/src/main/java/pl/charmas/android/reactivelocation2/observables/location/MockLocationObservableOnSubscribe.java b/android-reactive-location/src/main/java/pl/charmas/android/reactivelocation2/observables/location/MockLocationObservableOnSubscribe.java index f8c6cc76..f78384dc 100644 --- a/android-reactive-location/src/main/java/pl/charmas/android/reactivelocation2/observables/location/MockLocationObservableOnSubscribe.java +++ b/android-reactive-location/src/main/java/pl/charmas/android/reactivelocation2/observables/location/MockLocationObservableOnSubscribe.java @@ -1,18 +1,19 @@ package pl.charmas.android.reactivelocation2.observables.location; import android.location.Location; -import android.support.annotation.NonNull; + +import androidx.annotation.NonNull; import com.google.android.gms.common.api.GoogleApiClient; import com.google.android.gms.common.api.ResultCallback; import com.google.android.gms.common.api.Status; import com.google.android.gms.location.LocationServices; -import io.reactivex.Observable; -import io.reactivex.ObservableEmitter; -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.ObservableEmitter; +import io.reactivex.rxjava3.disposables.Disposable; +import io.reactivex.rxjava3.functions.Action; +import io.reactivex.rxjava3.functions.Consumer; import pl.charmas.android.reactivelocation2.observables.BaseLocationObservableOnSubscribe; import pl.charmas.android.reactivelocation2.observables.ObservableContext; import pl.charmas.android.reactivelocation2.observables.ObservableFactory; diff --git a/android-reactive-location/src/main/java/pl/charmas/android/reactivelocation2/observables/location/RemoveLocationIntentUpdatesObservableOnSubscribe.java b/android-reactive-location/src/main/java/pl/charmas/android/reactivelocation2/observables/location/RemoveLocationIntentUpdatesObservableOnSubscribe.java index 881e35a5..9a52408f 100644 --- a/android-reactive-location/src/main/java/pl/charmas/android/reactivelocation2/observables/location/RemoveLocationIntentUpdatesObservableOnSubscribe.java +++ b/android-reactive-location/src/main/java/pl/charmas/android/reactivelocation2/observables/location/RemoveLocationIntentUpdatesObservableOnSubscribe.java @@ -1,15 +1,16 @@ package pl.charmas.android.reactivelocation2.observables.location; import android.app.PendingIntent; -import android.support.annotation.NonNull; + +import androidx.annotation.NonNull; import com.google.android.gms.common.api.GoogleApiClient; import com.google.android.gms.common.api.ResultCallback; import com.google.android.gms.common.api.Status; import com.google.android.gms.location.LocationServices; -import io.reactivex.Observable; -import io.reactivex.ObservableEmitter; +import io.reactivex.rxjava3.core.Observable; +import io.reactivex.rxjava3.core.ObservableEmitter; import pl.charmas.android.reactivelocation2.observables.BaseLocationObservableOnSubscribe; import pl.charmas.android.reactivelocation2.observables.ObservableContext; import pl.charmas.android.reactivelocation2.observables.ObservableFactory; diff --git a/build.gradle b/build.gradle index 1c6739a9..a7ef149f 100644 --- a/build.gradle +++ b/build.gradle @@ -4,18 +4,19 @@ buildscript { repositories { mavenCentral() jcenter() + google() } dependencies { - classpath 'com.android.tools.build:gradle:2.3.3' + classpath 'com.android.tools.build:gradle:4.2.1' } } // To avoid manually setting the same values in all Android modules, set the value on the root // project and then reference this from the modules ext { - compileSdkVersion = 25 - targetSdkVersion = 25 - buildToolsVersion = "25.0.3" + compileSdkVersion = 30 + targetSdkVersion = 30 + buildToolsVersion = "30.0.2" } def isReleaseBuild() { @@ -29,5 +30,7 @@ allprojects { repositories { mavenCentral() jcenter() + google() + maven { url 'https://jitpack.io' } } } diff --git a/gradle.properties b/gradle.properties index a0a4da92..6fe68c63 100644 --- a/gradle.properties +++ b/gradle.properties @@ -13,3 +13,5 @@ POM_LICENCE_URL=http://www.apache.org/licenses/LICENSE-2.0.txt POM_LICENCE_DIST=repo POM_DEVELOPER_ID=mcharmas POM_DEVELOPER_NAME=Michal Charmas + +android.useAndroidX=true \ No newline at end of file diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index cbb3db13..125b92d4 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -1,6 +1,6 @@ -#Fri Sep 29 10:11:52 CEST 2017 +#Thu Jun 24 13:16:44 CDT 2021 distributionBase=GRADLE_USER_HOME +distributionUrl=https\://services.gradle.org/distributions/gradle-6.7.1-bin.zip distributionPath=wrapper/dists -zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-3.3-all.zip +zipStoreBase=GRADLE_USER_HOME diff --git a/sample/build.gradle b/sample/build.gradle index ddb75b0e..1448ba88 100755 --- a/sample/build.gradle +++ b/sample/build.gradle @@ -20,8 +20,8 @@ android { } compileOptions { - sourceCompatibility JavaVersion.VERSION_1_7 - targetCompatibility JavaVersion.VERSION_1_7 + sourceCompatibility JavaVersion.VERSION_1_8 + targetCompatibility JavaVersion.VERSION_1_8 } buildTypes { release { @@ -35,8 +35,11 @@ android { } dependencies { - compile 'com.android.support:appcompat-v7:25.3.1' - compile 'io.reactivex.rxjava2:rxandroid:2.0.1' - compile 'com.tbruyelle.rxpermissions2:rxpermissions:0.9.1@aar' - compile project(':android-reactive-location') + implementation 'androidx.appcompat:appcompat:1.3.0' + + implementation "io.reactivex.rxjava3:rxjava:3.0.13" + implementation 'io.reactivex.rxjava3:rxandroid:3.0.0' + + implementation 'com.github.tbruyelle:rxpermissions:0.12' + implementation project(':android-reactive-location') } diff --git a/sample/src/main/AndroidManifest.xml b/sample/src/main/AndroidManifest.xml index c7122be9..65da6982 100644 --- a/sample/src/main/AndroidManifest.xml +++ b/sample/src/main/AndroidManifest.xml @@ -7,6 +7,7 @@ + { @Override diff --git a/sample/src/main/java/pl/charmas/android/reactivelocation2/sample/utils/DetectedActivityToString.java b/sample/src/main/java/pl/charmas/android/reactivelocation2/sample/utils/DetectedActivityToString.java index 71b4239d..51add1d2 100755 --- a/sample/src/main/java/pl/charmas/android/reactivelocation2/sample/utils/DetectedActivityToString.java +++ b/sample/src/main/java/pl/charmas/android/reactivelocation2/sample/utils/DetectedActivityToString.java @@ -2,7 +2,7 @@ import com.google.android.gms.location.DetectedActivity; -import io.reactivex.functions.Function; +import io.reactivex.rxjava3.functions.Function; public class DetectedActivityToString implements Function { @Override diff --git a/sample/src/main/java/pl/charmas/android/reactivelocation2/sample/utils/DisplayTextOnViewAction.java b/sample/src/main/java/pl/charmas/android/reactivelocation2/sample/utils/DisplayTextOnViewAction.java index dd00c1f9..c164c3ac 100755 --- a/sample/src/main/java/pl/charmas/android/reactivelocation2/sample/utils/DisplayTextOnViewAction.java +++ b/sample/src/main/java/pl/charmas/android/reactivelocation2/sample/utils/DisplayTextOnViewAction.java @@ -2,7 +2,7 @@ import android.widget.TextView; -import io.reactivex.functions.Consumer; +import io.reactivex.rxjava3.functions.Consumer; public class DisplayTextOnViewAction implements Consumer { private final TextView target; diff --git a/sample/src/main/java/pl/charmas/android/reactivelocation2/sample/utils/LocationToStringFunc.java b/sample/src/main/java/pl/charmas/android/reactivelocation2/sample/utils/LocationToStringFunc.java index dc9e9827..e0841ad7 100755 --- a/sample/src/main/java/pl/charmas/android/reactivelocation2/sample/utils/LocationToStringFunc.java +++ b/sample/src/main/java/pl/charmas/android/reactivelocation2/sample/utils/LocationToStringFunc.java @@ -2,7 +2,7 @@ import android.location.Location; -import io.reactivex.functions.Function; +import io.reactivex.rxjava3.functions.Function; public class LocationToStringFunc implements Function { @Override diff --git a/sample/src/main/java/pl/charmas/android/reactivelocation2/sample/utils/RxTextView.java b/sample/src/main/java/pl/charmas/android/reactivelocation2/sample/utils/RxTextView.java index 7c9ead44..195cd420 100644 --- a/sample/src/main/java/pl/charmas/android/reactivelocation2/sample/utils/RxTextView.java +++ b/sample/src/main/java/pl/charmas/android/reactivelocation2/sample/utils/RxTextView.java @@ -1,10 +1,12 @@ package pl.charmas.android.reactivelocation2.sample.utils; -import android.support.annotation.CheckResult; -import android.support.annotation.NonNull; + import android.widget.TextView; -import io.reactivex.Observable; +import androidx.annotation.CheckResult; +import androidx.annotation.NonNull; + +import io.reactivex.rxjava3.core.Observable; /** diff --git a/sample/src/main/java/pl/charmas/android/reactivelocation2/sample/utils/TextViewTextOnSubscribe.java b/sample/src/main/java/pl/charmas/android/reactivelocation2/sample/utils/TextViewTextOnSubscribe.java index d43302d1..0d5cbd7b 100644 --- a/sample/src/main/java/pl/charmas/android/reactivelocation2/sample/utils/TextViewTextOnSubscribe.java +++ b/sample/src/main/java/pl/charmas/android/reactivelocation2/sample/utils/TextViewTextOnSubscribe.java @@ -7,10 +7,11 @@ import java.util.concurrent.atomic.AtomicBoolean; -import io.reactivex.ObservableEmitter; -import io.reactivex.ObservableOnSubscribe; -import io.reactivex.android.schedulers.AndroidSchedulers; -import io.reactivex.disposables.Disposable; +import io.reactivex.rxjava3.android.schedulers.AndroidSchedulers; +import io.reactivex.rxjava3.core.ObservableEmitter; +import io.reactivex.rxjava3.core.ObservableOnSubscribe; +import io.reactivex.rxjava3.disposables.Disposable; + class TextViewTextOnSubscribe implements ObservableOnSubscribe { private final TextView view; diff --git a/sample/src/main/java/pl/charmas/android/reactivelocation2/sample/utils/ToMostProbableActivity.java b/sample/src/main/java/pl/charmas/android/reactivelocation2/sample/utils/ToMostProbableActivity.java index a386b21c..0ce87325 100755 --- a/sample/src/main/java/pl/charmas/android/reactivelocation2/sample/utils/ToMostProbableActivity.java +++ b/sample/src/main/java/pl/charmas/android/reactivelocation2/sample/utils/ToMostProbableActivity.java @@ -3,7 +3,7 @@ import com.google.android.gms.location.ActivityRecognitionResult; import com.google.android.gms.location.DetectedActivity; -import io.reactivex.functions.Function; +import io.reactivex.rxjava3.functions.Function; public class ToMostProbableActivity implements Function { @Override diff --git a/sample/src/main/java/pl/charmas/android/reactivelocation2/sample/utils/UnsubscribeIfPresent.java b/sample/src/main/java/pl/charmas/android/reactivelocation2/sample/utils/UnsubscribeIfPresent.java index ed74a5ed..fc341809 100755 --- a/sample/src/main/java/pl/charmas/android/reactivelocation2/sample/utils/UnsubscribeIfPresent.java +++ b/sample/src/main/java/pl/charmas/android/reactivelocation2/sample/utils/UnsubscribeIfPresent.java @@ -1,6 +1,6 @@ package pl.charmas.android.reactivelocation2.sample.utils; -import io.reactivex.disposables.Disposable; +import io.reactivex.rxjava3.disposables.Disposable; public final class UnsubscribeIfPresent { private UnsubscribeIfPresent() {//no instance From f809e309c73514319759b06211eb74e33afd3daf Mon Sep 17 00:00:00 2001 From: Alejandro Barba Date: Fri, 25 Jun 2021 11:01:33 -0500 Subject: [PATCH 2/2] chore: validate global env var --- sample/build.gradle | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sample/build.gradle b/sample/build.gradle index 1448ba88..f05ebaca 100755 --- a/sample/build.gradle +++ b/sample/build.gradle @@ -1,7 +1,7 @@ apply plugin: 'com.android.application' def getGooglePlayServicesApiKey() { - if (REACTIVE_LOCATION_GMS_API_KEY != null && !REACTIVE_LOCATION_GMS_API_KEY.isEmpty()) { + if (project.hasProperty('REACTIVE_LOCATION_GMS_API_KEY') && !REACTIVE_LOCATION_GMS_API_KEY.isEmpty()) { return REACTIVE_LOCATION_GMS_API_KEY; } return ""