diff --git a/core/java/com/android/server/SystemConfig.java b/core/java/com/android/server/SystemConfig.java
index ea0389f49a458..67e2bda84b74b 100644
--- a/core/java/com/android/server/SystemConfig.java
+++ b/core/java/com/android/server/SystemConfig.java
@@ -532,6 +532,7 @@ public class SystemConfig {
Slog.w(TAG, "Couldn't find or open permissions file " + permFile);
return;
}
+ Slog.i(TAG, "Reading permissions from " + permFile);
final boolean lowRam = ActivityManager.isLowRamDeviceStatic();
diff --git a/services/core/java/com/android/server/pm/UserSystemPackageInstaller.java b/services/core/java/com/android/server/pm/UserSystemPackageInstaller.java
index 323c957acdd06..b73edaf6ecf14 100644
--- a/services/core/java/com/android/server/pm/UserSystemPackageInstaller.java
+++ b/services/core/java/com/android/server/pm/UserSystemPackageInstaller.java
@@ -109,13 +109,13 @@ class UserSystemPackageInstaller {
*
Packages that are whitelisted, but then blacklisted so that they aren't to be installed on
* any user, are purposefully still present in this list.
*/
- private final ArrayMap mWhitelitsedPackagesForUserTypes;
+ private final ArrayMap mWhitelistedPackagesForUserTypes;
private final UserManagerService mUm;
UserSystemPackageInstaller(UserManagerService ums) {
mUm = ums;
- mWhitelitsedPackagesForUserTypes =
+ mWhitelistedPackagesForUserTypes =
determineWhitelistedPackagesForUserTypes(SystemConfig.getInstance());
}
@@ -123,7 +123,7 @@ class UserSystemPackageInstaller {
@VisibleForTesting
UserSystemPackageInstaller(UserManagerService ums, ArrayMap whitelist) {
mUm = ums;
- mWhitelitsedPackagesForUserTypes = whitelist;
+ mWhitelistedPackagesForUserTypes = whitelist;
}
/**
@@ -242,7 +242,7 @@ class UserSystemPackageInstaller {
return (whitelistMode & USER_TYPE_PACKAGE_WHITELIST_MODE_IMPLICIT_WHITELIST) != 0;
}
- /** Gets the PackageWhitelistMode for use of {@link #mWhitelitsedPackagesForUserTypes}. */
+ /** Gets the PackageWhitelistMode for use of {@link #mWhitelistedPackagesForUserTypes}. */
private @PackageWhitelistMode int getWhitelistMode() {
final int runtimeMode = SystemProperties.getInt(
PACKAGE_WHITELIST_MODE_PROP, USER_TYPE_PACKAGE_WHITELIST_MODE_DEVICE_DEFAULT);
@@ -283,7 +283,7 @@ class UserSystemPackageInstaller {
if (!pkg.isSystem()) {
return;
}
- if (shouldInstallPackage(pkg, mWhitelitsedPackagesForUserTypes,
+ if (shouldInstallPackage(pkg, mWhitelistedPackagesForUserTypes,
whitelistedPackages, isImplicitWhitelistMode, isSystemUser)) {
// Although the whitelist uses manifest names, this function returns packageNames.
installPackages.add(pkg.packageName);
@@ -333,10 +333,10 @@ class UserSystemPackageInstaller {
*/
@VisibleForTesting
@NonNull Set getWhitelistedPackagesForUserType(int flags) {
- Set installablePkgs = new ArraySet<>(mWhitelitsedPackagesForUserTypes.size());
- for (int i = 0; i < mWhitelitsedPackagesForUserTypes.size(); i++) {
- String pkgName = mWhitelitsedPackagesForUserTypes.keyAt(i);
- int whitelistedUserTypes = mWhitelitsedPackagesForUserTypes.valueAt(i);
+ Set installablePkgs = new ArraySet<>(mWhitelistedPackagesForUserTypes.size());
+ for (int i = 0; i < mWhitelistedPackagesForUserTypes.size(); i++) {
+ String pkgName = mWhitelistedPackagesForUserTypes.keyAt(i);
+ int whitelistedUserTypes = mWhitelistedPackagesForUserTypes.valueAt(i);
if ((flags & whitelistedUserTypes) != 0) {
installablePkgs.add(pkgName);
}
@@ -353,7 +353,7 @@ class UserSystemPackageInstaller {
* completely blacklists an AOSP app).
*/
private Set getWhitelistedSystemPackages() {
- return mWhitelitsedPackagesForUserTypes.keySet();
+ return mWhitelistedPackagesForUserTypes.keySet();
}
/**
@@ -449,18 +449,28 @@ class UserSystemPackageInstaller {
}
void dump(PrintWriter pw) {
- pw.print("Whitelisted packages per user type");
- final int size = mWhitelitsedPackagesForUserTypes.size();
+ final String prefix = " ";
+ final int mode = getWhitelistMode();
+ pw.println("Whitelisted packages per user type");
+ pw.print(prefix); pw.print("Mode: ");
+ pw.print(mode);
+ pw.print(isEnforceMode(mode) ? " (enforced)" : "");
+ pw.print(isLogMode(mode) ? " (logged)" : "");
+ pw.print(isImplicitWhitelistMode(mode) ? " (implicit)" : "");
+ pw.println();
+
+ final int size = mWhitelistedPackagesForUserTypes.size();
if (size == 0) {
- pw.println(": N/A");
+ pw.print(prefix); pw.println("No packages");
return;
}
- pw.println(" (" + size + " packages)");
+ final String prefix2 = prefix + prefix;
+ pw.print(prefix); pw.print(size); pw.println(" packages:");
for (int i = 0; i < size; i++) {
- final String pkgName = mWhitelitsedPackagesForUserTypes.keyAt(i);
+ final String pkgName = mWhitelistedPackagesForUserTypes.keyAt(i);
final String whitelistedUserTypes =
- UserInfo.flagsToString(mWhitelitsedPackagesForUserTypes.valueAt(i));
- pw.println(" " + pkgName + ": " + whitelistedUserTypes);
+ UserInfo.flagsToString(mWhitelistedPackagesForUserTypes.valueAt(i));
+ pw.print(prefix2); pw.print(pkgName); pw.print(": "); pw.println(whitelistedUserTypes);
}
}
}