Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 83e92102 authored by Shiwangi Shah's avatar Shiwangi Shah
Browse files

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
parent de2e7c43
Loading
Loading
Loading
Loading
+2 −3
Original line number Diff line number Diff line
@@ -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