Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 655bf11d authored by Dianne Hackborn's avatar Dianne Hackborn Committed by Android Git Automerger
Browse files

am 725f731c: am bc5a0328: Merge "Fix issue #2569139: Sapphire user cannot...

am 725f731c: am bc5a0328: Merge "Fix issue #2569139: Sapphire user cannot login to last.fm..." into froyo

Merge commit '725f731c' into kraken

* commit '725f731c':
  Fix issue #2569139: Sapphire user cannot login to last.fm...
parents b30bf6ef 725f731c
Loading
Loading
Loading
Loading
+10 −9
Original line number Original line Diff line number Diff line
@@ -999,7 +999,7 @@ class PackageManagerService extends IPackageManager.Stub {
                    + "; regranting permissions for internal storage");
                    + "; regranting permissions for internal storage");
            mSettings.mInternalSdkPlatform = mSdkVersion;
            mSettings.mInternalSdkPlatform = mSdkVersion;
            
            
            updatePermissionsLP(null, null, true, regrantPermissions);
            updatePermissionsLP(null, null, true, regrantPermissions, regrantPermissions);


            mSettings.writeLP();
            mSettings.writeLP();


@@ -4007,7 +4007,8 @@ class PackageManagerService extends IPackageManager.Stub {
    }
    }
    
    
    private void updatePermissionsLP(String changingPkg,
    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.
        // Make sure there are no dangling permission trees.
        Iterator<BasePermission> it = mSettings.mPermissionTrees
        Iterator<BasePermission> it = mSettings.mPermissionTrees
                .values().iterator();
                .values().iterator();
@@ -4077,7 +4078,7 @@ class PackageManagerService extends IPackageManager.Stub {
        if (grantPermissions) {
        if (grantPermissions) {
            for (PackageParser.Package pkg : mPackages.values()) {
            for (PackageParser.Package pkg : mPackages.values()) {
                if (pkg != pkgInfo) {
                if (pkg != pkgInfo) {
                    grantPermissionsLP(pkg, false);
                    grantPermissionsLP(pkg, replaceAll);
                }
                }
            }
            }
        }
        }
@@ -4693,7 +4694,7 @@ class PackageManagerService extends IPackageManager.Stub {
                        if (p != null) {
                        if (p != null) {
                            synchronized (mPackages) {
                            synchronized (mPackages) {
                                updatePermissionsLP(p.packageName, p,
                                updatePermissionsLP(p.packageName, p,
                                        p.permissions.size() > 0, false);
                                        p.permissions.size() > 0, false, false);
                            }
                            }
                            addedPackage = p.applicationInfo.packageName;
                            addedPackage = p.applicationInfo.packageName;
                            addedUid = p.applicationInfo.uid;
                            addedUid = p.applicationInfo.uid;
@@ -5730,7 +5731,7 @@ class PackageManagerService extends IPackageManager.Stub {
                // Restore of old package succeeded. Update permissions.
                // Restore of old package succeeded. Update permissions.
                synchronized (mPackages) {
                synchronized (mPackages) {
                    updatePermissionsLP(deletedPackage.packageName, deletedPackage,
                    updatePermissionsLP(deletedPackage.packageName, deletedPackage,
                            true, false);
                            true, false, false);
                    mSettings.writeLP();
                    mSettings.writeLP();
                }
                }
                Slog.i(TAG, "Successfully restored package : " + pkgName + " after failed upgrade");
                Slog.i(TAG, "Successfully restored package : " + pkgName + " after failed upgrade");
@@ -5847,7 +5848,7 @@ class PackageManagerService extends IPackageManager.Stub {
        }
        }
        synchronized (mPackages) {
        synchronized (mPackages) {
            updatePermissionsLP(newPackage.packageName, newPackage,
            updatePermissionsLP(newPackage.packageName, newPackage,
                    newPackage.permissions.size() > 0, true);
                    newPackage.permissions.size() > 0, true, false);
            res.name = pkgName;
            res.name = pkgName;
            res.uid = newPackage.applicationInfo.uid;
            res.uid = newPackage.applicationInfo.uid;
            res.pkg = newPackage;
            res.pkg = newPackage;
@@ -6243,7 +6244,7 @@ class PackageManagerService extends IPackageManager.Stub {
                        outInfo.removedUid = mSettings.removePackageLP(packageName);
                        outInfo.removedUid = mSettings.removePackageLP(packageName);
                    }
                    }
                    if (deletedPs != null) {
                    if (deletedPs != null) {
                        updatePermissionsLP(deletedPs.name, null, false, false);
                        updatePermissionsLP(deletedPs.name, null, false, false, false);
                        if (deletedPs.sharedUser != null) {
                        if (deletedPs.sharedUser != null) {
                            // remove permissions associated with package
                            // remove permissions associated with package
                            mSettings.updateSharedUserPermsLP(deletedPs, mGlobalGids);
                            mSettings.updateSharedUserPermsLP(deletedPs, mGlobalGids);
@@ -6325,7 +6326,7 @@ class PackageManagerService extends IPackageManager.Stub {
            return false;
            return false;
        }
        }
        synchronized (mPackages) {
        synchronized (mPackages) {
            updatePermissionsLP(newPkg.packageName, newPkg, true, true);
            updatePermissionsLP(newPkg.packageName, newPkg, true, true, false);
            mSettings.writeLP();
            mSettings.writeLP();
        }
        }
        return true;
        return true;
@@ -9723,7 +9724,7 @@ class PackageManagerService extends IPackageManager.Stub {
           
           
           // Make sure group IDs have been assigned, and any permission
           // Make sure group IDs have been assigned, and any permission
           // changes in other apps are accounted for
           // changes in other apps are accounted for
           updatePermissionsLP(null, null, true, regrantPermissions);
           updatePermissionsLP(null, null, true, regrantPermissions, regrantPermissions);
           // Persist settings
           // Persist settings
           mSettings.writeLP();
           mSettings.writeLP();
       }
       }