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

Commit ebb83ade authored by Suchi Amalapurapu's avatar Suchi Amalapurapu
Browse files

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

Change-Id: I0f011bd4a3348ccd46fd7ae9765edf8933b94142
parent b05ec118
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