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

Commit b58fd822 authored by Suchi Amalapurapu's avatar Suchi Amalapurapu Committed by Android (Google) Code Review
Browse files

Merge "Grant permissions to apps on sd when enabling/disabling packages."

parents e5e63f49 ebb83ade
Loading
Loading
Loading
Loading
+2 −0
Original line number Diff line number Diff line
@@ -9552,6 +9552,8 @@ class PackageManagerService extends IPackageManager.Stub {
                   // Scan the package
                   if (scanPackageLI(pkg, parseFlags, SCAN_MONITOR) != null) {
                       synchronized (mPackages) {
                           updatePermissionsLP(pkg.packageName, pkg,
                                   pkg.permissions.size() > 0, false);
                           retCode = PackageManager.INSTALL_SUCCEEDED;
                           pkgList.add(pkg.packageName);
                           // Post process args
+27 −0
Original line number Diff line number Diff line
@@ -2156,6 +2156,33 @@ public class PackageManagerTests extends AndroidTestCase {
        }
    }

    /*
     * Ensure that permissions are properly declared.
     */
    public void testInstallOnSdPermissionsUnmount() {
        InstallParams ip = null;
        boolean origMediaState = getMediaState();
        try {
            // **: Upon installing a package, are its declared permissions published?
            int iFlags = PackageManager.INSTALL_INTERNAL;
            int iApk = R.raw.install_decl_perm;
            ip = installFromRawResource("install.apk", iApk,
                    iFlags, false,
                    false, -1, PackageInfo.INSTALL_LOCATION_INTERNAL_ONLY);
            assertInstall(ip.pkg, iFlags, ip.pkg.installLocation);
            assertPermissions(BASE_PERMISSIONS_DEFINED);
            // Unmount media here
            assertTrue(unmountMedia());
            // Mount media again
            mountMedia();
            //Check permissions now
            assertPermissions(BASE_PERMISSIONS_DEFINED);
        } finally {
            if (ip != null) {
                cleanUpInstall(ip);
            }
        }
    }
    /*---------- Recommended install location tests ----*/
    /*
     * TODO's