[Android] Update usage of GMS location from deprecated APIs (#620)

Co-authored-by: Birk Skyum <74932975+birkskyum@users.noreply.github.com>
This commit is contained in:
Robin
2023-01-03 21:43:24 +01:00
committed by GitHub
parent 4175a53af6
commit da9c7ae2a5
2 changed files with 13 additions and 11 deletions

View File

@@ -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

View File

@@ -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<LocationCallback> {
}
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;
}
}