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 <install-in user-type="FULL" />, but not SYSTEM, run: adb shell cmd package get-privapp-permissions <packagename> and get the expected output.

Change-Id: I816fc36b448856a0e0244211549b54e0a95f277e
This commit is contained in:
Nicholas Sauer
2020-09-21 21:06:40 -07:00
parent 0766cdc08c
commit e503f45548

View File

@@ -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;