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

Commit b909171a authored by TreeHugger Robot's avatar TreeHugger Robot Committed by Automerger Merge Worker
Browse files

Merge "Make package handling in openContentUri more robust" into sc-dev am: 3ff294cd

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

Change-Id: I4c3551841938fa0212b172c716af0391427aa7bf
parents f1c16a09 3ff294cd
Loading
Loading
Loading
Loading
+14 −2
Original line number Diff line number Diff line
@@ -6222,8 +6222,20 @@ public class ActivityManagerService extends IActivityManager.Stub
                // signature we just use the first package in the UID. For shared
                // UIDs we may blame the wrong app but that is Okay as they are
                // in the same security/privacy sandbox.
                final AndroidPackage androidPackage = mPackageManagerInt
                        .getPackage(Binder.getCallingUid());
                final int uid = Binder.getCallingUid();
                // Here we handle some of the special UIDs (mediaserver, systemserver, etc)
                final String packageName = AppOpsManager.resolvePackageName(uid,
                        /*packageName*/ null);
                final AndroidPackage androidPackage;
                if (packageName != null) {
                    androidPackage = mPackageManagerInt.getPackage(packageName);
                } else {
                    androidPackage = mPackageManagerInt.getPackage(uid);
                }
                if (androidPackage == null) {
                    Log.e(TAG, "Cannot find package for uid: " + uid);
                    return null;
                }
                final AttributionSource attributionSource = new AttributionSource(
                        Binder.getCallingUid(), androidPackage.getPackageName(), null);
                pfd = cph.provider.openFile(attributionSource, uri, "r", null);