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

Commit e7e00bda authored by Hai Zhang's avatar Hai Zhang
Browse files

Remove hasIsolatedStorage() related logic from PackageParser.

The ACCESS_MEDIA_LOCATION and WRITE_OBB permissions will always be
available.

Bug: 112545973
Fixes: 132226317
Test: presubmit
Change-Id: Ie61eba427b48f347438522bc11cfa748ad5ba1f1
parent 42dd2ded
Loading
Loading
Loading
Loading
+0 −46
Original line number Diff line number Diff line
@@ -238,24 +238,6 @@ public class PackageParser {
        CHILD_PACKAGE_TAGS.add(TAG_EAT_COMMENT);
    }

    // STOPSHIP(b/112545973): remove once feature enabled by default
    private static final Set<String> FORCE_AUDIO_PACKAGES;
    private static final Set<String> FORCE_VIDEO_PACKAGES;
    private static final Set<String> FORCE_IMAGES_PACKAGES;
    static {
        FORCE_AUDIO_PACKAGES = parsePackageList(
                SystemProperties.get(StorageManager.PROP_FORCE_AUDIO));
        FORCE_VIDEO_PACKAGES = parsePackageList(
                SystemProperties.get(StorageManager.PROP_FORCE_VIDEO));
        FORCE_IMAGES_PACKAGES = parsePackageList(
                SystemProperties.get(StorageManager.PROP_FORCE_IMAGES));
    }

    private static Set<String> parsePackageList(String pkgs) {
        if (TextUtils.isEmpty(pkgs)) return Collections.emptySet();
        return new ArraySet<String>(Arrays.asList(pkgs.split(",")));
    }

    private static final boolean LOG_UNSAFE_BROADCASTS = false;

    /**
@@ -2554,34 +2536,6 @@ public class PackageParser {
            adjustPackageToBeUnresizeableAndUnpipable(pkg);
        }

        // If the storage model feature flag is disabled, we need to fiddle
        // around with permission definitions to return us to pre-Q behavior.
        // STOPSHIP(b/112545973): remove once feature enabled by default
        if (!StorageManager.hasIsolatedStorage()) {
            if ("android".equals(pkg.packageName)) {
                final ArraySet<String> newPermissions = new ArraySet<>();
                newPermissions.add(android.Manifest.permission.ACCESS_MEDIA_LOCATION);
                newPermissions.add(android.Manifest.permission.WRITE_OBB);

                for (int i = pkg.permissions.size() - 1; i >= 0; i--) {
                    final Permission p = pkg.permissions.get(i);
                    if (newPermissions.contains(p.info.name)) {
                        pkg.permissions.remove(i);
                    }
                }
            }
        } else {
            if (FORCE_AUDIO_PACKAGES.contains(pkg.packageName)) {
                pkg.requestedPermissions.add(android.Manifest.permission.READ_EXTERNAL_STORAGE);
            }
            if (FORCE_VIDEO_PACKAGES.contains(pkg.packageName)) {
                pkg.requestedPermissions.add(android.Manifest.permission.READ_EXTERNAL_STORAGE);
            }
            if (FORCE_IMAGES_PACKAGES.contains(pkg.packageName)) {
                pkg.requestedPermissions.add(android.Manifest.permission.READ_EXTERNAL_STORAGE);
            }
        }

        return pkg;
    }

+0 −7
Original line number Diff line number Diff line
@@ -153,13 +153,6 @@ public class StorageManager {
    /** {@hide} */
    public static final String PROP_ISOLATED_STORAGE_SNAPSHOT = "sys.isolated_storage_snapshot";

    /** {@hide} */
    public static final String PROP_FORCE_AUDIO = "persist.fw.force_audio";
    /** {@hide} */
    public static final String PROP_FORCE_VIDEO = "persist.fw.force_video";
    /** {@hide} */
    public static final String PROP_FORCE_IMAGES = "persist.fw.force_images";

    /** {@hide} */
    public static final String UUID_PRIVATE_INTERNAL = null;
    /** {@hide} */