From 725a26e5ad71bda685f208c5ebf615a975af9ffb Mon Sep 17 00:00:00 2001 From: Mehmet Murat Sevim Date: Fri, 18 Apr 2025 07:23:51 +0100 Subject: [PATCH 1/2] Handle DEVELOPER_ERROR response from checkLocationSettings. --- .../baseflow/geolocator/location/FusedLocationClient.java | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/geolocator_android/android/src/main/java/com/baseflow/geolocator/location/FusedLocationClient.java b/geolocator_android/android/src/main/java/com/baseflow/geolocator/location/FusedLocationClient.java index a5e3f2b1..e10b7ded 100644 --- a/geolocator_android/android/src/main/java/com/baseflow/geolocator/location/FusedLocationClient.java +++ b/geolocator_android/android/src/main/java/com/baseflow/geolocator/location/FusedLocationClient.java @@ -16,6 +16,7 @@ import com.baseflow.geolocator.errors.ErrorCallback; import com.baseflow.geolocator.errors.ErrorCodes; import com.google.android.gms.common.api.ApiException; +import com.google.android.gms.common.api.CommonStatusCodes; import com.google.android.gms.common.api.ResolvableApiException; import com.google.android.gms.location.FusedLocationProviderClient; import com.google.android.gms.location.LocationAvailability; @@ -240,6 +241,7 @@ public void startPositionUpdates( locationSettingsResponse -> requestPositionUpdates(this.locationOptions)) .addOnFailureListener( e -> { + Log.w(TAG, "checkLocationSettings error", e); if (e instanceof ResolvableApiException) { // When we don't have an activity return an error code explaining the // location services are not enabled @@ -264,7 +266,9 @@ public void startPositionUpdates( } else { ApiException ae = (ApiException) e; int statusCode = ae.getStatusCode(); - if (statusCode == LocationSettingsStatusCodes.SETTINGS_CHANGE_UNAVAILABLE) { + // checkLocationSettings returns DEVELOPER_ERROR on Wear OS. + if (statusCode == LocationSettingsStatusCodes.SETTINGS_CHANGE_UNAVAILABLE + || statusCode == CommonStatusCodes.DEVELOPER_ERROR) { requestPositionUpdates(this.locationOptions); } else { // This should not happen according to Android documentation but it has been From f51c9eb73e7f9a7abe2f1af70593fe4eead1ff36 Mon Sep 17 00:00:00 2001 From: muratsevim Date: Fri, 18 Apr 2025 07:54:58 +0100 Subject: [PATCH 2/2] Add Wear OS bugfix to changelog. --- geolocator_android/CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/geolocator_android/CHANGELOG.md b/geolocator_android/CHANGELOG.md index a4067024..6a960f2b 100644 --- a/geolocator_android/CHANGELOG.md +++ b/geolocator_android/CHANGELOG.md @@ -1,6 +1,7 @@ ## 5.0.1+1 - Bump `androidx.core:core` to version 1.16.0 +- Fixes `location service on the device is disabled` bug on Wear OS ## 5.0.1