diff options
-rw-r--r-- | core/java/com/android/server/SystemConfig.java | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/core/java/com/android/server/SystemConfig.java b/core/java/com/android/server/SystemConfig.java index 49a73ee7790f..7562bad80a54 100644 --- a/core/java/com/android/server/SystemConfig.java +++ b/core/java/com/android/server/SystemConfig.java @@ -222,6 +222,8 @@ public class SystemConfig { private ArrayMap<String, Set<String>> mPackageToUserTypeWhitelist = new ArrayMap<>(); private ArrayMap<String, Set<String>> mPackageToUserTypeBlacklist = new ArrayMap<>(); + private final ArraySet<String> mRollbackWhitelistedPackages = new ArraySet<>(); + /** * Map of system pre-defined, uniquely named actors; keys are namespace, * value maps actor name to package name. @@ -382,6 +384,10 @@ public class SystemConfig { return mBugreportWhitelistedPackages; } + public Set<String> getRollbackWhitelistedPackages() { + return mRollbackWhitelistedPackages; + } + /** * Gets map of packagesNames to userTypes, dictating on which user types each package should be * initially installed, and then removes this map from SystemConfig. @@ -1078,6 +1084,16 @@ public class SystemConfig { } XmlUtils.skipCurrentTag(parser); } break; + case "rollback-whitelisted-app": { + String pkgname = parser.getAttributeValue(null, "package"); + if (pkgname == null) { + Slog.w(TAG, "<" + name + "> without package in " + permFile + + " at " + parser.getPositionDescription()); + } else { + mRollbackWhitelistedPackages.add(pkgname); + } + XmlUtils.skipCurrentTag(parser); + } break; default: { Slog.w(TAG, "Tag " + name + " is unknown in " + permFile + " at " + parser.getPositionDescription()); |