From 7e0b7ef8d02c82c6d3c655e1b580a6975c097e87 Mon Sep 17 00:00:00 2001 From: Tao Huang Date: Thu, 19 Oct 2017 19:41:58 -0700 Subject: [PATCH] Fix wrong error code when location service is turned off on Android device Reviewed By: achen1 Differential Revision: D6106890 fbshipit-source-id: ab6ccdc2625745e4bbcdb0d7fe284de504d09641 --- .../react/modules/location/LocationModule.java | 15 ++++++--------- 1 file changed, 6 insertions(+), 9 deletions(-) diff --git a/ReactAndroid/src/main/java/com/facebook/react/modules/location/LocationModule.java b/ReactAndroid/src/main/java/com/facebook/react/modules/location/LocationModule.java index cf40dac89..bdc908ca7 100644 --- a/ReactAndroid/src/main/java/com/facebook/react/modules/location/LocationModule.java +++ b/ReactAndroid/src/main/java/com/facebook/react/modules/location/LocationModule.java @@ -16,7 +16,7 @@ import android.location.LocationManager; import android.location.LocationProvider; import android.os.Bundle; import android.os.Handler; - +import com.facebook.common.logging.FLog; import com.facebook.react.bridge.Arguments; import com.facebook.react.bridge.Callback; import com.facebook.react.bridge.ReactApplicationContext; @@ -24,13 +24,10 @@ import com.facebook.react.bridge.ReactContextBaseJavaModule; import com.facebook.react.bridge.ReactMethod; import com.facebook.react.bridge.ReadableMap; import com.facebook.react.bridge.WritableMap; +import com.facebook.react.common.ReactConstants; import com.facebook.react.common.SystemClock; import com.facebook.react.module.annotations.ReactModule; import com.facebook.react.modules.core.DeviceEventManagerModule.RCTDeviceEventEmitter; - -import com.facebook.react.common.ReactConstants; -import com.facebook.common.logging.FLog; - import javax.annotation.Nullable; /** @@ -126,9 +123,9 @@ public class LocationModule extends ReactContextBaseJavaModule { (LocationManager) getReactApplicationContext().getSystemService(Context.LOCATION_SERVICE); String provider = getValidProvider(locationManager, locationOptions.highAccuracy); if (provider == null) { - error.invoke(PositionError.buildError( - PositionError.PERMISSION_DENIED, - "No location provider available.")); + error.invoke( + PositionError.buildError( + PositionError.POSITION_UNAVAILABLE, "No location provider available.")); return; } Location location = locationManager.getLastKnownLocation(provider); @@ -162,7 +159,7 @@ public class LocationModule extends ReactContextBaseJavaModule { (LocationManager) getReactApplicationContext().getSystemService(Context.LOCATION_SERVICE); String provider = getValidProvider(locationManager, locationOptions.highAccuracy); if (provider == null) { - emitError(PositionError.PERMISSION_DENIED, "No location provider available."); + emitError(PositionError.POSITION_UNAVAILABLE, "No location provider available."); return; } if (!provider.equals(mWatchedProvider)) {