Merge "DO NOT MERGE. Add a permissions check to LocationManagerService." into tm-dev

This commit is contained in:
Brian Julian
2022-05-20 19:26:04 +00:00
committed by Android (Google) Code Review

View File

@@ -17,6 +17,7 @@
package com.android.server.location; package com.android.server.location;
import static android.Manifest.permission.ACCESS_FINE_LOCATION; import static android.Manifest.permission.ACCESS_FINE_LOCATION;
import static android.Manifest.permission.INTERACT_ACROSS_USERS;
import static android.Manifest.permission.WRITE_SECURE_SETTINGS; import static android.Manifest.permission.WRITE_SECURE_SETTINGS;
import static android.app.compat.CompatChanges.isChangeEnabled; import static android.app.compat.CompatChanges.isChangeEnabled;
import static android.content.pm.PackageManager.MATCH_DIRECT_BOOT_AWARE; import static android.content.pm.PackageManager.MATCH_DIRECT_BOOT_AWARE;
@@ -1030,8 +1031,10 @@ public class LocationManagerService extends ILocationManager.Stub implements
@Override @Override
public void addProviderRequestListener(IProviderRequestListener listener) { public void addProviderRequestListener(IProviderRequestListener listener) {
for (LocationProviderManager manager : mProviderManagers) { if (mContext.checkCallingOrSelfPermission(INTERACT_ACROSS_USERS) == PERMISSION_GRANTED) {
manager.addProviderRequestListener(listener); for (LocationProviderManager manager : mProviderManagers) {
manager.addProviderRequestListener(listener);
}
} }
} }