am 725f731c: am bc5a0328: Merge "Fix issue #2569139: Sapphire user cannot login to last.fm..." into froyo
Merge commit '725f731cb9368f52a0c6664d2961ef4340c8f7a0' into kraken * commit '725f731cb9368f52a0c6664d2961ef4340c8f7a0': Fix issue #2569139: Sapphire user cannot login to last.fm...
This commit is contained in:
@@ -999,7 +999,7 @@ class PackageManagerService extends IPackageManager.Stub {
|
||||
+ "; regranting permissions for internal storage");
|
||||
mSettings.mInternalSdkPlatform = mSdkVersion;
|
||||
|
||||
updatePermissionsLP(null, null, true, regrantPermissions);
|
||||
updatePermissionsLP(null, null, true, regrantPermissions, regrantPermissions);
|
||||
|
||||
mSettings.writeLP();
|
||||
|
||||
@@ -4007,7 +4007,8 @@ class PackageManagerService extends IPackageManager.Stub {
|
||||
}
|
||||
|
||||
private void updatePermissionsLP(String changingPkg,
|
||||
PackageParser.Package pkgInfo, boolean grantPermissions, boolean replace) {
|
||||
PackageParser.Package pkgInfo, boolean grantPermissions,
|
||||
boolean replace, boolean replaceAll) {
|
||||
// Make sure there are no dangling permission trees.
|
||||
Iterator<BasePermission> it = mSettings.mPermissionTrees
|
||||
.values().iterator();
|
||||
@@ -4077,7 +4078,7 @@ class PackageManagerService extends IPackageManager.Stub {
|
||||
if (grantPermissions) {
|
||||
for (PackageParser.Package pkg : mPackages.values()) {
|
||||
if (pkg != pkgInfo) {
|
||||
grantPermissionsLP(pkg, false);
|
||||
grantPermissionsLP(pkg, replaceAll);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -4693,7 +4694,7 @@ class PackageManagerService extends IPackageManager.Stub {
|
||||
if (p != null) {
|
||||
synchronized (mPackages) {
|
||||
updatePermissionsLP(p.packageName, p,
|
||||
p.permissions.size() > 0, false);
|
||||
p.permissions.size() > 0, false, false);
|
||||
}
|
||||
addedPackage = p.applicationInfo.packageName;
|
||||
addedUid = p.applicationInfo.uid;
|
||||
@@ -5730,7 +5731,7 @@ class PackageManagerService extends IPackageManager.Stub {
|
||||
// Restore of old package succeeded. Update permissions.
|
||||
synchronized (mPackages) {
|
||||
updatePermissionsLP(deletedPackage.packageName, deletedPackage,
|
||||
true, false);
|
||||
true, false, false);
|
||||
mSettings.writeLP();
|
||||
}
|
||||
Slog.i(TAG, "Successfully restored package : " + pkgName + " after failed upgrade");
|
||||
@@ -5847,7 +5848,7 @@ class PackageManagerService extends IPackageManager.Stub {
|
||||
}
|
||||
synchronized (mPackages) {
|
||||
updatePermissionsLP(newPackage.packageName, newPackage,
|
||||
newPackage.permissions.size() > 0, true);
|
||||
newPackage.permissions.size() > 0, true, false);
|
||||
res.name = pkgName;
|
||||
res.uid = newPackage.applicationInfo.uid;
|
||||
res.pkg = newPackage;
|
||||
@@ -6243,7 +6244,7 @@ class PackageManagerService extends IPackageManager.Stub {
|
||||
outInfo.removedUid = mSettings.removePackageLP(packageName);
|
||||
}
|
||||
if (deletedPs != null) {
|
||||
updatePermissionsLP(deletedPs.name, null, false, false);
|
||||
updatePermissionsLP(deletedPs.name, null, false, false, false);
|
||||
if (deletedPs.sharedUser != null) {
|
||||
// remove permissions associated with package
|
||||
mSettings.updateSharedUserPermsLP(deletedPs, mGlobalGids);
|
||||
@@ -6325,7 +6326,7 @@ class PackageManagerService extends IPackageManager.Stub {
|
||||
return false;
|
||||
}
|
||||
synchronized (mPackages) {
|
||||
updatePermissionsLP(newPkg.packageName, newPkg, true, true);
|
||||
updatePermissionsLP(newPkg.packageName, newPkg, true, true, false);
|
||||
mSettings.writeLP();
|
||||
}
|
||||
return true;
|
||||
@@ -9723,7 +9724,7 @@ class PackageManagerService extends IPackageManager.Stub {
|
||||
|
||||
// Make sure group IDs have been assigned, and any permission
|
||||
// changes in other apps are accounted for
|
||||
updatePermissionsLP(null, null, true, regrantPermissions);
|
||||
updatePermissionsLP(null, null, true, regrantPermissions, regrantPermissions);
|
||||
// Persist settings
|
||||
mSettings.writeLP();
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user