diff options
| -rw-r--r-- | services/core/java/com/android/server/pm/ComputerEngine.java | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/services/core/java/com/android/server/pm/ComputerEngine.java b/services/core/java/com/android/server/pm/ComputerEngine.java index 6f7ce80e42b1..1aa1fd10b00e 100644 --- a/services/core/java/com/android/server/pm/ComputerEngine.java +++ b/services/core/java/com/android/server/pm/ComputerEngine.java @@ -4298,6 +4298,11 @@ public class ComputerEngine implements Computer { if (Process.isSdkSandboxUid(uid)) { uid = getBaseSdkSandboxUid(); } + if (Process.isIsolatedUid(uid) + && mPermissionManager.getHotwordDetectionServiceProvider() != null + && uid == mPermissionManager.getHotwordDetectionServiceProvider().getUid()) { + uid = getIsolatedOwner(uid); + } final int callingUserId = UserHandle.getUserId(callingUid); final int appId = UserHandle.getAppId(uid); final Object obj = mSettings.getSettingBase(appId); @@ -4334,6 +4339,11 @@ public class ComputerEngine implements Computer { if (Process.isSdkSandboxUid(uid)) { uid = getBaseSdkSandboxUid(); } + if (Process.isIsolatedUid(uid) + && mPermissionManager.getHotwordDetectionServiceProvider() != null + && uid == mPermissionManager.getHotwordDetectionServiceProvider().getUid()) { + uid = getIsolatedOwner(uid); + } final int appId = UserHandle.getAppId(uid); final Object obj = mSettings.getSettingBase(appId); if (obj instanceof SharedUserSetting) { |