diff options
| author | 2022-05-20 19:27:05 +0000 | |
|---|---|---|
| committer | 2022-05-20 19:27:05 +0000 | |
| commit | 6a3adcb520f09c2d9cb989ff0b34052a916c4584 (patch) | |
| tree | 98fb8f2c07533dae92640bb56f7edec603f8a05b | |
| parent | 6b1bf26b0b2adcae2fa5390d01a4d3f1c4993cf7 (diff) | |
| parent | 8b7a4471043581849b1ba302b9534583461b1d93 (diff) | |
Merge "DO NOT MERGE. Add a permissions check to LocationManagerService." into sc-qpr1-dev
| -rw-r--r-- | services/core/java/com/android/server/location/LocationManagerService.java | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/services/core/java/com/android/server/location/LocationManagerService.java b/services/core/java/com/android/server/location/LocationManagerService.java index e6210b2a8cc9..fe5b94a3b576 100644 --- a/services/core/java/com/android/server/location/LocationManagerService.java +++ b/services/core/java/com/android/server/location/LocationManagerService.java @@ -17,6 +17,7 @@ package com.android.server.location; import static android.Manifest.permission.ACCESS_FINE_LOCATION; +import static android.Manifest.permission.INTERACT_ACROSS_USERS; import static android.app.compat.CompatChanges.isChangeEnabled; import static android.content.pm.PackageManager.MATCH_DIRECT_BOOT_AWARE; import static android.content.pm.PackageManager.MATCH_SYSTEM_ONLY; @@ -39,6 +40,7 @@ import android.Manifest; import android.Manifest.permission; import android.annotation.NonNull; import android.annotation.Nullable; +import android.annotation.RequiresPermission; import android.app.ActivityManager; import android.app.AppOpsManager; import android.app.PendingIntent; @@ -1063,8 +1065,10 @@ public class LocationManagerService extends ILocationManager.Stub implements @Override public void addProviderRequestListener(IProviderRequestListener listener) { - for (LocationProviderManager manager : mProviderManagers) { - manager.addProviderRequestListener(listener); + if (mContext.checkCallingOrSelfPermission(INTERACT_ACROSS_USERS) == PERMISSION_GRANTED) { + for (LocationProviderManager manager : mProviderManagers) { + manager.addProviderRequestListener(listener); + } } } |