Adapt to behavior change in MATCH_UNINSTALLED_PACKAGES

Don't use the PM flag to reach across users.
If retrieving labels, etc., use MATCH_ANY_USER, since
several Settings screens show work profile apps as well.

Bug: 31000380
Test: Manual test of affected screens
Change-Id: Ib6f981ae8443f640276d395c37247c8c0b610894
diff --git a/src/com/android/settings/Utils.java b/src/com/android/settings/Utils.java
index 80dcd74..1dbd471 100644
--- a/src/com/android/settings/Utils.java
+++ b/src/com/android/settings/Utils.java
@@ -1166,7 +1166,7 @@
             final ApplicationInfo appInfo = context.getPackageManager().getApplicationInfo(
                     packageName,
                     PackageManager.MATCH_DISABLED_COMPONENTS
-                    | PackageManager.MATCH_UNINSTALLED_PACKAGES);
+                    | PackageManager.MATCH_ANY_USER);
             return appInfo.loadLabel(context.getPackageManager());
         } catch (PackageManager.NameNotFoundException e) {
             Log.w(TAG, "Unable to find info for package: " + packageName);
diff --git a/src/com/android/settings/applications/AppCounter.java b/src/com/android/settings/applications/AppCounter.java
index 64b1987..9464531 100644
--- a/src/com/android/settings/applications/AppCounter.java
+++ b/src/com/android/settings/applications/AppCounter.java
@@ -41,7 +41,7 @@
             final List<ApplicationInfo> list =
                     mPm.getInstalledApplicationsAsUser(PackageManager.GET_DISABLED_COMPONENTS
                             | PackageManager.GET_DISABLED_UNTIL_USED_COMPONENTS
-                            | (user.isAdmin() ? PackageManager.GET_UNINSTALLED_PACKAGES : 0),
+                            | (user.isAdmin() ? PackageManager.MATCH_ANY_USER : 0),
                             user.id);
             for (ApplicationInfo info : list) {
                 if (includeInCount(info)) {
diff --git a/src/com/android/settings/applications/AppInfoBase.java b/src/com/android/settings/applications/AppInfoBase.java
index 8ab730a..015347d 100644
--- a/src/com/android/settings/applications/AppInfoBase.java
+++ b/src/com/android/settings/applications/AppInfoBase.java
@@ -141,8 +141,8 @@
             // Get application info again to refresh changed properties of application
             try {
                 mPackageInfo = mPm.getPackageInfo(mAppEntry.info.packageName,
-                        PackageManager.GET_DISABLED_COMPONENTS |
-                        PackageManager.GET_UNINSTALLED_PACKAGES |
+                        PackageManager.MATCH_DISABLED_COMPONENTS |
+                        PackageManager.MATCH_ANY_USER |
                         PackageManager.GET_SIGNATURES |
                         PackageManager.GET_PERMISSIONS);
             } catch (NameNotFoundException e) {
diff --git a/src/com/android/settings/applications/AppOpsDetails.java b/src/com/android/settings/applications/AppOpsDetails.java
index 697ffd8..ba60302 100644
--- a/src/com/android/settings/applications/AppOpsDetails.java
+++ b/src/com/android/settings/applications/AppOpsDetails.java
@@ -80,8 +80,8 @@
         }
         try {
             mPackageInfo = mPm.getPackageInfo(packageName,
-                    PackageManager.GET_DISABLED_COMPONENTS |
-                    PackageManager.GET_UNINSTALLED_PACKAGES);
+                    PackageManager.MATCH_DISABLED_COMPONENTS |
+                    PackageManager.MATCH_ANY_USER);
         } catch (NameNotFoundException e) {
             Log.e(TAG, "Exception when retrieving package:" + packageName, e);
             mPackageInfo = null;
diff --git a/src/com/android/settings/applications/AppOpsState.java b/src/com/android/settings/applications/AppOpsState.java
index 0f960aa..2a5c49a 100644
--- a/src/com/android/settings/applications/AppOpsState.java
+++ b/src/com/android/settings/applications/AppOpsState.java
@@ -509,8 +509,8 @@
             if (appInfo == null) {
                 try {
                     appInfo = mPm.getApplicationInfo(packageName,
-                            PackageManager.GET_DISABLED_COMPONENTS
-                            | PackageManager.GET_UNINSTALLED_PACKAGES);
+                            PackageManager.MATCH_DISABLED_COMPONENTS
+                            | PackageManager.MATCH_ANY_USER);
                 } catch (PackageManager.NameNotFoundException e) {
                     Log.w(TAG, "Unable to find info for package " + packageName);
                     return null;
diff --git a/src/com/android/settings/applications/InstalledAppDetails.java b/src/com/android/settings/applications/InstalledAppDetails.java
index add4301..2569eac 100755
--- a/src/com/android/settings/applications/InstalledAppDetails.java
+++ b/src/com/android/settings/applications/InstalledAppDetails.java
@@ -635,8 +635,9 @@
             // to go away.
             try {
                 ApplicationInfo ainfo = context.getPackageManager().getApplicationInfo(
-                        mAppEntry.info.packageName, PackageManager.GET_UNINSTALLED_PACKAGES
-                        | PackageManager.GET_DISABLED_COMPONENTS);
+                        mAppEntry.info.packageName,
+                        PackageManager.MATCH_DISABLED_COMPONENTS
+                        | PackageManager.MATCH_ANY_USER);
                 if (!mShowUninstalled) {
                     // If we did not start out with the app uninstalled, then
                     // it transitioning to the uninstalled state for the current
diff --git a/src/com/android/settings/applications/ProcStatsPackageEntry.java b/src/com/android/settings/applications/ProcStatsPackageEntry.java
index dcf87fc..39a0042 100644
--- a/src/com/android/settings/applications/ProcStatsPackageEntry.java
+++ b/src/com/android/settings/applications/ProcStatsPackageEntry.java
@@ -116,15 +116,15 @@
         try {
             if ("os".equals(mPackage)) {
                 mUiTargetApp = pm.getApplicationInfo("android",
-                        PackageManager.GET_DISABLED_COMPONENTS |
-                        PackageManager.GET_DISABLED_UNTIL_USED_COMPONENTS |
-                        PackageManager.GET_UNINSTALLED_PACKAGES);
+                        PackageManager.MATCH_DISABLED_COMPONENTS |
+                        PackageManager.MATCH_DISABLED_UNTIL_USED_COMPONENTS |
+                        PackageManager.MATCH_ANY_USER);
                 mUiLabel = context.getString(R.string.process_stats_os_label);
             } else {
                 mUiTargetApp = pm.getApplicationInfo(mPackage,
-                        PackageManager.GET_DISABLED_COMPONENTS |
-                        PackageManager.GET_DISABLED_UNTIL_USED_COMPONENTS |
-                        PackageManager.GET_UNINSTALLED_PACKAGES);
+                        PackageManager.MATCH_DISABLED_COMPONENTS |
+                        PackageManager.MATCH_DISABLED_UNTIL_USED_COMPONENTS |
+                        PackageManager.MATCH_ANY_USER);
                 mUiLabel = mUiTargetApp.loadLabel(pm).toString();
             }
         } catch (PackageManager.NameNotFoundException e) {
diff --git a/src/com/android/settings/applications/RunningState.java b/src/com/android/settings/applications/RunningState.java
index f1c3342..dd44887 100644
--- a/src/com/android/settings/applications/RunningState.java
+++ b/src/com/android/settings/applications/RunningState.java
@@ -420,7 +420,7 @@
             
             try {
                 ApplicationInfo ai = pm.getApplicationInfo(mProcessName,
-                        PackageManager.GET_UNINSTALLED_PACKAGES);
+                        PackageManager.MATCH_ANY_USER);
                 if (ai.uid == mUid) {
                     mDisplayLabel = ai.loadLabel(pm);
                     mLabel = mDisplayLabel.toString();
@@ -438,7 +438,7 @@
             if (pkgs.length == 1) {
                 try {
                     ApplicationInfo ai = pm.getApplicationInfo(pkgs[0],
-                            PackageManager.GET_UNINSTALLED_PACKAGES);
+                            PackageManager.MATCH_ANY_USER);
                     mDisplayLabel = ai.loadLabel(pm);
                     mLabel = mDisplayLabel.toString();
                     mPackageInfo = ai;
@@ -480,7 +480,7 @@
             // Finally... whatever, just pick the first package's name.
             try {
                 ApplicationInfo ai = pm.getApplicationInfo(pkgs[0],
-                        PackageManager.GET_UNINSTALLED_PACKAGES);
+                        PackageManager.MATCH_ANY_USER);
                 mDisplayLabel = ai.loadLabel(pm);
                 mLabel = mDisplayLabel.toString();
                 mPackageInfo = ai;
@@ -500,7 +500,7 @@
                 si.mRunningService = service;
                 try {
                     si.mServiceInfo = ActivityThread.getPackageManager().getServiceInfo(
-                            service.service, PackageManager.GET_UNINSTALLED_PACKAGES,
+                            service.service, PackageManager.MATCH_UNINSTALLED_PACKAGES,
                             UserHandle.getUserId(service.uid));
 
                     if (si.mServiceInfo == null) {
diff --git a/src/com/android/settings/notification/NotificationStation.java b/src/com/android/settings/notification/NotificationStation.java
index 59bc0aa..04897e4 100644
--- a/src/com/android/settings/notification/NotificationStation.java
+++ b/src/com/android/settings/notification/NotificationStation.java
@@ -502,7 +502,7 @@
     private CharSequence loadPackageName(String pkg) {
         try {
             ApplicationInfo info = mPm.getApplicationInfo(pkg,
-                    PackageManager.GET_UNINSTALLED_PACKAGES);
+                    PackageManager.MATCH_ANY_USER);
             if (info != null) return mPm.getApplicationLabel(info);
         } catch (PackageManager.NameNotFoundException e) {
             Log.e(TAG, "Cannot load package name", e);
diff --git a/src/com/android/settings/users/AppRestrictionsFragment.java b/src/com/android/settings/users/AppRestrictionsFragment.java
index 609ed27..d487c70 100644
--- a/src/com/android/settings/users/AppRestrictionsFragment.java
+++ b/src/com/android/settings/users/AppRestrictionsFragment.java
@@ -371,7 +371,7 @@
             PackageInfo pi = null;
             try {
                 pi = ipm.getPackageInfo(packageName,
-                        PackageManager.MATCH_UNINSTALLED_PACKAGES
+                        PackageManager.MATCH_ANY_USER
                         | PackageManager.GET_SIGNATURES, userId);
             } catch (RemoteException e) {
                 // Ignore