Loading api/current.txt +1 −0 Original line number Diff line number Diff line Loading @@ -289,6 +289,7 @@ package android { field public static final int allowBackup = 16843392; // 0x1010280 field public static final int allowClearUserData = 16842757; // 0x1010005 field public static final int allowEmbedded = 16843765; // 0x10103f5 field public static final int allowNativeHeapPointerTagging = 16844311; // 0x1010617 field public static final int allowParallelSyncs = 16843570; // 0x1010332 field public static final int allowSingleTap = 16843353; // 0x1010259 field public static final int allowTaskReparenting = 16843268; // 0x1010204 core/java/android/content/pm/ApplicationInfo.java +17 −0 Original line number Diff line number Diff line Loading @@ -702,6 +702,13 @@ public class ApplicationInfo extends PackageItemInfo implements Parcelable { */ public static final int PRIVATE_FLAG_ODM = 1 << 30; /** * Value for {@link #privateFlags}: If {@code true} this app allows heap tagging. * {@link com.android.server.am.ProcessList#NATIVE_HEAP_POINTER_TAGGING} * @hide */ public static final int PRIVATE_FLAG_ALLOW_NATIVE_HEAP_POINTER_TAGGING = 1 << 31; /** @hide */ @IntDef(flag = true, prefix = { "PRIVATE_FLAG_" }, value = { PRIVATE_FLAG_ACTIVITIES_RESIZE_MODE_RESIZEABLE, Loading Loading @@ -733,6 +740,7 @@ public class ApplicationInfo extends PackageItemInfo implements Parcelable { PRIVATE_FLAG_ALLOW_AUDIO_PLAYBACK_CAPTURE, PRIVATE_FLAG_REQUEST_LEGACY_EXTERNAL_STORAGE, PRIVATE_FLAG_ODM, PRIVATE_FLAG_ALLOW_NATIVE_HEAP_POINTER_TAGGING, }) @Retention(RetentionPolicy.SOURCE) public @interface ApplicationInfoPrivateFlags {} Loading Loading @@ -1878,6 +1886,15 @@ public class ApplicationInfo extends PackageItemInfo implements Parcelable { return (privateFlags & PRIVATE_FLAG_REQUEST_LEGACY_EXTERNAL_STORAGE) != 0; } /** * If {@code true} this app allows heap pointer tagging. * * @hide */ public boolean allowsNativeHeapPointerTagging() { return (privateFlags & PRIVATE_FLAG_ALLOW_NATIVE_HEAP_POINTER_TAGGING) != 0; } private boolean isAllowedToUseHiddenApis() { if (isSignedWithPlatformKey()) { return true; Loading core/java/android/content/pm/PackageParser.java +5 −0 Original line number Diff line number Diff line Loading @@ -3710,6 +3710,11 @@ public class PackageParser { ai.privateFlags |= ApplicationInfo.PRIVATE_FLAG_REQUEST_LEGACY_EXTERNAL_STORAGE; } if (sa.getBoolean( R.styleable.AndroidManifestApplication_allowNativeHeapPointerTagging, true)) { ai.privateFlags |= ApplicationInfo.PRIVATE_FLAG_ALLOW_NATIVE_HEAP_POINTER_TAGGING; } ai.maxAspectRatio = sa.getFloat(R.styleable.AndroidManifestApplication_maxAspectRatio, 0); ai.minAspectRatio = sa.getFloat(R.styleable.AndroidManifestApplication_minAspectRatio, 0); Loading core/java/android/content/pm/parsing/ApkParseUtils.java +3 −0 Original line number Diff line number Diff line Loading @@ -2098,6 +2098,9 @@ public class ApkParseUtils { R.styleable.AndroidManifestApplication_requestLegacyExternalStorage, parsingPackage.getTargetSdkVersion() < Build.VERSION_CODES.Q)); parsingPackage.setAllowNativeHeapPointerTagging(sa.getBoolean( R.styleable.AndroidManifestApplication_allowNativeHeapPointerTagging, true)); parsingPackage .setMaxAspectRatio( sa.getFloat(R.styleable.AndroidManifestApplication_maxAspectRatio, 0)) Loading core/java/android/content/pm/parsing/PackageImpl.java +10 −0 Original line number Diff line number Diff line Loading @@ -1508,6 +1508,16 @@ public final class PackageImpl implements ParsingPackage, ParsedPackage, Android return this; } @Override public PackageImpl setAllowNativeHeapPointerTagging(boolean allowNativeHeapPointerTagging) { this.privateFlags = allowNativeHeapPointerTagging ? this.privateFlags | ApplicationInfo .PRIVATE_FLAG_ALLOW_NATIVE_HEAP_POINTER_TAGGING : this.privateFlags & ~ApplicationInfo .PRIVATE_FLAG_ALLOW_NATIVE_HEAP_POINTER_TAGGING; return this; } @Override public PackageImpl setUsesNonSdkApi(boolean usesNonSdkApi) { this.privateFlags = usesNonSdkApi Loading Loading
api/current.txt +1 −0 Original line number Diff line number Diff line Loading @@ -289,6 +289,7 @@ package android { field public static final int allowBackup = 16843392; // 0x1010280 field public static final int allowClearUserData = 16842757; // 0x1010005 field public static final int allowEmbedded = 16843765; // 0x10103f5 field public static final int allowNativeHeapPointerTagging = 16844311; // 0x1010617 field public static final int allowParallelSyncs = 16843570; // 0x1010332 field public static final int allowSingleTap = 16843353; // 0x1010259 field public static final int allowTaskReparenting = 16843268; // 0x1010204
core/java/android/content/pm/ApplicationInfo.java +17 −0 Original line number Diff line number Diff line Loading @@ -702,6 +702,13 @@ public class ApplicationInfo extends PackageItemInfo implements Parcelable { */ public static final int PRIVATE_FLAG_ODM = 1 << 30; /** * Value for {@link #privateFlags}: If {@code true} this app allows heap tagging. * {@link com.android.server.am.ProcessList#NATIVE_HEAP_POINTER_TAGGING} * @hide */ public static final int PRIVATE_FLAG_ALLOW_NATIVE_HEAP_POINTER_TAGGING = 1 << 31; /** @hide */ @IntDef(flag = true, prefix = { "PRIVATE_FLAG_" }, value = { PRIVATE_FLAG_ACTIVITIES_RESIZE_MODE_RESIZEABLE, Loading Loading @@ -733,6 +740,7 @@ public class ApplicationInfo extends PackageItemInfo implements Parcelable { PRIVATE_FLAG_ALLOW_AUDIO_PLAYBACK_CAPTURE, PRIVATE_FLAG_REQUEST_LEGACY_EXTERNAL_STORAGE, PRIVATE_FLAG_ODM, PRIVATE_FLAG_ALLOW_NATIVE_HEAP_POINTER_TAGGING, }) @Retention(RetentionPolicy.SOURCE) public @interface ApplicationInfoPrivateFlags {} Loading Loading @@ -1878,6 +1886,15 @@ public class ApplicationInfo extends PackageItemInfo implements Parcelable { return (privateFlags & PRIVATE_FLAG_REQUEST_LEGACY_EXTERNAL_STORAGE) != 0; } /** * If {@code true} this app allows heap pointer tagging. * * @hide */ public boolean allowsNativeHeapPointerTagging() { return (privateFlags & PRIVATE_FLAG_ALLOW_NATIVE_HEAP_POINTER_TAGGING) != 0; } private boolean isAllowedToUseHiddenApis() { if (isSignedWithPlatformKey()) { return true; Loading
core/java/android/content/pm/PackageParser.java +5 −0 Original line number Diff line number Diff line Loading @@ -3710,6 +3710,11 @@ public class PackageParser { ai.privateFlags |= ApplicationInfo.PRIVATE_FLAG_REQUEST_LEGACY_EXTERNAL_STORAGE; } if (sa.getBoolean( R.styleable.AndroidManifestApplication_allowNativeHeapPointerTagging, true)) { ai.privateFlags |= ApplicationInfo.PRIVATE_FLAG_ALLOW_NATIVE_HEAP_POINTER_TAGGING; } ai.maxAspectRatio = sa.getFloat(R.styleable.AndroidManifestApplication_maxAspectRatio, 0); ai.minAspectRatio = sa.getFloat(R.styleable.AndroidManifestApplication_minAspectRatio, 0); Loading
core/java/android/content/pm/parsing/ApkParseUtils.java +3 −0 Original line number Diff line number Diff line Loading @@ -2098,6 +2098,9 @@ public class ApkParseUtils { R.styleable.AndroidManifestApplication_requestLegacyExternalStorage, parsingPackage.getTargetSdkVersion() < Build.VERSION_CODES.Q)); parsingPackage.setAllowNativeHeapPointerTagging(sa.getBoolean( R.styleable.AndroidManifestApplication_allowNativeHeapPointerTagging, true)); parsingPackage .setMaxAspectRatio( sa.getFloat(R.styleable.AndroidManifestApplication_maxAspectRatio, 0)) Loading
core/java/android/content/pm/parsing/PackageImpl.java +10 −0 Original line number Diff line number Diff line Loading @@ -1508,6 +1508,16 @@ public final class PackageImpl implements ParsingPackage, ParsedPackage, Android return this; } @Override public PackageImpl setAllowNativeHeapPointerTagging(boolean allowNativeHeapPointerTagging) { this.privateFlags = allowNativeHeapPointerTagging ? this.privateFlags | ApplicationInfo .PRIVATE_FLAG_ALLOW_NATIVE_HEAP_POINTER_TAGGING : this.privateFlags & ~ApplicationInfo .PRIVATE_FLAG_ALLOW_NATIVE_HEAP_POINTER_TAGGING; return this; } @Override public PackageImpl setUsesNonSdkApi(boolean usesNonSdkApi) { this.privateFlags = usesNonSdkApi Loading