Loading services/core/java/com/android/server/location/GnssVisibilityControl.java +13 −4 Original line number Diff line number Diff line Loading @@ -456,9 +456,8 @@ class GnssVisibilityControl { final String proxyAppPkgName = nfwNotification.mProxyAppPackageName; final ProxyAppState proxyAppState = mProxyAppsState.get(proxyAppPkgName); final boolean isLocationRequestAccepted = nfwNotification.isRequestAccepted(); final boolean isPermissionMismatched = (proxyAppState == null) ? isLocationRequestAccepted : (proxyAppState.mHasLocationPermission != isLocationRequestAccepted); final boolean isPermissionMismatched = isPermissionMismatched(proxyAppState, nfwNotification); logEvent(nfwNotification, isPermissionMismatched); if (!nfwNotification.isRequestAttributedToProxyApp()) { Loading Loading @@ -506,14 +505,24 @@ class GnssVisibilityControl { // Log proxy app permission mismatch between framework and GNSS HAL. if (isPermissionMismatched) { Log.w(TAG, "Permission mismatch. Framework proxy app " + proxyAppPkgName Log.w(TAG, "Permission mismatch. Proxy app " + proxyAppPkgName + " location permission is set to " + proxyAppState.mHasLocationPermission + " and GNSS HAL enabled is set to " + mIsGpsEnabled + " but GNSS non-framework location access response type is " + nfwNotification.getResponseTypeAsString() + " for notification: " + nfwNotification); } } private boolean isPermissionMismatched(ProxyAppState proxyAppState, NfwNotification nfwNotification) { // Non-framework non-emergency location requests must be accepted only when IGnss.hal // is enabled and the proxy app has location permission. final boolean isLocationRequestAccepted = nfwNotification.isRequestAccepted(); return (proxyAppState == null || !mIsGpsEnabled) ? isLocationRequestAccepted : (proxyAppState.mHasLocationPermission != isLocationRequestAccepted); } private void showLocationIcon(ProxyAppState proxyAppState, NfwNotification nfwNotification, int uid, String proxyAppPkgName) { // If we receive a new NfwNotification before the location icon is turned off for the Loading Loading
services/core/java/com/android/server/location/GnssVisibilityControl.java +13 −4 Original line number Diff line number Diff line Loading @@ -456,9 +456,8 @@ class GnssVisibilityControl { final String proxyAppPkgName = nfwNotification.mProxyAppPackageName; final ProxyAppState proxyAppState = mProxyAppsState.get(proxyAppPkgName); final boolean isLocationRequestAccepted = nfwNotification.isRequestAccepted(); final boolean isPermissionMismatched = (proxyAppState == null) ? isLocationRequestAccepted : (proxyAppState.mHasLocationPermission != isLocationRequestAccepted); final boolean isPermissionMismatched = isPermissionMismatched(proxyAppState, nfwNotification); logEvent(nfwNotification, isPermissionMismatched); if (!nfwNotification.isRequestAttributedToProxyApp()) { Loading Loading @@ -506,14 +505,24 @@ class GnssVisibilityControl { // Log proxy app permission mismatch between framework and GNSS HAL. if (isPermissionMismatched) { Log.w(TAG, "Permission mismatch. Framework proxy app " + proxyAppPkgName Log.w(TAG, "Permission mismatch. Proxy app " + proxyAppPkgName + " location permission is set to " + proxyAppState.mHasLocationPermission + " and GNSS HAL enabled is set to " + mIsGpsEnabled + " but GNSS non-framework location access response type is " + nfwNotification.getResponseTypeAsString() + " for notification: " + nfwNotification); } } private boolean isPermissionMismatched(ProxyAppState proxyAppState, NfwNotification nfwNotification) { // Non-framework non-emergency location requests must be accepted only when IGnss.hal // is enabled and the proxy app has location permission. final boolean isLocationRequestAccepted = nfwNotification.isRequestAccepted(); return (proxyAppState == null || !mIsGpsEnabled) ? isLocationRequestAccepted : (proxyAppState.mHasLocationPermission != isLocationRequestAccepted); } private void showLocationIcon(ProxyAppState proxyAppState, NfwNotification nfwNotification, int uid, String proxyAppPkgName) { // If we receive a new NfwNotification before the location icon is turned off for the Loading