From da9c7ae2a5e8151160a2776bdb6c1bf607186171 Mon Sep 17 00:00:00 2001 From: Robin Date: Tue, 3 Jan 2023 21:43:24 +0100 Subject: [PATCH] [Android] Update usage of GMS location from deprecated APIs (#620) Co-authored-by: Birk Skyum <74932975+birkskyum@users.noreply.github.com> --- platform/android/CHANGELOG.md | 2 ++ .../engine/GoogleLocationEngineImpl.java | 22 +++++++++---------- 2 files changed, 13 insertions(+), 11 deletions(-) diff --git a/platform/android/CHANGELOG.md b/platform/android/CHANGELOG.md index f6905cdc0..def44855f 100644 --- a/platform/android/CHANGELOG.md +++ b/platform/android/CHANGELOG.md @@ -7,6 +7,7 @@ MapLibre welcomes participation and contributions from everyone. Please read [`C ### ✨ Features and improvements * Add your pull request... +* GMS location: Replace new LocationRequest() with LocationRequest.Builder, and LocationRequest.PRIORITY_X with Priority.PRIORITY_X ([620](https://github.com/maplibre/maplibre-gl-native/pull/620)) ### 🐞 Bug fixes @@ -18,6 +19,7 @@ MapLibre welcomes participation and contributions from everyone. Please read [`C * Revert "Revert "Gradle update"" - Update Gradle from v3 to v7 ([#619](https://github.com/maplibre/maplibre-gl-native/pull/619)) + ## 9.6.0 - December 18, 2022 ### ✨ Features and improvements diff --git a/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/location/engine/GoogleLocationEngineImpl.java b/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/location/engine/GoogleLocationEngineImpl.java index f645940be..b6e6afb23 100644 --- a/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/location/engine/GoogleLocationEngineImpl.java +++ b/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/location/engine/GoogleLocationEngineImpl.java @@ -15,6 +15,7 @@ import com.google.android.gms.location.LocationCallback; import com.google.android.gms.location.LocationRequest; import com.google.android.gms.location.LocationResult; import com.google.android.gms.location.LocationServices; +import com.google.android.gms.location.Priority; import com.google.android.gms.tasks.OnFailureListener; import com.google.android.gms.tasks.OnSuccessListener; @@ -81,26 +82,25 @@ class GoogleLocationEngineImpl implements LocationEngineImpl { } private static LocationRequest toGMSLocationRequest(LocationEngineRequest request) { - LocationRequest locationRequest = new LocationRequest(); - locationRequest.setInterval(request.getInterval()); - locationRequest.setFastestInterval(request.getFastestInterval()); - locationRequest.setSmallestDisplacement(request.getDisplacement()); - locationRequest.setMaxWaitTime(request.getMaxWaitTime()); - locationRequest.setPriority(toGMSLocationPriority(request.getPriority())); - return locationRequest; + LocationRequest.Builder builder = new LocationRequest.Builder(request.getInterval()); + builder.setMinUpdateIntervalMillis(request.getFastestInterval()); + builder.setMinUpdateDistanceMeters(request.getDisplacement()); + builder.setMaxUpdateDelayMillis(request.getMaxWaitTime()); + builder.setPriority(toGMSLocationPriority(request.getPriority())); + return builder.build(); } private static int toGMSLocationPriority(int enginePriority) { switch (enginePriority) { case LocationEngineRequest.PRIORITY_HIGH_ACCURACY: - return LocationRequest.PRIORITY_HIGH_ACCURACY; + return Priority.PRIORITY_HIGH_ACCURACY; case LocationEngineRequest.PRIORITY_BALANCED_POWER_ACCURACY: - return LocationRequest.PRIORITY_BALANCED_POWER_ACCURACY; + return Priority.PRIORITY_BALANCED_POWER_ACCURACY; case LocationEngineRequest.PRIORITY_LOW_POWER: - return LocationRequest.PRIORITY_LOW_POWER; + return Priority.PRIORITY_LOW_POWER; case LocationEngineRequest.PRIORITY_NO_POWER: default: - return LocationRequest.PRIORITY_NO_POWER; + return Priority.PRIORITY_PASSIVE; } }