Fix disclosure of package existence info by the createProjection api

Bug: 243792935
Test: Run the PoC app manually
Change-Id: I2a4defab5c6d3de1bdb26eef74ccb139f0a75ce3
diff --git a/services/core/java/com/android/server/media/projection/MediaProjectionManagerService.java b/services/core/java/com/android/server/media/projection/MediaProjectionManagerService.java
index 25efe0c..77b9abe 100644
--- a/services/core/java/com/android/server/media/projection/MediaProjectionManagerService.java
+++ b/services/core/java/com/android/server/media/projection/MediaProjectionManagerService.java
@@ -287,19 +287,16 @@
             if (packageName == null || packageName.isEmpty()) {
                 throw new IllegalArgumentException("package name must not be empty");
             }
-
-            final UserHandle callingUser = Binder.getCallingUserHandle();
-            final long callingToken = Binder.clearCallingIdentity();
+            final ApplicationInfo ai;
+            try {
+                ai = mPackageManager.getApplicationInfo(packageName, 0);
+            } catch (NameNotFoundException e) {
+                throw new IllegalArgumentException("No package matching :" + packageName);
+            }
 
             MediaProjection projection;
+            final long callingToken = Binder.clearCallingIdentity();
             try {
-                ApplicationInfo ai;
-                try {
-                    ai = mPackageManager.getApplicationInfoAsUser(packageName, 0, callingUser);
-                } catch (NameNotFoundException e) {
-                    throw new IllegalArgumentException("No package matching :" + packageName);
-                }
-
                 projection = new MediaProjection(type, uid, packageName, ai.targetSdkVersion,
                         ai.isPrivilegedApp());
                 if (isPermanentGrant) {