From 037ef9d58af80be38d4532faad4fc7442ca8695e Mon Sep 17 00:00:00 2001 From: Tyler Trephan Date: Fri, 17 May 2019 13:41:18 -0700 Subject: [PATCH] Fixes multiuser GNSS Bug. Allows different users to use GNSS according to their permissions. Change-Id: Id68537771f3f23111f2890e910c4e47386effe37 Fix: 131774255 Test: Built and flashed on device. Tested using GPS Test app. --- .../com/android/server/location/GnssLocationProvider.java | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/services/core/java/com/android/server/location/GnssLocationProvider.java b/services/core/java/com/android/server/location/GnssLocationProvider.java index b2315c7b7314b..f28bce5d5e7b7 100644 --- a/services/core/java/com/android/server/location/GnssLocationProvider.java +++ b/services/core/java/com/android/server/location/GnssLocationProvider.java @@ -966,8 +966,9 @@ public class GnssLocationProvider extends AbstractLocationProvider implements } private void updateEnabled() { - // Generally follow location setting - boolean enabled = mContext.getSystemService(LocationManager.class).isLocationEnabled(); + // Generally follow location setting for current user + boolean enabled = mContext.getSystemService(LocationManager.class) + .isLocationEnabledForUser(UserHandle.CURRENT); // ... but disable if PowerManager overrides enabled &= !mDisableGpsForPowerManager;