Merge "Change hasRequestRawExternalStorageAccess() to return integer" into sc-dev am: 8f28e57780 am: c9e338ed8a

Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/14327548

Change-Id: If359144e71550fea3be16dab095e3e2971bbab48
This commit is contained in:
Sahana Rao
2021-05-04 20:06:01 +00:00
committed by Automerger Merge Worker
3 changed files with 53 additions and 15 deletions

View File

@@ -11920,6 +11920,7 @@ package android.content.pm {
method public int getGwpAsanMode();
method public int getMemtagMode();
method public int getNativeHeapZeroInitialized();
method public int getRequestRawExternalStorageAccess();
method public boolean isProfileable();
method public boolean isProfileableByShell();
method public boolean isResourceOverlay();
@@ -11975,6 +11976,9 @@ package android.content.pm {
field public static final int MEMTAG_DEFAULT = -1; // 0xffffffff
field public static final int MEMTAG_OFF = 0; // 0x0
field public static final int MEMTAG_SYNC = 2; // 0x2
field public static final int RAW_EXTERNAL_STORAGE_ACCESS_DEFAULT = 0; // 0x0
field public static final int RAW_EXTERNAL_STORAGE_ACCESS_NOT_REQUESTED = 2; // 0x2
field public static final int RAW_EXTERNAL_STORAGE_ACCESS_REQUESTED = 1; // 0x1
field public static final int ZEROINIT_DEFAULT = -1; // 0xffffffff
field public static final int ZEROINIT_DISABLED = 0; // 0x0
field public static final int ZEROINIT_ENABLED = 1; // 0x1

View File

@@ -2520,7 +2520,6 @@ package android.content.om {
package android.content.pm {
public class ApplicationInfo extends android.content.pm.PackageItemInfo implements android.os.Parcelable {
method @Nullable public Boolean hasRequestRawExternalStorageAccess();
method public boolean isEncryptionAware();
method public boolean isInstantApp();
method public boolean isOem();

View File

@@ -2141,22 +2141,57 @@ public class ApplicationInfo extends PackageItemInfo implements Parcelable {
}
/**
* @return
* <ul>
* <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_requestRawExternalStorageAccess}
* in its manifest file.
* </ul>
*
* Use default value for
* {@link android.R.styleable#AndroidManifestApplication_requestRawExternalStorageAccess}.
*/
public static final int RAW_EXTERNAL_STORAGE_ACCESS_DEFAULT = 0;
/**
* Raw external storage was requested by this app.
*/
public static final int RAW_EXTERNAL_STORAGE_ACCESS_REQUESTED = 1;
/**
* Raw external storage was not requested by this app.
*/
public static final int RAW_EXTERNAL_STORAGE_ACCESS_NOT_REQUESTED = 2;
/**
* These constants need to match the value of
* {@link android.R.styleable#AndroidManifestApplication_requestRawExternalStorageAccess}.
* in application manifest.
* @hide
*/
@SuppressWarnings("AutoBoxing")
@SystemApi
@Nullable
public Boolean hasRequestRawExternalStorageAccess() {
return requestRawExternalStorageAccess;
@IntDef(prefix = {"RAW_EXTERNAL_STORAGE_"}, value = {
RAW_EXTERNAL_STORAGE_ACCESS_DEFAULT,
RAW_EXTERNAL_STORAGE_ACCESS_REQUESTED,
RAW_EXTERNAL_STORAGE_ACCESS_NOT_REQUESTED,
})
@Retention(RetentionPolicy.SOURCE)
public @interface RawExternalStorage {}
/**
* @return
* <ul>
* <li>{@link ApplicationInfo#RAW_EXTERNAL_STORAGE_ACCESS_DEFAULT} if app didn't specify
* {@link android.R.styleable#AndroidManifestApplication_requestRawExternalStorageAccess}
* attribute in the manifest.
* <li>{@link ApplicationInfo#RAW_EXTERNAL_STORAGE_ACCESS_REQUESTED} if this app requested raw
* external storage access.
* <li>{@link ApplicationInfo#RAW_EXTERNAL_STORAGE_ACCESS_NOT_REQUESTED} if this app requests to
* disable raw external storage access
* </ul
* <p>
* Note that this doesn't give any hints on whether the app gets raw external storage access or
* not. Also, apps may get raw external storage access by default in some cases, see
* {@link android.R.styleable#AndroidManifestApplication_requestRawExternalStorageAccess}.
*/
public @RawExternalStorage int getRequestRawExternalStorageAccess() {
if (requestRawExternalStorageAccess == null) {
return RAW_EXTERNAL_STORAGE_ACCESS_DEFAULT;
}
return requestRawExternalStorageAccess ? RAW_EXTERNAL_STORAGE_ACCESS_REQUESTED
: RAW_EXTERNAL_STORAGE_ACCESS_NOT_REQUESTED;
}
/**