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

Commit 1f2d247e 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: I28cdafeb5d95662ef633aee19ff20fbda09033a1
parents a921a16d 3ff294cd
Loading
Loading
Loading
Loading
+14 −2
Original line number Diff line number Diff line
@@ -6216,8 +6216,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);