diff options
author | Jason Monk <jmonk@google.com> | 2015-06-18 18:40:36 +0000 |
---|---|---|
committer | Android (Google) Code Review <android-gerrit@google.com> | 2015-06-18 18:40:36 +0000 |
commit | 7636a42bacc32c7f8df3ae1e686ae0c5857a25ba (patch) | |
tree | 5f70ac27af13ef236d57f87b1790db8e2c18edc8 /src/com/android/packageinstaller/permission/model | |
parent | d713bc269e6341f160581164c7d656f971136fb8 (diff) | |
parent | 9f0442cdfc055cc3aed19770f48f516b052f6e60 (diff) | |
download | android_packages_apps_PackageInstaller-7636a42bacc32c7f8df3ae1e686ae0c5857a25ba.tar.gz android_packages_apps_PackageInstaller-7636a42bacc32c7f8df3ae1e686ae0c5857a25ba.tar.bz2 android_packages_apps_PackageInstaller-7636a42bacc32c7f8df3ae1e686ae0c5857a25ba.zip |
Merge "Add better logic for what is 'system'" into mnc-dev
Diffstat (limited to 'src/com/android/packageinstaller/permission/model')
-rw-r--r-- | src/com/android/packageinstaller/permission/model/PermissionApps.java | 21 | ||||
-rw-r--r-- | src/com/android/packageinstaller/permission/model/PermissionStatusReceiver.java | 4 |
2 files changed, 14 insertions, 11 deletions
diff --git a/src/com/android/packageinstaller/permission/model/PermissionApps.java b/src/com/android/packageinstaller/permission/model/PermissionApps.java index 9f3bd248..dfb8c8cc 100644 --- a/src/com/android/packageinstaller/permission/model/PermissionApps.java +++ b/src/com/android/packageinstaller/permission/model/PermissionApps.java @@ -28,6 +28,7 @@ import android.os.AsyncTask; import android.os.UserHandle; import android.os.UserManager; import android.util.ArrayMap; +import android.util.ArraySet; import android.util.Log; import android.util.SparseArray; @@ -79,13 +80,13 @@ public class PermissionApps { new PermissionAppsLoader().execute(); } - public int getGrantedCount() { + public int getGrantedCount(ArraySet<String> launcherPkgs) { int count = 0; for (PermissionApp app : mPermApps) { if (!Utils.shouldShowPermission(app)) { continue; } - if (app.isSystem()) { + if (Utils.isSystem(app, launcherPkgs)) { // We default to not showing system apps, so hide them from count. continue; } @@ -96,13 +97,13 @@ public class PermissionApps { return count; } - public int getTotalCount() { + public int getTotalCount(ArraySet<String> launcherPkgs) { int count = 0; for (PermissionApp app : mPermApps) { if (!Utils.shouldShowPermission(app)) { continue; } - if (app.isSystem()) { + if (Utils.isSystem(app, launcherPkgs)) { // We default to not showing system apps, so hide them from count. continue; } @@ -175,7 +176,7 @@ public class PermissionApps { : app.applicationInfo.loadLabel(mPm).toString(); PermissionApp permApp = new PermissionApp(app.packageName, group, label, getBadgedIcon(app.applicationInfo), - app.applicationInfo.isSystemApp()); + app.applicationInfo); permApps.add(permApp); } @@ -268,19 +269,19 @@ public class PermissionApps { private final AppPermissionGroup mAppPermissionGroup; private final String mLabel; private final Drawable mIcon; - private final boolean mSystem; + private final ApplicationInfo mInfo; public PermissionApp(String packageName, AppPermissionGroup appPermissionGroup, - String label, Drawable icon, boolean isSystem) { + String label, Drawable icon, ApplicationInfo info) { mPackageName = packageName; mAppPermissionGroup = appPermissionGroup; mLabel = label; mIcon = icon; - mSystem = isSystem; + mInfo = info; } - public boolean isSystem() { - return mSystem; + public ApplicationInfo getAppInfo() { + return mInfo; } public String getKey() { diff --git a/src/com/android/packageinstaller/permission/model/PermissionStatusReceiver.java b/src/com/android/packageinstaller/permission/model/PermissionStatusReceiver.java index 8ca67017..83cecc60 100644 --- a/src/com/android/packageinstaller/permission/model/PermissionStatusReceiver.java +++ b/src/com/android/packageinstaller/permission/model/PermissionStatusReceiver.java @@ -21,6 +21,7 @@ import android.content.Intent; import android.content.pm.PackageInfo; import android.content.pm.PackageManager; import android.content.pm.PackageManager.NameNotFoundException; +import android.util.ArraySet; import android.util.SparseArray; import com.android.packageinstaller.permission.model.PermissionApps.PermissionApp; @@ -105,6 +106,7 @@ 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<>(); @@ -114,7 +116,7 @@ public class PermissionStatusReceiver extends BroadcastReceiver { permissionApps.loadNowWithoutUi(); for (PermissionApp app : permissionApps.getApps()) { int uid = app.getUid(); - if (app.isSystem()) { + if (Utils.isSystem(app, launcherPkgs)) { // We default to not showing system apps, so hide them from count. continue; } |