diff options
author | TreeHugger Robot <treehugger-gerrit@google.com> | 2019-12-16 01:33:33 +0000 |
---|---|---|
committer | Android (Google) Code Review <android-gerrit@google.com> | 2019-12-16 01:33:33 +0000 |
commit | 70b60797305e68d001a7f5f9a6c6afa634deab4d (patch) | |
tree | f7bf50f3e30bb1a68b5c69929af661c2b8d2853f | |
parent | 8c5c5d9dfeb41d1462cdb491f9189557335dff22 (diff) | |
parent | f0a70b189162fff6fec7346d3fba691f16420f79 (diff) |
Merge "Add a whitelist to control packages eligible for rollback (1/n)"
-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()); |