diff options
author | Svet Ganov <svetoslavganov@google.com> | 2015-09-11 16:40:12 -0700 |
---|---|---|
committer | Svet Ganov <svetoslavganov@google.com> | 2015-09-12 09:57:54 -0700 |
commit | 30707bb7a27157d5124b0c648509c0e63d1da392 (patch) | |
tree | 0b241420144763bcfe6be2761092c141acf2a02e /src/com/android/packageinstaller/permission/model/PermissionStatusReceiver.java | |
parent | 3c44cc5448eed0b74b37f022e8695c36fb75f33c (diff) | |
download | android_packages_apps_PackageInstaller-30707bb7a27157d5124b0c648509c0e63d1da392.tar.gz android_packages_apps_PackageInstaller-30707bb7a27157d5124b0c648509c0e63d1da392.tar.bz2 android_packages_apps_PackageInstaller-30707bb7a27157d5124b0c648509c0e63d1da392.zip |
Use unique preference key.
The UI code was wrongly using UID as the key - it is not
unique - resulting in keeping only one app per UID in the
UI and not showing permission controls for the other apps
in this UID. This change uses the unique package plus UID
as the preference key.
bug:23937944
Change-Id: I859afcf3ec8efdcb62d0e9dacd19f771436da084
Diffstat (limited to 'src/com/android/packageinstaller/permission/model/PermissionStatusReceiver.java')
-rw-r--r-- | src/com/android/packageinstaller/permission/model/PermissionStatusReceiver.java | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/src/com/android/packageinstaller/permission/model/PermissionStatusReceiver.java b/src/com/android/packageinstaller/permission/model/PermissionStatusReceiver.java index 7bae18f3..2a46f1a6 100644 --- a/src/com/android/packageinstaller/permission/model/PermissionStatusReceiver.java +++ b/src/com/android/packageinstaller/permission/model/PermissionStatusReceiver.java @@ -21,8 +21,8 @@ import android.content.Intent; import android.content.pm.PackageInfo; import android.content.pm.PackageManager; import android.content.pm.PackageManager.NameNotFoundException; +import android.util.ArrayMap; import android.util.ArraySet; -import android.util.SparseArray; import com.android.packageinstaller.permission.model.PermissionApps.PermissionApp; import com.android.packageinstaller.permission.utils.Utils; @@ -108,22 +108,22 @@ public class PermissionStatusReceiver extends BroadcastReceiver { public boolean getAppsWithPermissionsCount(Context context, int[] counts) { ArraySet<String> launcherPkgs = Utils.getLauncherPackages(context); // Indexed by uid. - SparseArray<Boolean> grantedApps = new SparseArray<>(); - SparseArray<Boolean> allApps = new SparseArray<>(); + ArrayMap<String, Boolean> grantedApps = new ArrayMap<>(); + ArrayMap<String, Boolean> allApps = new ArrayMap<>(); for (String group : Utils.MODERN_PERMISSION_GROUPS) { PermissionApps permissionApps = new PermissionApps(context, group, null); permissionApps.loadNowWithoutUi(); for (PermissionApp app : permissionApps.getApps()) { - int uid = app.getUid(); + String key = app.getKey(); if (Utils.isSystem(app, launcherPkgs)) { // We default to not showing system apps, so hide them from count. continue; } if (app.areRuntimePermissionsGranted()) { - grantedApps.put(uid, true); + grantedApps.put(key, true); } - allApps.put(uid, true); + allApps.put(key, true); } } counts[0] = grantedApps.size(); |