diff options
| -rw-r--r-- | services/core/java/com/android/server/location/GnssLocationProvider.java | 2 | ||||
| -rw-r--r-- | services/core/java/com/android/server/location/GnssVisibilityControl.java | 21 |
2 files changed, 9 insertions, 14 deletions
diff --git a/services/core/java/com/android/server/location/GnssLocationProvider.java b/services/core/java/com/android/server/location/GnssLocationProvider.java index f28bce5d5e7b..e7636ae8acb4 100644 --- a/services/core/java/com/android/server/location/GnssLocationProvider.java +++ b/services/core/java/com/android/server/location/GnssLocationProvider.java @@ -937,7 +937,7 @@ public class GnssLocationProvider extends AbstractLocationProvider implements mGnssNavigationMessageProvider.onGpsEnabledChanged(); mGnssBatchingProvider.enable(); if (mGnssVisibilityControl != null) { - mGnssVisibilityControl.onGpsEnabledChanged(/* isEnabled= */true); + mGnssVisibilityControl.onGpsEnabledChanged(/* isEnabled= */ true); } } else { setGpsEnabled(false); diff --git a/services/core/java/com/android/server/location/GnssVisibilityControl.java b/services/core/java/com/android/server/location/GnssVisibilityControl.java index 3ee941920f48..ea4f9c456856 100644 --- a/services/core/java/com/android/server/location/GnssVisibilityControl.java +++ b/services/core/java/com/android/server/location/GnssVisibilityControl.java @@ -151,7 +151,6 @@ class GnssVisibilityControl { } private void handleInitialize() { - disableNfwLocationAccess(); // Disable until config properties are loaded. listenForProxyAppsPackageUpdates(); } @@ -261,25 +260,21 @@ class GnssVisibilityControl { return false; } - private void handleGpsEnabledChanged(boolean isEnabled) { - if (DEBUG) Log.d(TAG, "handleGpsEnabledChanged, isEnabled: " + isEnabled); - - if (mIsGpsEnabled == isEnabled) { - return; + private void handleGpsEnabledChanged(boolean isGpsEnabled) { + if (DEBUG) { + Log.d(TAG, "handleGpsEnabledChanged, mIsGpsEnabled: " + mIsGpsEnabled + + ", isGpsEnabled: " + isGpsEnabled); } - mIsGpsEnabled = isEnabled; + // The proxy app list in the GNSS HAL needs to be configured if it restarts after + // a crash. So, update HAL irrespective of the previous GPS enabled state. + mIsGpsEnabled = isGpsEnabled; if (!mIsGpsEnabled) { disableNfwLocationAccess(); return; } - // When GNSS was disabled, we already set the proxy app list to empty in GNSS HAL. - // Update only if the proxy app list is not empty. - String[] locationPermissionEnabledProxyApps = getLocationPermissionEnabledProxyApps(); - if (locationPermissionEnabledProxyApps.length != 0) { - setNfwLocationAccessProxyAppsInGnssHal(locationPermissionEnabledProxyApps); - } + setNfwLocationAccessProxyAppsInGnssHal(getLocationPermissionEnabledProxyApps()); } private void disableNfwLocationAccess() { |