From e503f455483ca8af47f96b4b08e79030b50aae1c Mon Sep 17 00:00:00 2001 From: Nicholas Sauer Date: Mon, 21 Sep 2020 21:06:40 -0700 Subject: Use MATCH_ANY_USER when retrieving PackageInfo. bug: 157104172 Test: m gcar && emulator; cts-tradefed run cts -m CtsPermission2TestCases -t android.permission2.cts.PrivappPermissionsTest Test: With a package set as , but not SYSTEM, run: adb shell cmd package get-privapp-permissions and get the expected output. Change-Id: I816fc36b448856a0e0244211549b54e0a95f277e --- .../java/com/android/server/pm/PackageManagerShellCommand.java | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/services/core/java/com/android/server/pm/PackageManagerShellCommand.java b/services/core/java/com/android/server/pm/PackageManagerShellCommand.java index 8bbe9cc01ada..7b4e4d94baa2 100644 --- a/services/core/java/com/android/server/pm/PackageManagerShellCommand.java +++ b/services/core/java/com/android/server/pm/PackageManagerShellCommand.java @@ -2313,7 +2313,8 @@ class PackageManagerShellCommand extends ShellCommand { private boolean isVendorApp(String pkg) { try { - final PackageInfo info = mInterface.getPackageInfo(pkg, 0, UserHandle.USER_SYSTEM); + final PackageInfo info = mInterface.getPackageInfo( + pkg, PackageManager.MATCH_ANY_USER, UserHandle.USER_SYSTEM); return info != null && info.applicationInfo.isVendor(); } catch (RemoteException e) { return false; @@ -2322,7 +2323,8 @@ class PackageManagerShellCommand extends ShellCommand { private boolean isProductApp(String pkg) { try { - final PackageInfo info = mInterface.getPackageInfo(pkg, 0, UserHandle.USER_SYSTEM); + final PackageInfo info = mInterface.getPackageInfo( + pkg, PackageManager.MATCH_ANY_USER, UserHandle.USER_SYSTEM); return info != null && info.applicationInfo.isProduct(); } catch (RemoteException e) { return false; @@ -2331,7 +2333,8 @@ class PackageManagerShellCommand extends ShellCommand { private boolean isSystemExtApp(String pkg) { try { - final PackageInfo info = mInterface.getPackageInfo(pkg, 0, UserHandle.USER_SYSTEM); + final PackageInfo info = mInterface.getPackageInfo( + pkg, PackageManager.MATCH_ANY_USER, UserHandle.USER_SYSTEM); return info != null && info.applicationInfo.isSystemExt(); } catch (RemoteException e) { return false; -- cgit v1.2.3-59-g8ed1b