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

Commit 34729ab5 authored by Song Chun Fan's avatar Song Chun Fan Committed by Android (Google) Code Review
Browse files

Merge "[MediaProjection] Fix package visibility check" into udc-dev

parents 53ea8320 98261b47
Loading
Loading
Loading
Loading
+12 −15
Original line number Diff line number Diff line
@@ -357,13 +357,17 @@ public final class MediaProjectionManagerService extends SystemService
        } catch (NameNotFoundException e) {
            throw new IllegalArgumentException("No package matching :" + packageName);
        }

        final long callingToken = Binder.clearCallingIdentity();
        try {
            projection = new MediaProjection(type, uid, packageName, ai.targetSdkVersion,
                    ai.isPrivilegedApp());
            if (isPermanentGrant) {
                mAppOps.setMode(AppOpsManager.OP_PROJECT_MEDIA,
                        projection.uid, projection.packageName, AppOpsManager.MODE_ALLOWED);
            }
        } finally {
            Binder.restoreCallingIdentity(callingToken);
        }
        return projection;
    }

@@ -418,16 +422,9 @@ public final class MediaProjectionManagerService extends SystemService
            if (packageName == null || packageName.isEmpty()) {
                throw new IllegalArgumentException("package name must not be empty");
            }
            MediaProjection projection;
            final UserHandle callingUser = Binder.getCallingUserHandle();
            final long callingToken = Binder.clearCallingIdentity();
            try {
                projection = createProjectionInternal(uid, packageName, type, isPermanentGrant,
            return createProjectionInternal(uid, packageName, type, isPermanentGrant,
                    callingUser, false);
            } finally {
                Binder.restoreCallingIdentity(callingToken);
            }
            return projection;
        }

        @Override // Binder call