Merge "Ensure per package and per UID state share same package settings." into mnc-dev
This commit is contained in:
committed by
Android (Google) Code Review
commit
ce68917c84
@@ -613,6 +613,7 @@ final class Settings {
|
||||
p.sharedUser = origPackage.sharedUser;
|
||||
p.appId = origPackage.appId;
|
||||
p.origPackage = origPackage;
|
||||
p.getPermissionsState().copyFrom(origPackage.getPermissionsState());
|
||||
mRenamedPackages.put(name, origPackage.name);
|
||||
name = origPackage.name;
|
||||
// Update new package state.
|
||||
@@ -812,6 +813,20 @@ final class Settings {
|
||||
p.sharedUser = sharedUser;
|
||||
p.appId = sharedUser.userId;
|
||||
}
|
||||
|
||||
// If the we know about this user id, we have to update it as it
|
||||
// has to point to the same PackageSetting instance as the package.
|
||||
Object userIdPs = getUserIdLPr(p.appId);
|
||||
if (sharedUser == null) {
|
||||
if (userIdPs != null && userIdPs != p) {
|
||||
replaceUserIdLPw(p.appId, p);
|
||||
}
|
||||
} else {
|
||||
if (userIdPs != null && userIdPs != sharedUser) {
|
||||
replaceUserIdLPw(p.appId, sharedUser);
|
||||
}
|
||||
}
|
||||
|
||||
IntentFilterVerificationInfo ivi = mRestoredIntentFilterVerifications.get(name);
|
||||
if (ivi != null) {
|
||||
if (DEBUG_DOMAIN_VERIFICATION) {
|
||||
|
||||
Reference in New Issue
Block a user