diff options
author | Jason Monk <jmonk@google.com> | 2017-10-19 18:17:25 +0000 |
---|---|---|
committer | Jason Monk <jmonk@google.com> | 2017-10-19 18:17:25 +0000 |
commit | 07f9f65561c2b81bcd189b895b31bb2ad0438d74 (patch) | |
tree | 49f76f879a89c256a4f65b674086be50760bdffb /com/android/server/pm/Settings.java | |
parent | d439404c9988df6001e4ff8bce31537e2692660e (diff) | |
download | android-28-07f9f65561c2b81bcd189b895b31bb2ad0438d74.tar.gz |
Revert "Import Android SDK Platform P [4402356]"
This reverts commit d439404c9988df6001e4ff8bce31537e2692660e.
Change-Id: I825790bdf38523800388bc1bb531cecfcd7e60bd
Diffstat (limited to 'com/android/server/pm/Settings.java')
-rw-r--r-- | com/android/server/pm/Settings.java | 29 |
1 files changed, 21 insertions, 8 deletions
diff --git a/com/android/server/pm/Settings.java b/com/android/server/pm/Settings.java index 191b43a6..00844114 100644 --- a/com/android/server/pm/Settings.java +++ b/com/android/server/pm/Settings.java @@ -378,6 +378,10 @@ public final class Settings { private final ArrayMap<Long, Integer> mKeySetRefs = new ArrayMap<Long, Integer>(); + // Mapping from permission tree names to info about them. + final ArrayMap<String, BasePermission> mPermissionTrees = + new ArrayMap<String, BasePermission>(); + // Packages that have been uninstalled and still need their external // storage data deleted. final ArrayList<PackageCleanItem> mPackagesToBeCleaned = new ArrayList<PackageCleanItem>(); @@ -412,7 +416,7 @@ public final class Settings { public final KeySetManagerService mKeySetManagerService = new KeySetManagerService(mPackages); /** Settings and other information about permissions */ - final PermissionSettings mPermissions; + private final PermissionSettings mPermissions; Settings(PermissionSettings permissions, Object lock) { this(Environment.getDataDirectory(), permissions, lock); @@ -618,10 +622,6 @@ public final class Settings { return null; } - void addAppOpPackage(String permName, String packageName) { - mPermissions.addAppOpPackage(permName, packageName); - } - SharedUserSetting addSharedUserLPw(String name, int uid, int pkgFlags, int pkgPrivateFlags) { SharedUserSetting s = mSharedUsers.get(name); if (s != null) { @@ -666,6 +666,13 @@ public final class Settings { } /** + * Transfers ownership of permissions from one package to another. + */ + void transferPermissionsLPw(String origPackageName, String newPackageName) { + mPermissions.transferPermissions(origPackageName, newPackageName, mPermissionTrees); + } + + /** * Creates a new {@code PackageSetting} object. * Use this method instead of the constructor to ensure a settings object is created * with the correct base. @@ -2489,7 +2496,9 @@ public final class Settings { } serializer.startTag(null, "permission-trees"); - mPermissions.writePermissionTrees(serializer); + for (BasePermission bp : mPermissionTrees.values()) { + writePermissionLPr(serializer, bp); + } serializer.endTag(null, "permission-trees"); serializer.startTag(null, "permissions"); @@ -3033,7 +3042,7 @@ public final class Settings { } else if (tagName.equals("permissions")) { mPermissions.readPermissions(parser); } else if (tagName.equals("permission-trees")) { - mPermissions.readPermissionTrees(parser); + PermissionSettings.readPermissions(mPermissionTrees, parser); } else if (tagName.equals("shared-user")) { readSharedUserLPw(parser); } else if (tagName.equals("preferred-packages")) { @@ -4929,7 +4938,11 @@ public final class Settings { void dumpSharedUsersProto(ProtoOutputStream proto) { final int count = mSharedUsers.size(); for (int i = 0; i < count; i++) { - mSharedUsers.valueAt(i).writeToProto(proto, PackageServiceDumpProto.SHARED_USERS); + final SharedUserSetting su = mSharedUsers.valueAt(i); + final long sharedUserToken = proto.start(PackageServiceDumpProto.SHARED_USERS); + proto.write(PackageServiceDumpProto.SharedUserProto.USER_ID, su.userId); + proto.write(PackageServiceDumpProto.SharedUserProto.NAME, su.name); + proto.end(sharedUserToken); } } |