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

Commit d40f9b61 authored by Sahana Rao's avatar Sahana Rao
Browse files

Rename requestOptimizedExternalStorageAccess to more precise name

When apps use requestOptimizedExternalStorageAccess flag, they get
additional performance benefit by bypassing database operations. They
still have to scan the file to update MediaStore collection otherwise
MediaStore collection can go inconsistent with lower file system.
Current flag name could lead to apps making wrong assumptions hence
changing the name to more precise name.

Bug: 178209446
Test: atest packages/providers/MediaProvider
Change-Id: I00747da9ea53566cbcdd8aa8b2195e536b397b67
parent c8472887
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -1182,7 +1182,7 @@ package android {
    field public static final int reqNavigation = 16843306; // 0x101022a
    field public static final int reqTouchScreen = 16843303; // 0x1010227
    field public static final int requestLegacyExternalStorage = 16844291; // 0x1010603
    field public static final int requestOptimizedExternalStorageAccess;
    field public static final int requestRawExternalStorageAccess;
    field public static final int requireDeviceScreenOn;
    field public static final int requireDeviceUnlock = 16843756; // 0x10103ec
    field public static final int required = 16843406; // 0x101028e
+1 −1
Original line number Diff line number Diff line
@@ -2494,7 +2494,7 @@ package android.content.om {
package android.content.pm {
  public class ApplicationInfo extends android.content.pm.PackageItemInfo implements android.os.Parcelable {
    method @Nullable public Boolean hasRequestOptimizedExternalStorageAccess();
    method @Nullable public Boolean hasRequestRawExternalStorageAccess();
    method public boolean isEncryptionAware();
    method public boolean isInstantApp();
    method public boolean isOem();
+15 −15
Original line number Diff line number Diff line
@@ -1436,11 +1436,11 @@ public class ApplicationInfo extends PackageItemInfo implements Parcelable {
    private @NativeHeapZeroInitialized int nativeHeapZeroInitialized = ZEROINIT_DEFAULT;

    /**
     * If {@code true} this app requests optimized external storage access.
     * If {@code true} this app requests raw external storage access.
     * The request may not be honored due to policy or other reasons.
     */
    @Nullable
    private Boolean requestOptimizedExternalStorageAccess;
    private Boolean requestRawExternalStorageAccess;

    /**
     * Represents the default policy. The actual policy used will depend on other properties of
@@ -1598,9 +1598,9 @@ public class ApplicationInfo extends PackageItemInfo implements Parcelable {
            if (nativeHeapZeroInitialized != ZEROINIT_DEFAULT) {
                pw.println(prefix + "nativeHeapZeroInitialized=" + nativeHeapZeroInitialized);
            }
            if (requestOptimizedExternalStorageAccess != null) {
                pw.println(prefix + "requestOptimizedExternalStorageAccess="
                        + requestOptimizedExternalStorageAccess);
            if (requestRawExternalStorageAccess != null) {
                pw.println(prefix + "requestRawExternalStorageAccess="
                        + requestRawExternalStorageAccess);
            }
        }
        super.dumpBack(pw, prefix);
@@ -1829,7 +1829,7 @@ public class ApplicationInfo extends PackageItemInfo implements Parcelable {
        gwpAsanMode = orig.gwpAsanMode;
        memtagMode = orig.memtagMode;
        nativeHeapZeroInitialized = orig.nativeHeapZeroInitialized;
        requestOptimizedExternalStorageAccess = orig.requestOptimizedExternalStorageAccess;
        requestRawExternalStorageAccess = orig.requestRawExternalStorageAccess;
    }

    public String toString() {
@@ -1918,7 +1918,7 @@ public class ApplicationInfo extends PackageItemInfo implements Parcelable {
        dest.writeInt(gwpAsanMode);
        dest.writeInt(memtagMode);
        dest.writeInt(nativeHeapZeroInitialized);
        sForBoolean.parcel(requestOptimizedExternalStorageAccess, dest, parcelableFlags);
        sForBoolean.parcel(requestRawExternalStorageAccess, dest, parcelableFlags);
    }

    public static final @android.annotation.NonNull Parcelable.Creator<ApplicationInfo> CREATOR
@@ -2004,7 +2004,7 @@ public class ApplicationInfo extends PackageItemInfo implements Parcelable {
        gwpAsanMode = source.readInt();
        memtagMode = source.readInt();
        nativeHeapZeroInitialized = source.readInt();
        requestOptimizedExternalStorageAccess = sForBoolean.unparcel(source);
        requestRawExternalStorageAccess = sForBoolean.unparcel(source);
    }

    /**
@@ -2121,10 +2121,10 @@ public class ApplicationInfo extends PackageItemInfo implements Parcelable {
    /**
     * @return
     * <ul>
     * <li>{@code true} if this app requested optimized external storage access
     * <li>{@code false} if this app requests to disable optimized external storage access.
     * <li>{@code true} if this app requested raw external storage access
     * <li>{@code false} if this app requests to disable raw external storage access.
     * <li>{@code null} if the app didn't specify
     * {@link android.R.styleable#AndroidManifestApplication_requestOptimizedExternalStorageAccess}
     * {@link android.R.styleable#AndroidManifestApplication_requestRawExternalStorageAccess}
     * in its manifest file.
     * </ul>
     *
@@ -2132,8 +2132,8 @@ public class ApplicationInfo extends PackageItemInfo implements Parcelable {
     */
    @SystemApi
    @Nullable
    public Boolean hasRequestOptimizedExternalStorageAccess() {
        return requestOptimizedExternalStorageAccess;
    public Boolean hasRequestRawExternalStorageAccess() {
        return requestRawExternalStorageAccess;
    }

    /**
@@ -2421,8 +2421,8 @@ public class ApplicationInfo extends PackageItemInfo implements Parcelable {
        nativeHeapZeroInitialized = value;
    }
    /** {@hide} */
    public void setRequestOptimizedExternalStorageAccess(@Nullable Boolean value) {
        requestOptimizedExternalStorageAccess = value;
    public void setRequestRawExternalStorageAccess(@Nullable Boolean value) {
        requestRawExternalStorageAccess = value;
    }

    /** {@hide} */
+2 −2
Original line number Diff line number Diff line
@@ -259,8 +259,8 @@ public interface ParsingPackage extends ParsingPackageRead {
    ParsingPackage setNativeHeapZeroInitialized(
            @ApplicationInfo.NativeHeapZeroInitialized int nativeHeapZeroInitialized);

    ParsingPackage setRequestOptimizedExternalStorageAccess(
            @Nullable Boolean requestOptimizedExternalStorageAccess);
    ParsingPackage setRequestRawExternalStorageAccess(
            @Nullable Boolean requestRawExternalStorageAccess);

    ParsingPackage setCrossProfile(boolean crossProfile);

+8 −8
Original line number Diff line number Diff line
@@ -401,7 +401,7 @@ public class ParsingPackageImpl implements ParsingPackage, Parcelable {

    @Nullable
    @DataClass.ParcelWith(ForBoolean.class)
    private Boolean requestOptimizedExternalStorageAccess;
    private Boolean requestRawExternalStorageAccess;

    // TODO(chiuwinson): Non-null
    @Nullable
@@ -1087,7 +1087,7 @@ public class ParsingPackageImpl implements ParsingPackage, Parcelable {
        appInfo.setGwpAsanMode(gwpAsanMode);
        appInfo.setMemtagMode(memtagMode);
        appInfo.setNativeHeapZeroInitialized(nativeHeapZeroInitialized);
        appInfo.setRequestOptimizedExternalStorageAccess(requestOptimizedExternalStorageAccess);
        appInfo.setRequestRawExternalStorageAccess(requestRawExternalStorageAccess);
        appInfo.setBaseCodePath(mBaseApkPath);
        appInfo.setBaseResourcePath(mBaseApkPath);
        appInfo.setCodePath(mPath);
@@ -1224,7 +1224,7 @@ public class ParsingPackageImpl implements ParsingPackage, Parcelable {
        dest.writeMap(this.mProperties);
        dest.writeInt(this.memtagMode);
        dest.writeInt(this.nativeHeapZeroInitialized);
        sForBoolean.parcel(this.requestOptimizedExternalStorageAccess, dest, flags);
        sForBoolean.parcel(this.requestRawExternalStorageAccess, dest, flags);
    }

    public ParsingPackageImpl(Parcel in) {
@@ -1349,7 +1349,7 @@ public class ParsingPackageImpl implements ParsingPackage, Parcelable {
        this.mProperties = in.createTypedArrayMap(Property.CREATOR);
        this.memtagMode = in.readInt();
        this.nativeHeapZeroInitialized = in.readInt();
        this.requestOptimizedExternalStorageAccess = sForBoolean.unparcel(in);
        this.requestRawExternalStorageAccess = sForBoolean.unparcel(in);
        assignDerivedFields();
    }

@@ -2132,8 +2132,8 @@ public class ParsingPackageImpl implements ParsingPackage, Parcelable {

    @Nullable
    @Override
    public Boolean hasRequestOptimizedExternalStorageAccess() {
        return requestOptimizedExternalStorageAccess;
    public Boolean hasRequestRawExternalStorageAccess() {
        return requestRawExternalStorageAccess;
    }

    @Override
@@ -2587,8 +2587,8 @@ public class ParsingPackageImpl implements ParsingPackage, Parcelable {
    }

    @Override
    public ParsingPackageImpl setRequestOptimizedExternalStorageAccess(@Nullable Boolean value) {
        requestOptimizedExternalStorageAccess = value;
    public ParsingPackageImpl setRequestRawExternalStorageAccess(@Nullable Boolean value) {
        requestRawExternalStorageAccess = value;
        return this;
    }
    @Override
Loading