Merge "Reset identity context in STService" into udc-dev am: fb0356f7ad

Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/21487927

Change-Id: Iae485d1d2159450364627778a16b12c52e7a518b
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
This commit is contained in:
TreeHugger Robot
2023-02-21 02:02:23 +00:00
committed by Automerger Merge Worker

View File

@@ -1647,13 +1647,16 @@ public class SoundTriggerService extends SystemService {
@Override
public List<ModuleProperties> listModuleProperties(Identity originatorIdentity) {
Identity identity = new Identity();
identity.packageName = ActivityThread.currentOpPackageName();
ArrayList<ModuleProperties> moduleList = new ArrayList<>();
// Overwrite with our own identity to fix permission issues.
// VIMService always does its own validation, so this is fine.
// TODO(b/269765333)
SoundTrigger.listModulesAsOriginator(moduleList, identity);
try (SafeCloseable ignored = PermissionUtil.establishIdentityDirect(
originatorIdentity)) {
Identity middlemanIdentity = new Identity();
middlemanIdentity.uid = Binder.getCallingUid();
middlemanIdentity.pid = Binder.getCallingPid();
middlemanIdentity.packageName = ActivityThread.currentOpPackageName();
SoundTrigger.listModulesAsMiddleman(moduleList, middlemanIdentity,
originatorIdentity);
}
return moduleList;
}