From 68e317c4e36cdfbd2016cd6fd75f4b61b4a2963b Mon Sep 17 00:00:00 2001 From: Grace Cheng Date: Tue, 8 Nov 2022 00:08:23 +0000 Subject: [PATCH] Restricts driver assistance location bypass to current user. To support concurrent multi user in multi display, we restrict driver assistance location bypass to current user which is always driver. Bug: 236139244 Bug: 245357588 Test: atest CtsLocaitonHostTestCases Test: manually in emulator Change-Id: I1c47690f525e0084de32faf24d837492976ddf52 --- .../server/location/provider/LocationProviderManager.java | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/services/core/java/com/android/server/location/provider/LocationProviderManager.java b/services/core/java/com/android/server/location/provider/LocationProviderManager.java index 338a99567b67d..9f6487d2e79ba 100644 --- a/services/core/java/com/android/server/location/provider/LocationProviderManager.java +++ b/services/core/java/com/android/server/location/provider/LocationProviderManager.java @@ -661,6 +661,8 @@ public class LocationProviderManager extends if (!GPS_PROVIDER.equals(mName)) { Log.e(TAG, "adas gnss bypass request received in non-gps provider"); adasGnssBypass = false; + } else if (!mUserHelper.isCurrentUserId(getIdentity().getUserId())) { + adasGnssBypass = false; } else if (!mLocationSettings.getUserSettings( getIdentity().getUserId()).isAdasGnssLocationEnabled()) { adasGnssBypass = false; @@ -1712,6 +1714,8 @@ public class LocationProviderManager extends if (!GPS_PROVIDER.equals(mName)) { Log.e(TAG, "adas gnss bypass request received in non-gps provider"); adasGnssBypass = false; + } else if (!mUserHelper.isCurrentUserId(identity.getUserId())) { + adasGnssBypass = false; } else if (!mLocationSettings.getUserSettings( identity.getUserId()).isAdasGnssLocationEnabled()) { adasGnssBypass = false;