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: Idf896d3d42fad8733f710c5fc434949340e7836d
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:03:33 +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;
}