Fetch correct sandboxsdk packageUid for a user
Currently packageUid for sdksandbox is always fetched for user 0. This causes a failure to fetch packageUid with Binder.callingUid() when invoked for a different user. Bug: b/246514935 Test: Manual Change-Id: I30796637fdfb638d9952d5bf35ccedc6ab0097f0
This commit is contained in:
@@ -4593,9 +4593,8 @@ public class AppOpsService extends IAppOpsService.Stub {
|
||||
final PackageManager pm = mContext.getPackageManager();
|
||||
final String supplementalPackageName = pm.getSdkSandboxPackageName();
|
||||
if (Objects.equals(packageName, supplementalPackageName)) {
|
||||
int supplementalAppId = pm.getPackageUid(supplementalPackageName,
|
||||
PackageManager.PackageInfoFlags.of(0));
|
||||
uid = UserHandle.getUid(UserHandle.getUserId(uid), supplementalAppId);
|
||||
uid = pm.getPackageUidAsUser(supplementalPackageName,
|
||||
PackageManager.PackageInfoFlags.of(0), UserHandle.getUserId(uid));
|
||||
}
|
||||
} catch (PackageManager.NameNotFoundException e) {
|
||||
// Shouldn't happen for the supplemental package
|
||||
|
||||
Reference in New Issue
Block a user