Merge "Fix permission mismatch logging of NfwNotification when GNSS HAL is disabled" into qt-dev
am: 2ef048060c
Change-Id: I39d55cfccdf0641f07b0c59dbc8a62f769cab5e1
This commit is contained in:
@@ -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()) {
|
||||
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user