Loading core/api/current.txt +5 −2 Original line number Diff line number Diff line Loading @@ -1009,7 +1009,7 @@ package android { field public static final int multiArch = 16843918; // 0x101048e field public static final int multiprocess = 16842771; // 0x1010013 field public static final int name = 16842755; // 0x1010003 field public static final int nativeHeapZeroInit = 16844325; // 0x1010625 field public static final int nativeHeapZeroInitialized = 16844325; // 0x1010625 field public static final int navigationBarColor = 16843858; // 0x1010452 field public static final int navigationBarDividerColor = 16844141; // 0x101056d field public static final int navigationContentDescription = 16843969; // 0x10104c1 Loading Loading @@ -11864,7 +11864,7 @@ package android.content.pm { method public static CharSequence getCategoryTitle(android.content.Context, int); method public int getGwpAsanMode(); method public int getMemtagMode(); method @Nullable public Boolean isNativeHeapZeroInit(); method public int getNativeHeapZeroInitialized(); method public boolean isProfileableByShell(); method public boolean isResourceOverlay(); method public boolean isVirtualPreload(); Loading Loading @@ -11919,6 +11919,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 ZEROINIT_DEFAULT = -1; // 0xffffffff field public static final int ZEROINIT_DISABLED = 0; // 0x0 field public static final int ZEROINIT_ENABLED = 1; // 0x1 field public String appComponentFactory; field public String backupAgentName; field public int category; core/java/android/content/pm/ApplicationInfo.java +57 −15 Original line number Diff line number Diff line Loading @@ -1363,7 +1363,7 @@ public class ApplicationInfo extends PackageItemInfo implements Parcelable { * Indicates if the application has requested GWP-ASan to be enabled, disabled, or left * unspecified. Processes can override this setting. */ private @GwpAsanMode int gwpAsanMode; private @GwpAsanMode int gwpAsanMode = GWP_ASAN_DEFAULT; /** * Default (unspecified) setting of Memtag. Loading Loading @@ -1402,13 +1402,38 @@ public class ApplicationInfo extends PackageItemInfo implements Parcelable { * Indicates if the application has requested Memtag to be enabled, disabled, or left * unspecified. Processes can override this setting. */ private @MemtagMode int memtagMode; private @MemtagMode int memtagMode = MEMTAG_DEFAULT; /** * Default (unspecified) setting of nativeHeapZeroInitialized. */ public static final int ZEROINIT_DEFAULT = -1; /** * Disable zero-initialization of the native heap in this application or process. */ public static final int ZEROINIT_DISABLED = 0; /** * Enable zero-initialization of the native heap in this application or process. */ public static final int ZEROINIT_ENABLED = 1; /** * @hide */ @IntDef(prefix = {"ZEROINIT_"}, value = { ZEROINIT_DEFAULT, ZEROINIT_DISABLED, ZEROINIT_ENABLED, }) @Retention(RetentionPolicy.SOURCE) public @interface NativeHeapZeroInitialized {} /** * Enable automatic zero-initialization of native heap memory allocations. */ @Nullable private Boolean nativeHeapZeroInit; private @NativeHeapZeroInitialized int nativeHeapZeroInitialized = ZEROINIT_DEFAULT; /** * If {@code true} this app requests optimized external storage access. Loading Loading @@ -1570,8 +1595,8 @@ public class ApplicationInfo extends PackageItemInfo implements Parcelable { if (memtagMode != MEMTAG_DEFAULT) { pw.println(prefix + "memtagMode=" + memtagMode); } if (nativeHeapZeroInit != null) { pw.println(prefix + "nativeHeapZeroInit=" + nativeHeapZeroInit); if (nativeHeapZeroInitialized != ZEROINIT_DEFAULT) { pw.println(prefix + "nativeHeapZeroInitialized=" + nativeHeapZeroInitialized); } if (requestOptimizedExternalStorageAccess != null) { pw.println(prefix + "requestOptimizedExternalStorageAccess=" Loading Loading @@ -1686,8 +1711,9 @@ public class ApplicationInfo extends PackageItemInfo implements Parcelable { if (memtagMode != MEMTAG_DEFAULT) { proto.write(ApplicationInfoProto.Detail.ENABLE_MEMTAG, memtagMode); } if (nativeHeapZeroInit != null) { proto.write(ApplicationInfoProto.Detail.NATIVE_HEAP_ZERO_INIT, nativeHeapZeroInit); if (nativeHeapZeroInitialized != ZEROINIT_DEFAULT) { proto.write(ApplicationInfoProto.Detail.NATIVE_HEAP_ZERO_INIT, nativeHeapZeroInitialized); } proto.end(detailToken); } Loading Loading @@ -1802,7 +1828,7 @@ public class ApplicationInfo extends PackageItemInfo implements Parcelable { zygotePreloadName = orig.zygotePreloadName; gwpAsanMode = orig.gwpAsanMode; memtagMode = orig.memtagMode; nativeHeapZeroInit = orig.nativeHeapZeroInit; nativeHeapZeroInitialized = orig.nativeHeapZeroInitialized; requestOptimizedExternalStorageAccess = orig.requestOptimizedExternalStorageAccess; } Loading Loading @@ -1891,7 +1917,7 @@ public class ApplicationInfo extends PackageItemInfo implements Parcelable { dest.writeString8(zygotePreloadName); dest.writeInt(gwpAsanMode); dest.writeInt(memtagMode); sForBoolean.parcel(nativeHeapZeroInit, dest, parcelableFlags); dest.writeInt(nativeHeapZeroInitialized); sForBoolean.parcel(requestOptimizedExternalStorageAccess, dest, parcelableFlags); } Loading Loading @@ -1977,7 +2003,7 @@ public class ApplicationInfo extends PackageItemInfo implements Parcelable { zygotePreloadName = source.readString8(); gwpAsanMode = source.readInt(); memtagMode = source.readInt(); nativeHeapZeroInit = sForBoolean.unparcel(source); nativeHeapZeroInitialized = source.readInt(); requestOptimizedExternalStorageAccess = sForBoolean.unparcel(source); } Loading Loading @@ -2382,7 +2408,9 @@ public class ApplicationInfo extends PackageItemInfo implements Parcelable { /** {@hide} */ public void setSplitResourcePaths(String[] splitResourcePaths) { splitPublicSourceDirs = splitResourcePaths; } /** {@hide} */ public void setGwpAsanMode(@GwpAsanMode int value) { gwpAsanMode = value; } /** {@hide} */ public void setMemtagMode(@MemtagMode int value) { memtagMode = value; } /** {@hide} */ public void setNativeHeapZeroInit(@Nullable Boolean value) { nativeHeapZeroInit = value; } /** {@hide} */ public void setNativeHeapZeroInitialized(@NativeHeapZeroInitialized int value) { nativeHeapZeroInitialized = value; } /** {@hide} */ public void setRequestOptimizedExternalStorageAccess(@Nullable Boolean value) { requestOptimizedExternalStorageAccess = value; Loading @@ -2400,8 +2428,22 @@ public class ApplicationInfo extends PackageItemInfo implements Parcelable { /** {@hide} */ public String[] getSplitResourcePaths() { return splitPublicSourceDirs; } @GwpAsanMode public int getGwpAsanMode() { return gwpAsanMode; } /** * Returns whether the application has requested Memtag to be enabled, disabled, or left * unspecified. Processes can override this setting. */ @MemtagMode public int getMemtagMode() { return memtagMode; } @Nullable public Boolean isNativeHeapZeroInit() { return nativeHeapZeroInit; } public int getMemtagMode() { return memtagMode; } /** * Returns whether the application has requested automatic zero-initialization of native heap * memory allocations to be enabled or disabled. */ @NativeHeapZeroInitialized public int getNativeHeapZeroInitialized() { return nativeHeapZeroInitialized; } } core/java/android/content/pm/ProcessInfo.java +14 −12 Original line number Diff line number Diff line Loading @@ -62,8 +62,7 @@ public class ProcessInfo implements Parcelable { /** * Enable automatic zero-initialization of native heap memory allocations. */ @Nullable public Boolean nativeHeapZeroInit; public @ApplicationInfo.NativeHeapZeroInitialized int nativeHeapZeroInitialized; @Deprecated public ProcessInfo(@NonNull ProcessInfo orig) { Loading @@ -71,7 +70,7 @@ public class ProcessInfo implements Parcelable { this.deniedPermissions = orig.deniedPermissions; this.gwpAsanMode = orig.gwpAsanMode; this.memtagMode = orig.memtagMode; this.nativeHeapZeroInit = orig.nativeHeapZeroInit; this.nativeHeapZeroInitialized = orig.nativeHeapZeroInitialized; } Loading Loading @@ -101,7 +100,7 @@ public class ProcessInfo implements Parcelable { * @param memtagMode * Indicates if the process has requested Memtag to be enabled (in sync or async mode), * disabled, or left unspecified. * @param nativeHeapZeroInit * @param nativeHeapZeroInitialized * Enable automatic zero-initialization of native heap memory allocations. */ @DataClass.Generated.Member Loading @@ -110,7 +109,7 @@ public class ProcessInfo implements Parcelable { @Nullable ArraySet<String> deniedPermissions, @ApplicationInfo.GwpAsanMode int gwpAsanMode, @ApplicationInfo.MemtagMode int memtagMode, @Nullable Boolean nativeHeapZeroInit) { @ApplicationInfo.NativeHeapZeroInitialized int nativeHeapZeroInitialized) { this.name = name; com.android.internal.util.AnnotationValidations.validate( NonNull.class, null, name); Loading @@ -121,7 +120,9 @@ public class ProcessInfo implements Parcelable { this.memtagMode = memtagMode; com.android.internal.util.AnnotationValidations.validate( ApplicationInfo.MemtagMode.class, null, memtagMode); this.nativeHeapZeroInit = nativeHeapZeroInit; this.nativeHeapZeroInitialized = nativeHeapZeroInitialized; com.android.internal.util.AnnotationValidations.validate( ApplicationInfo.NativeHeapZeroInitialized.class, null, nativeHeapZeroInitialized); // onConstructed(); // You can define this method to get a callback } Loading @@ -145,13 +146,12 @@ public class ProcessInfo implements Parcelable { byte flg = 0; if (deniedPermissions != null) flg |= 0x2; if (nativeHeapZeroInit != null) flg |= 0x10; dest.writeByte(flg); dest.writeString(name); sParcellingForDeniedPermissions.parcel(deniedPermissions, dest, flags); dest.writeInt(gwpAsanMode); dest.writeInt(memtagMode); if (nativeHeapZeroInit != null) dest.writeBoolean(nativeHeapZeroInit); dest.writeInt(nativeHeapZeroInitialized); } @Override Loading @@ -170,7 +170,7 @@ public class ProcessInfo implements Parcelable { ArraySet<String> _deniedPermissions = sParcellingForDeniedPermissions.unparcel(in); int _gwpAsanMode = in.readInt(); int _memtagMode = in.readInt(); Boolean _nativeHeapZeroInit = (flg & 0x10) == 0 ? null : (Boolean) in.readBoolean(); int _nativeHeapZeroInitialized = in.readInt(); this.name = _name; com.android.internal.util.AnnotationValidations.validate( Loading @@ -182,7 +182,9 @@ public class ProcessInfo implements Parcelable { this.memtagMode = _memtagMode; com.android.internal.util.AnnotationValidations.validate( ApplicationInfo.MemtagMode.class, null, memtagMode); this.nativeHeapZeroInit = _nativeHeapZeroInit; this.nativeHeapZeroInitialized = _nativeHeapZeroInitialized; com.android.internal.util.AnnotationValidations.validate( ApplicationInfo.NativeHeapZeroInitialized.class, null, nativeHeapZeroInitialized); // onConstructed(); // You can define this method to get a callback } Loading @@ -202,10 +204,10 @@ public class ProcessInfo implements Parcelable { }; @DataClass.Generated( time = 1611614699049L, time = 1615850184524L, codegenVersion = "1.0.22", sourceFile = "frameworks/base/core/java/android/content/pm/ProcessInfo.java", inputSignatures = "public @android.annotation.NonNull java.lang.String name\npublic @android.annotation.Nullable @com.android.internal.util.DataClass.ParcelWith(com.android.internal.util.Parcelling.BuiltIn.ForInternedStringArraySet.class) android.util.ArraySet<java.lang.String> deniedPermissions\npublic @android.content.pm.ApplicationInfo.GwpAsanMode int gwpAsanMode\npublic @android.content.pm.ApplicationInfo.MemtagMode int memtagMode\npublic @android.annotation.Nullable java.lang.Boolean nativeHeapZeroInit\nclass ProcessInfo extends java.lang.Object implements [android.os.Parcelable]\n@com.android.internal.util.DataClass(genGetters=true, genSetters=false, genParcelable=true, genAidl=false, genBuilder=false)") inputSignatures = "public @android.annotation.NonNull java.lang.String name\npublic @android.annotation.Nullable @com.android.internal.util.DataClass.ParcelWith(com.android.internal.util.Parcelling.BuiltIn.ForInternedStringArraySet.class) android.util.ArraySet<java.lang.String> deniedPermissions\npublic @android.content.pm.ApplicationInfo.GwpAsanMode int gwpAsanMode\npublic @android.content.pm.ApplicationInfo.MemtagMode int memtagMode\npublic @android.content.pm.ApplicationInfo.NativeHeapZeroInitialized int nativeHeapZeroInitialized\nclass ProcessInfo extends java.lang.Object implements [android.os.Parcelable]\n@com.android.internal.util.DataClass(genGetters=true, genSetters=false, genParcelable=true, genAidl=false, genBuilder=false)") @Deprecated private void __metadata() {} Loading core/java/android/content/pm/parsing/ParsingPackage.java +5 −3 Original line number Diff line number Diff line Loading @@ -20,6 +20,7 @@ import android.annotation.CallSuper; import android.annotation.NonNull; import android.annotation.Nullable; import android.content.Intent; import android.content.pm.ApplicationInfo; import android.content.pm.ConfigurationInfo; import android.content.pm.FeatureGroupInfo; import android.content.pm.FeatureInfo; Loading Loading @@ -251,11 +252,12 @@ public interface ParsingPackage extends ParsingPackageRead { ParsingPackage setEnabled(boolean enabled); ParsingPackage setGwpAsanMode(int gwpAsanMode); ParsingPackage setGwpAsanMode(@ApplicationInfo.GwpAsanMode int gwpAsanMode); ParsingPackage setMemtagMode(int memtagMode); ParsingPackage setMemtagMode(@ApplicationInfo.MemtagMode int memtagMode); ParsingPackage setNativeHeapZeroInit(@Nullable Boolean nativeHeapZeroInit); ParsingPackage setNativeHeapZeroInitialized( @ApplicationInfo.NativeHeapZeroInitialized int nativeHeapZeroInitialized); ParsingPackage setRequestOptimizedExternalStorageAccess( @Nullable Boolean requestOptimizedExternalStorageAccess); Loading core/java/android/content/pm/parsing/ParsingPackageImpl.java +20 −15 Original line number Diff line number Diff line Loading @@ -382,12 +382,14 @@ public class ParsingPackageImpl implements ParsingPackage, Parcelable { private int autoRevokePermissions; protected int gwpAsanMode; protected int memtagMode; @ApplicationInfo.GwpAsanMode private int gwpAsanMode; @Nullable @DataClass.ParcelWith(ForBoolean.class) private Boolean nativeHeapZeroInit; @ApplicationInfo.MemtagMode private int memtagMode; @ApplicationInfo.NativeHeapZeroInitialized private int nativeHeapZeroInitialized; @Nullable @DataClass.ParcelWith(ForBoolean.class) Loading Loading @@ -1071,7 +1073,7 @@ public class ParsingPackageImpl implements ParsingPackage, Parcelable { appInfo.zygotePreloadName = zygotePreloadName; appInfo.setGwpAsanMode(gwpAsanMode); appInfo.setMemtagMode(memtagMode); appInfo.setNativeHeapZeroInit(nativeHeapZeroInit); appInfo.setNativeHeapZeroInitialized(nativeHeapZeroInitialized); appInfo.setRequestOptimizedExternalStorageAccess(requestOptimizedExternalStorageAccess); appInfo.setBaseCodePath(mBaseApkPath); appInfo.setBaseResourcePath(mBaseApkPath); Loading Loading @@ -1207,7 +1209,7 @@ public class ParsingPackageImpl implements ParsingPackage, Parcelable { dest.writeLong(this.mBooleans); dest.writeMap(this.mProperties); dest.writeInt(this.memtagMode); sForBoolean.parcel(this.nativeHeapZeroInit, dest, flags); dest.writeInt(this.nativeHeapZeroInitialized); sForBoolean.parcel(this.requestOptimizedExternalStorageAccess, dest, flags); } Loading Loading @@ -1331,7 +1333,7 @@ public class ParsingPackageImpl implements ParsingPackage, Parcelable { this.mBooleans = in.readLong(); this.mProperties = in.createTypedArrayMap(Property.CREATOR); this.memtagMode = in.readInt(); this.nativeHeapZeroInit = sForBoolean.unparcel(in); this.nativeHeapZeroInitialized = in.readInt(); this.requestOptimizedExternalStorageAccess = sForBoolean.unparcel(in); assignDerivedFields(); } Loading Loading @@ -2096,20 +2098,22 @@ public class ParsingPackageImpl implements ParsingPackage, Parcelable { return getBoolean(Booleans.DIRECT_BOOT_AWARE); } @ApplicationInfo.GwpAsanMode @Override public int getGwpAsanMode() { return gwpAsanMode; } @ApplicationInfo.MemtagMode @Override public int getMemtagMode() { return memtagMode; } @Nullable @ApplicationInfo.NativeHeapZeroInitialized @Override public Boolean isNativeHeapZeroInit() { return nativeHeapZeroInit; public int getNativeHeapZeroInitialized() { return nativeHeapZeroInitialized; } @Nullable Loading Loading @@ -2550,20 +2554,21 @@ public class ParsingPackageImpl implements ParsingPackage, Parcelable { } @Override public ParsingPackageImpl setGwpAsanMode(int value) { public ParsingPackageImpl setGwpAsanMode(@ApplicationInfo.GwpAsanMode int value) { gwpAsanMode = value; return this; } @Override public ParsingPackageImpl setMemtagMode(int value) { public ParsingPackageImpl setMemtagMode(@ApplicationInfo.MemtagMode int value) { memtagMode = value; return this; } @Override public ParsingPackageImpl setNativeHeapZeroInit(@Nullable Boolean value) { nativeHeapZeroInit = value; public ParsingPackageImpl setNativeHeapZeroInitialized( @ApplicationInfo.NativeHeapZeroInitialized int value) { nativeHeapZeroInitialized = value; return this; } Loading Loading
core/api/current.txt +5 −2 Original line number Diff line number Diff line Loading @@ -1009,7 +1009,7 @@ package android { field public static final int multiArch = 16843918; // 0x101048e field public static final int multiprocess = 16842771; // 0x1010013 field public static final int name = 16842755; // 0x1010003 field public static final int nativeHeapZeroInit = 16844325; // 0x1010625 field public static final int nativeHeapZeroInitialized = 16844325; // 0x1010625 field public static final int navigationBarColor = 16843858; // 0x1010452 field public static final int navigationBarDividerColor = 16844141; // 0x101056d field public static final int navigationContentDescription = 16843969; // 0x10104c1 Loading Loading @@ -11864,7 +11864,7 @@ package android.content.pm { method public static CharSequence getCategoryTitle(android.content.Context, int); method public int getGwpAsanMode(); method public int getMemtagMode(); method @Nullable public Boolean isNativeHeapZeroInit(); method public int getNativeHeapZeroInitialized(); method public boolean isProfileableByShell(); method public boolean isResourceOverlay(); method public boolean isVirtualPreload(); Loading Loading @@ -11919,6 +11919,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 ZEROINIT_DEFAULT = -1; // 0xffffffff field public static final int ZEROINIT_DISABLED = 0; // 0x0 field public static final int ZEROINIT_ENABLED = 1; // 0x1 field public String appComponentFactory; field public String backupAgentName; field public int category;
core/java/android/content/pm/ApplicationInfo.java +57 −15 Original line number Diff line number Diff line Loading @@ -1363,7 +1363,7 @@ public class ApplicationInfo extends PackageItemInfo implements Parcelable { * Indicates if the application has requested GWP-ASan to be enabled, disabled, or left * unspecified. Processes can override this setting. */ private @GwpAsanMode int gwpAsanMode; private @GwpAsanMode int gwpAsanMode = GWP_ASAN_DEFAULT; /** * Default (unspecified) setting of Memtag. Loading Loading @@ -1402,13 +1402,38 @@ public class ApplicationInfo extends PackageItemInfo implements Parcelable { * Indicates if the application has requested Memtag to be enabled, disabled, or left * unspecified. Processes can override this setting. */ private @MemtagMode int memtagMode; private @MemtagMode int memtagMode = MEMTAG_DEFAULT; /** * Default (unspecified) setting of nativeHeapZeroInitialized. */ public static final int ZEROINIT_DEFAULT = -1; /** * Disable zero-initialization of the native heap in this application or process. */ public static final int ZEROINIT_DISABLED = 0; /** * Enable zero-initialization of the native heap in this application or process. */ public static final int ZEROINIT_ENABLED = 1; /** * @hide */ @IntDef(prefix = {"ZEROINIT_"}, value = { ZEROINIT_DEFAULT, ZEROINIT_DISABLED, ZEROINIT_ENABLED, }) @Retention(RetentionPolicy.SOURCE) public @interface NativeHeapZeroInitialized {} /** * Enable automatic zero-initialization of native heap memory allocations. */ @Nullable private Boolean nativeHeapZeroInit; private @NativeHeapZeroInitialized int nativeHeapZeroInitialized = ZEROINIT_DEFAULT; /** * If {@code true} this app requests optimized external storage access. Loading Loading @@ -1570,8 +1595,8 @@ public class ApplicationInfo extends PackageItemInfo implements Parcelable { if (memtagMode != MEMTAG_DEFAULT) { pw.println(prefix + "memtagMode=" + memtagMode); } if (nativeHeapZeroInit != null) { pw.println(prefix + "nativeHeapZeroInit=" + nativeHeapZeroInit); if (nativeHeapZeroInitialized != ZEROINIT_DEFAULT) { pw.println(prefix + "nativeHeapZeroInitialized=" + nativeHeapZeroInitialized); } if (requestOptimizedExternalStorageAccess != null) { pw.println(prefix + "requestOptimizedExternalStorageAccess=" Loading Loading @@ -1686,8 +1711,9 @@ public class ApplicationInfo extends PackageItemInfo implements Parcelable { if (memtagMode != MEMTAG_DEFAULT) { proto.write(ApplicationInfoProto.Detail.ENABLE_MEMTAG, memtagMode); } if (nativeHeapZeroInit != null) { proto.write(ApplicationInfoProto.Detail.NATIVE_HEAP_ZERO_INIT, nativeHeapZeroInit); if (nativeHeapZeroInitialized != ZEROINIT_DEFAULT) { proto.write(ApplicationInfoProto.Detail.NATIVE_HEAP_ZERO_INIT, nativeHeapZeroInitialized); } proto.end(detailToken); } Loading Loading @@ -1802,7 +1828,7 @@ public class ApplicationInfo extends PackageItemInfo implements Parcelable { zygotePreloadName = orig.zygotePreloadName; gwpAsanMode = orig.gwpAsanMode; memtagMode = orig.memtagMode; nativeHeapZeroInit = orig.nativeHeapZeroInit; nativeHeapZeroInitialized = orig.nativeHeapZeroInitialized; requestOptimizedExternalStorageAccess = orig.requestOptimizedExternalStorageAccess; } Loading Loading @@ -1891,7 +1917,7 @@ public class ApplicationInfo extends PackageItemInfo implements Parcelable { dest.writeString8(zygotePreloadName); dest.writeInt(gwpAsanMode); dest.writeInt(memtagMode); sForBoolean.parcel(nativeHeapZeroInit, dest, parcelableFlags); dest.writeInt(nativeHeapZeroInitialized); sForBoolean.parcel(requestOptimizedExternalStorageAccess, dest, parcelableFlags); } Loading Loading @@ -1977,7 +2003,7 @@ public class ApplicationInfo extends PackageItemInfo implements Parcelable { zygotePreloadName = source.readString8(); gwpAsanMode = source.readInt(); memtagMode = source.readInt(); nativeHeapZeroInit = sForBoolean.unparcel(source); nativeHeapZeroInitialized = source.readInt(); requestOptimizedExternalStorageAccess = sForBoolean.unparcel(source); } Loading Loading @@ -2382,7 +2408,9 @@ public class ApplicationInfo extends PackageItemInfo implements Parcelable { /** {@hide} */ public void setSplitResourcePaths(String[] splitResourcePaths) { splitPublicSourceDirs = splitResourcePaths; } /** {@hide} */ public void setGwpAsanMode(@GwpAsanMode int value) { gwpAsanMode = value; } /** {@hide} */ public void setMemtagMode(@MemtagMode int value) { memtagMode = value; } /** {@hide} */ public void setNativeHeapZeroInit(@Nullable Boolean value) { nativeHeapZeroInit = value; } /** {@hide} */ public void setNativeHeapZeroInitialized(@NativeHeapZeroInitialized int value) { nativeHeapZeroInitialized = value; } /** {@hide} */ public void setRequestOptimizedExternalStorageAccess(@Nullable Boolean value) { requestOptimizedExternalStorageAccess = value; Loading @@ -2400,8 +2428,22 @@ public class ApplicationInfo extends PackageItemInfo implements Parcelable { /** {@hide} */ public String[] getSplitResourcePaths() { return splitPublicSourceDirs; } @GwpAsanMode public int getGwpAsanMode() { return gwpAsanMode; } /** * Returns whether the application has requested Memtag to be enabled, disabled, or left * unspecified. Processes can override this setting. */ @MemtagMode public int getMemtagMode() { return memtagMode; } @Nullable public Boolean isNativeHeapZeroInit() { return nativeHeapZeroInit; } public int getMemtagMode() { return memtagMode; } /** * Returns whether the application has requested automatic zero-initialization of native heap * memory allocations to be enabled or disabled. */ @NativeHeapZeroInitialized public int getNativeHeapZeroInitialized() { return nativeHeapZeroInitialized; } }
core/java/android/content/pm/ProcessInfo.java +14 −12 Original line number Diff line number Diff line Loading @@ -62,8 +62,7 @@ public class ProcessInfo implements Parcelable { /** * Enable automatic zero-initialization of native heap memory allocations. */ @Nullable public Boolean nativeHeapZeroInit; public @ApplicationInfo.NativeHeapZeroInitialized int nativeHeapZeroInitialized; @Deprecated public ProcessInfo(@NonNull ProcessInfo orig) { Loading @@ -71,7 +70,7 @@ public class ProcessInfo implements Parcelable { this.deniedPermissions = orig.deniedPermissions; this.gwpAsanMode = orig.gwpAsanMode; this.memtagMode = orig.memtagMode; this.nativeHeapZeroInit = orig.nativeHeapZeroInit; this.nativeHeapZeroInitialized = orig.nativeHeapZeroInitialized; } Loading Loading @@ -101,7 +100,7 @@ public class ProcessInfo implements Parcelable { * @param memtagMode * Indicates if the process has requested Memtag to be enabled (in sync or async mode), * disabled, or left unspecified. * @param nativeHeapZeroInit * @param nativeHeapZeroInitialized * Enable automatic zero-initialization of native heap memory allocations. */ @DataClass.Generated.Member Loading @@ -110,7 +109,7 @@ public class ProcessInfo implements Parcelable { @Nullable ArraySet<String> deniedPermissions, @ApplicationInfo.GwpAsanMode int gwpAsanMode, @ApplicationInfo.MemtagMode int memtagMode, @Nullable Boolean nativeHeapZeroInit) { @ApplicationInfo.NativeHeapZeroInitialized int nativeHeapZeroInitialized) { this.name = name; com.android.internal.util.AnnotationValidations.validate( NonNull.class, null, name); Loading @@ -121,7 +120,9 @@ public class ProcessInfo implements Parcelable { this.memtagMode = memtagMode; com.android.internal.util.AnnotationValidations.validate( ApplicationInfo.MemtagMode.class, null, memtagMode); this.nativeHeapZeroInit = nativeHeapZeroInit; this.nativeHeapZeroInitialized = nativeHeapZeroInitialized; com.android.internal.util.AnnotationValidations.validate( ApplicationInfo.NativeHeapZeroInitialized.class, null, nativeHeapZeroInitialized); // onConstructed(); // You can define this method to get a callback } Loading @@ -145,13 +146,12 @@ public class ProcessInfo implements Parcelable { byte flg = 0; if (deniedPermissions != null) flg |= 0x2; if (nativeHeapZeroInit != null) flg |= 0x10; dest.writeByte(flg); dest.writeString(name); sParcellingForDeniedPermissions.parcel(deniedPermissions, dest, flags); dest.writeInt(gwpAsanMode); dest.writeInt(memtagMode); if (nativeHeapZeroInit != null) dest.writeBoolean(nativeHeapZeroInit); dest.writeInt(nativeHeapZeroInitialized); } @Override Loading @@ -170,7 +170,7 @@ public class ProcessInfo implements Parcelable { ArraySet<String> _deniedPermissions = sParcellingForDeniedPermissions.unparcel(in); int _gwpAsanMode = in.readInt(); int _memtagMode = in.readInt(); Boolean _nativeHeapZeroInit = (flg & 0x10) == 0 ? null : (Boolean) in.readBoolean(); int _nativeHeapZeroInitialized = in.readInt(); this.name = _name; com.android.internal.util.AnnotationValidations.validate( Loading @@ -182,7 +182,9 @@ public class ProcessInfo implements Parcelable { this.memtagMode = _memtagMode; com.android.internal.util.AnnotationValidations.validate( ApplicationInfo.MemtagMode.class, null, memtagMode); this.nativeHeapZeroInit = _nativeHeapZeroInit; this.nativeHeapZeroInitialized = _nativeHeapZeroInitialized; com.android.internal.util.AnnotationValidations.validate( ApplicationInfo.NativeHeapZeroInitialized.class, null, nativeHeapZeroInitialized); // onConstructed(); // You can define this method to get a callback } Loading @@ -202,10 +204,10 @@ public class ProcessInfo implements Parcelable { }; @DataClass.Generated( time = 1611614699049L, time = 1615850184524L, codegenVersion = "1.0.22", sourceFile = "frameworks/base/core/java/android/content/pm/ProcessInfo.java", inputSignatures = "public @android.annotation.NonNull java.lang.String name\npublic @android.annotation.Nullable @com.android.internal.util.DataClass.ParcelWith(com.android.internal.util.Parcelling.BuiltIn.ForInternedStringArraySet.class) android.util.ArraySet<java.lang.String> deniedPermissions\npublic @android.content.pm.ApplicationInfo.GwpAsanMode int gwpAsanMode\npublic @android.content.pm.ApplicationInfo.MemtagMode int memtagMode\npublic @android.annotation.Nullable java.lang.Boolean nativeHeapZeroInit\nclass ProcessInfo extends java.lang.Object implements [android.os.Parcelable]\n@com.android.internal.util.DataClass(genGetters=true, genSetters=false, genParcelable=true, genAidl=false, genBuilder=false)") inputSignatures = "public @android.annotation.NonNull java.lang.String name\npublic @android.annotation.Nullable @com.android.internal.util.DataClass.ParcelWith(com.android.internal.util.Parcelling.BuiltIn.ForInternedStringArraySet.class) android.util.ArraySet<java.lang.String> deniedPermissions\npublic @android.content.pm.ApplicationInfo.GwpAsanMode int gwpAsanMode\npublic @android.content.pm.ApplicationInfo.MemtagMode int memtagMode\npublic @android.content.pm.ApplicationInfo.NativeHeapZeroInitialized int nativeHeapZeroInitialized\nclass ProcessInfo extends java.lang.Object implements [android.os.Parcelable]\n@com.android.internal.util.DataClass(genGetters=true, genSetters=false, genParcelable=true, genAidl=false, genBuilder=false)") @Deprecated private void __metadata() {} Loading
core/java/android/content/pm/parsing/ParsingPackage.java +5 −3 Original line number Diff line number Diff line Loading @@ -20,6 +20,7 @@ import android.annotation.CallSuper; import android.annotation.NonNull; import android.annotation.Nullable; import android.content.Intent; import android.content.pm.ApplicationInfo; import android.content.pm.ConfigurationInfo; import android.content.pm.FeatureGroupInfo; import android.content.pm.FeatureInfo; Loading Loading @@ -251,11 +252,12 @@ public interface ParsingPackage extends ParsingPackageRead { ParsingPackage setEnabled(boolean enabled); ParsingPackage setGwpAsanMode(int gwpAsanMode); ParsingPackage setGwpAsanMode(@ApplicationInfo.GwpAsanMode int gwpAsanMode); ParsingPackage setMemtagMode(int memtagMode); ParsingPackage setMemtagMode(@ApplicationInfo.MemtagMode int memtagMode); ParsingPackage setNativeHeapZeroInit(@Nullable Boolean nativeHeapZeroInit); ParsingPackage setNativeHeapZeroInitialized( @ApplicationInfo.NativeHeapZeroInitialized int nativeHeapZeroInitialized); ParsingPackage setRequestOptimizedExternalStorageAccess( @Nullable Boolean requestOptimizedExternalStorageAccess); Loading
core/java/android/content/pm/parsing/ParsingPackageImpl.java +20 −15 Original line number Diff line number Diff line Loading @@ -382,12 +382,14 @@ public class ParsingPackageImpl implements ParsingPackage, Parcelable { private int autoRevokePermissions; protected int gwpAsanMode; protected int memtagMode; @ApplicationInfo.GwpAsanMode private int gwpAsanMode; @Nullable @DataClass.ParcelWith(ForBoolean.class) private Boolean nativeHeapZeroInit; @ApplicationInfo.MemtagMode private int memtagMode; @ApplicationInfo.NativeHeapZeroInitialized private int nativeHeapZeroInitialized; @Nullable @DataClass.ParcelWith(ForBoolean.class) Loading Loading @@ -1071,7 +1073,7 @@ public class ParsingPackageImpl implements ParsingPackage, Parcelable { appInfo.zygotePreloadName = zygotePreloadName; appInfo.setGwpAsanMode(gwpAsanMode); appInfo.setMemtagMode(memtagMode); appInfo.setNativeHeapZeroInit(nativeHeapZeroInit); appInfo.setNativeHeapZeroInitialized(nativeHeapZeroInitialized); appInfo.setRequestOptimizedExternalStorageAccess(requestOptimizedExternalStorageAccess); appInfo.setBaseCodePath(mBaseApkPath); appInfo.setBaseResourcePath(mBaseApkPath); Loading Loading @@ -1207,7 +1209,7 @@ public class ParsingPackageImpl implements ParsingPackage, Parcelable { dest.writeLong(this.mBooleans); dest.writeMap(this.mProperties); dest.writeInt(this.memtagMode); sForBoolean.parcel(this.nativeHeapZeroInit, dest, flags); dest.writeInt(this.nativeHeapZeroInitialized); sForBoolean.parcel(this.requestOptimizedExternalStorageAccess, dest, flags); } Loading Loading @@ -1331,7 +1333,7 @@ public class ParsingPackageImpl implements ParsingPackage, Parcelable { this.mBooleans = in.readLong(); this.mProperties = in.createTypedArrayMap(Property.CREATOR); this.memtagMode = in.readInt(); this.nativeHeapZeroInit = sForBoolean.unparcel(in); this.nativeHeapZeroInitialized = in.readInt(); this.requestOptimizedExternalStorageAccess = sForBoolean.unparcel(in); assignDerivedFields(); } Loading Loading @@ -2096,20 +2098,22 @@ public class ParsingPackageImpl implements ParsingPackage, Parcelable { return getBoolean(Booleans.DIRECT_BOOT_AWARE); } @ApplicationInfo.GwpAsanMode @Override public int getGwpAsanMode() { return gwpAsanMode; } @ApplicationInfo.MemtagMode @Override public int getMemtagMode() { return memtagMode; } @Nullable @ApplicationInfo.NativeHeapZeroInitialized @Override public Boolean isNativeHeapZeroInit() { return nativeHeapZeroInit; public int getNativeHeapZeroInitialized() { return nativeHeapZeroInitialized; } @Nullable Loading Loading @@ -2550,20 +2554,21 @@ public class ParsingPackageImpl implements ParsingPackage, Parcelable { } @Override public ParsingPackageImpl setGwpAsanMode(int value) { public ParsingPackageImpl setGwpAsanMode(@ApplicationInfo.GwpAsanMode int value) { gwpAsanMode = value; return this; } @Override public ParsingPackageImpl setMemtagMode(int value) { public ParsingPackageImpl setMemtagMode(@ApplicationInfo.MemtagMode int value) { memtagMode = value; return this; } @Override public ParsingPackageImpl setNativeHeapZeroInit(@Nullable Boolean value) { nativeHeapZeroInit = value; public ParsingPackageImpl setNativeHeapZeroInitialized( @ApplicationInfo.NativeHeapZeroInitialized int value) { nativeHeapZeroInitialized = value; return this; } Loading