diff options
| -rw-r--r-- | services/core/java/com/android/server/wm/WindowManagerService.java | 20 |
1 files changed, 6 insertions, 14 deletions
diff --git a/services/core/java/com/android/server/wm/WindowManagerService.java b/services/core/java/com/android/server/wm/WindowManagerService.java index edb80d73e95f..99a0e9032add 100644 --- a/services/core/java/com/android/server/wm/WindowManagerService.java +++ b/services/core/java/com/android/server/wm/WindowManagerService.java @@ -1928,22 +1928,14 @@ public class WindowManagerService extends IWindowManager.Stub && attachedWindow.mActivityRecord.mTargetSdk >= Build.VERSION_CODES.O; } else { // Otherwise, look at the package - try { - ApplicationInfo appInfo = mContext.getPackageManager() - .getApplicationInfoAsUser(packageName, 0, - UserHandle.getUserId(callingUid)); - if (appInfo.uid != callingUid) { - throw new SecurityException("Package " + packageName + " not in UID " - + callingUid); - } - if (appInfo.targetSdkVersion >= Build.VERSION_CODES.O) { - return true; - } - } catch (PackageManager.NameNotFoundException e) { - /* ignore */ + final ApplicationInfo appInfo = mPmInternal.getApplicationInfo( + packageName, 0 /* flags */, SYSTEM_UID, UserHandle.getUserId(callingUid)); + if (appInfo == null || appInfo.uid != callingUid) { + throw new SecurityException("Package " + packageName + " not in UID " + + callingUid); } + return appInfo.targetSdkVersion >= Build.VERSION_CODES.O; } - return false; } /** |