Loading core/api/current.txt +8 −0 Original line number Diff line number Diff line Loading @@ -964,6 +964,7 @@ package android { field public static final int measureWithLargestChild = 16843476; // 0x10102d4 field public static final int mediaRouteButtonStyle = 16843693; // 0x10103ad field public static final int mediaRouteTypes = 16843694; // 0x10103ae field public static final int memtagMode = 16844324; // 0x1010624 field public static final int menuCategory = 16843230; // 0x10101de field public static final int mimeGroup = 16844309; // 0x1010615 field public static final int mimeType = 16842790; // 0x1010026 Loading @@ -987,6 +988,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 navigationBarColor = 16843858; // 0x1010452 field public static final int navigationBarDividerColor = 16844141; // 0x101056d field public static final int navigationContentDescription = 16843969; // 0x10104c1 Loading Loading @@ -11641,6 +11643,8 @@ package android.content.pm { method public void dump(android.util.Printer, String); method public static CharSequence getCategoryTitle(android.content.Context, int); method public int getGwpAsanMode(); method public int getMemtagMode(); method @Nullable public Boolean isNativeHeapZeroInit(); method public boolean isProfileableByShell(); method public boolean isResourceOverlay(); method public boolean isVirtualPreload(); Loading Loading @@ -11690,6 +11694,10 @@ package android.content.pm { field public static final int GWP_ASAN_ALWAYS = 1; // 0x1 field public static final int GWP_ASAN_DEFAULT = -1; // 0xffffffff field public static final int GWP_ASAN_NEVER = 0; // 0x0 field public static final int MEMTAG_ASYNC = 1; // 0x1 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 String appComponentFactory; field public String backupAgentName; field public int category; core/java/android/content/pm/ApplicationInfo.java +73 −0 Original line number Diff line number Diff line Loading @@ -38,6 +38,8 @@ import android.util.SparseArray; import android.util.proto.ProtoOutputStream; import com.android.internal.util.ArrayUtils; import com.android.internal.util.Parcelling; import com.android.internal.util.Parcelling.BuiltIn.ForBoolean; import com.android.server.SystemConfig; import java.lang.annotation.Retention; Loading @@ -56,6 +58,8 @@ import java.util.UUID; * <application> tag. */ public class ApplicationInfo extends PackageItemInfo implements Parcelable { private static ForBoolean sForBoolean = Parcelling.Cache.getOrCreate(ForBoolean.class); /** * Default task affinity of all activities in this application. See * {@link ActivityInfo#taskAffinity} for more information. This comes Loading Loading @@ -1335,6 +1339,51 @@ public class ApplicationInfo extends PackageItemInfo implements Parcelable { */ private @GwpAsanMode int gwpAsanMode; /** * Default (unspecified) setting of Memtag. */ public static final int MEMTAG_DEFAULT = -1; /** * Do not enable Memtag in this application or process. */ public static final int MEMTAG_OFF = 0; /** * Enable Memtag in Async mode in this application or process. */ public static final int MEMTAG_ASYNC = 1; /** * Enable Memtag in Sync mode in this application or process. */ public static final int MEMTAG_SYNC = 2; /** * These constants need to match the values of memtagMode in application manifest. * @hide */ @IntDef(prefix = {"MEMTAG_"}, value = { MEMTAG_DEFAULT, MEMTAG_OFF, MEMTAG_ASYNC, MEMTAG_SYNC, }) @Retention(RetentionPolicy.SOURCE) public @interface MemtagMode {} /** * Indicates if the application has requested Memtag to be enabled, disabled, or left * unspecified. Processes can override this setting. */ private @MemtagMode int memtagMode; /** * Enable automatic zero-initialization of native heap memory allocations. */ @Nullable private Boolean nativeHeapZeroInit; /** * Represents the default policy. The actual policy used will depend on other properties of * the application, e.g. the target SDK version. Loading Loading @@ -1479,6 +1528,12 @@ public class ApplicationInfo extends PackageItemInfo implements Parcelable { if (gwpAsanMode != GWP_ASAN_DEFAULT) { pw.println(prefix + "gwpAsanMode=" + gwpAsanMode); } if (memtagMode != MEMTAG_DEFAULT) { pw.println(prefix + "memtagMode=" + memtagMode); } if (nativeHeapZeroInit != null) { pw.println(prefix + "nativeHeapZeroInit=" + nativeHeapZeroInit); } } super.dumpBack(pw, prefix); } Loading Loading @@ -1580,6 +1635,12 @@ public class ApplicationInfo extends PackageItemInfo implements Parcelable { if (gwpAsanMode != GWP_ASAN_DEFAULT) { proto.write(ApplicationInfoProto.Detail.ENABLE_GWP_ASAN, gwpAsanMode); } if (memtagMode != MEMTAG_DEFAULT) { proto.write(ApplicationInfoProto.Detail.ENABLE_MEMTAG, memtagMode); } if (nativeHeapZeroInit != null) { proto.write(ApplicationInfoProto.Detail.NATIVE_HEAP_ZERO_INIT, nativeHeapZeroInit); } proto.end(detailToken); } proto.end(token); Loading Loading @@ -1690,6 +1751,8 @@ public class ApplicationInfo extends PackageItemInfo implements Parcelable { hiddenUntilInstalled = orig.hiddenUntilInstalled; zygotePreloadName = orig.zygotePreloadName; gwpAsanMode = orig.gwpAsanMode; memtagMode = orig.memtagMode; nativeHeapZeroInit = orig.nativeHeapZeroInit; } public String toString() { Loading Loading @@ -1774,6 +1837,8 @@ public class ApplicationInfo extends PackageItemInfo implements Parcelable { dest.writeInt(hiddenUntilInstalled ? 1 : 0); dest.writeString8(zygotePreloadName); dest.writeInt(gwpAsanMode); dest.writeInt(memtagMode); sForBoolean.parcel(nativeHeapZeroInit, dest, parcelableFlags); } public static final @android.annotation.NonNull Parcelable.Creator<ApplicationInfo> CREATOR Loading Loading @@ -1855,6 +1920,8 @@ public class ApplicationInfo extends PackageItemInfo implements Parcelable { hiddenUntilInstalled = source.readInt() != 0; zygotePreloadName = source.readString8(); gwpAsanMode = source.readInt(); memtagMode = source.readInt(); nativeHeapZeroInit = sForBoolean.unparcel(source); } /** Loading Loading @@ -2237,6 +2304,8 @@ public class ApplicationInfo extends PackageItemInfo implements Parcelable { /** {@hide} */ public void setBaseResourcePath(String baseResourcePath) { publicSourceDir = baseResourcePath; } /** {@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} */ @UnsupportedAppUsage(maxTargetSdk = Build.VERSION_CODES.R, trackingBug = 170729553) Loading @@ -2250,4 +2319,8 @@ public class ApplicationInfo extends PackageItemInfo implements Parcelable { /** {@hide} */ public String[] getSplitResourcePaths() { return splitPublicSourceDirs; } @GwpAsanMode public int getGwpAsanMode() { return gwpAsanMode; } @MemtagMode public int getMemtagMode() { return memtagMode; } @Nullable public Boolean isNativeHeapZeroInit() { return nativeHeapZeroInit; } } core/java/android/content/pm/ProcessInfo.java +39 −5 Original line number Diff line number Diff line Loading @@ -53,16 +53,30 @@ public class ProcessInfo implements Parcelable { */ public @ApplicationInfo.GwpAsanMode int gwpAsanMode; /** * Indicates if the process has requested Memtag to be enabled (in sync or async mode), * disabled, or left unspecified. */ public @ApplicationInfo.MemtagMode int memtagMode; /** * Enable automatic zero-initialization of native heap memory allocations. */ @Nullable public Boolean nativeHeapZeroInit; @Deprecated public ProcessInfo(@NonNull ProcessInfo orig) { this.name = orig.name; this.deniedPermissions = orig.deniedPermissions; this.gwpAsanMode = orig.gwpAsanMode; this.memtagMode = orig.memtagMode; this.nativeHeapZeroInit = orig.nativeHeapZeroInit; } // Code below generated by codegen v1.0.15. // Code below generated by codegen v1.0.22. // // DO NOT MODIFY! // CHECKSTYLE:OFF Generated code Loading @@ -84,12 +98,19 @@ public class ProcessInfo implements Parcelable { * If non-null, these are permissions that are not allowed in this process. * @param gwpAsanMode * Indicates if the process has requested GWP-ASan to be enabled, disabled, or left unspecified. * @param memtagMode * Indicates if the process has requested Memtag to be enabled (in sync or async mode), * disabled, or left unspecified. * @param nativeHeapZeroInit * Enable automatic zero-initialization of native heap memory allocations. */ @DataClass.Generated.Member public ProcessInfo( @NonNull String name, @Nullable ArraySet<String> deniedPermissions, @ApplicationInfo.GwpAsanMode int gwpAsanMode) { @ApplicationInfo.GwpAsanMode int gwpAsanMode, @ApplicationInfo.MemtagMode int memtagMode, @Nullable Boolean nativeHeapZeroInit) { this.name = name; com.android.internal.util.AnnotationValidations.validate( NonNull.class, null, name); Loading @@ -97,6 +118,10 @@ public class ProcessInfo implements Parcelable { this.gwpAsanMode = gwpAsanMode; com.android.internal.util.AnnotationValidations.validate( ApplicationInfo.GwpAsanMode.class, null, gwpAsanMode); this.memtagMode = memtagMode; com.android.internal.util.AnnotationValidations.validate( ApplicationInfo.MemtagMode.class, null, memtagMode); this.nativeHeapZeroInit = nativeHeapZeroInit; // onConstructed(); // You can define this method to get a callback } Loading @@ -120,10 +145,13 @@ 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); } @Override Loading @@ -141,6 +169,8 @@ public class ProcessInfo implements Parcelable { String _name = in.readString(); ArraySet<String> _deniedPermissions = sParcellingForDeniedPermissions.unparcel(in); int _gwpAsanMode = in.readInt(); int _memtagMode = in.readInt(); Boolean _nativeHeapZeroInit = (flg & 0x10) == 0 ? null : (Boolean) in.readBoolean(); this.name = _name; com.android.internal.util.AnnotationValidations.validate( Loading @@ -149,6 +179,10 @@ public class ProcessInfo implements Parcelable { this.gwpAsanMode = _gwpAsanMode; com.android.internal.util.AnnotationValidations.validate( ApplicationInfo.GwpAsanMode.class, null, gwpAsanMode); this.memtagMode = _memtagMode; com.android.internal.util.AnnotationValidations.validate( ApplicationInfo.MemtagMode.class, null, memtagMode); this.nativeHeapZeroInit = _nativeHeapZeroInit; // onConstructed(); // You can define this method to get a callback } Loading @@ -168,10 +202,10 @@ public class ProcessInfo implements Parcelable { }; @DataClass.Generated( time = 1584555730519L, codegenVersion = "1.0.15", time = 1611614699049L, 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\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.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)") @Deprecated private void __metadata() {} Loading core/java/android/content/pm/parsing/ParsingPackage.java +4 −0 Original line number Diff line number Diff line Loading @@ -252,6 +252,10 @@ public interface ParsingPackage extends ParsingPackageRead { ParsingPackage setGwpAsanMode(int gwpAsanMode); ParsingPackage setMemtagMode(int memtagMode); ParsingPackage setNativeHeapZeroInit(@Nullable Boolean nativeHeapZeroInit); ParsingPackage setCrossProfile(boolean crossProfile); ParsingPackage setFullBackupContent(int fullBackupContent); Loading core/java/android/content/pm/parsing/ParsingPackageImpl.java +34 −0 Original line number Diff line number Diff line Loading @@ -380,6 +380,11 @@ public class ParsingPackageImpl implements ParsingPackage, Parcelable { private int autoRevokePermissions; protected int gwpAsanMode; protected int memtagMode; @Nullable @DataClass.ParcelWith(ForBoolean.class) private Boolean nativeHeapZeroInit; // TODO(chiuwinson): Non-null @Nullable Loading Loading @@ -1058,6 +1063,8 @@ public class ParsingPackageImpl implements ParsingPackage, Parcelable { appInfo.volumeUuid = volumeUuid; appInfo.zygotePreloadName = zygotePreloadName; appInfo.setGwpAsanMode(gwpAsanMode); appInfo.setMemtagMode(memtagMode); appInfo.setNativeHeapZeroInit(nativeHeapZeroInit); appInfo.setBaseCodePath(mBaseApkPath); appInfo.setBaseResourcePath(mBaseApkPath); appInfo.setCodePath(mPath); Loading Loading @@ -1190,6 +1197,8 @@ public class ParsingPackageImpl implements ParsingPackage, Parcelable { dest.writeSparseIntArray(this.minExtensionVersions); dest.writeLong(this.mBooleans); dest.writeMap(this.mProperties); dest.writeInt(this.memtagMode); sForBoolean.parcel(this.nativeHeapZeroInit, dest, flags); } public ParsingPackageImpl(Parcel in) { Loading Loading @@ -1310,6 +1319,8 @@ public class ParsingPackageImpl implements ParsingPackage, Parcelable { this.minExtensionVersions = in.readSparseIntArray(); this.mBooleans = in.readLong(); this.mProperties = in.createTypedArrayMap(Property.CREATOR); this.memtagMode = in.readInt(); this.nativeHeapZeroInit = sForBoolean.unparcel(in); assignDerivedFields(); } Loading Loading @@ -2061,6 +2072,17 @@ public class ParsingPackageImpl implements ParsingPackage, Parcelable { return gwpAsanMode; } @Override public int getMemtagMode() { return memtagMode; } @Nullable @Override public Boolean isNativeHeapZeroInit() { return nativeHeapZeroInit; } @Override public boolean isPartiallyDirectBootAware() { return getBoolean(Booleans.PARTIALLY_DIRECT_BOOT_AWARE); Loading Loading @@ -2492,6 +2514,18 @@ public class ParsingPackageImpl implements ParsingPackage, Parcelable { return this; } @Override public ParsingPackageImpl setMemtagMode(int value) { memtagMode = value; return this; } @Override public ParsingPackageImpl setNativeHeapZeroInit(@Nullable Boolean value) { nativeHeapZeroInit = value; return this; } @Override public ParsingPackageImpl setPartiallyDirectBootAware(boolean value) { return setBoolean(Booleans.PARTIALLY_DIRECT_BOOT_AWARE, value); Loading Loading
core/api/current.txt +8 −0 Original line number Diff line number Diff line Loading @@ -964,6 +964,7 @@ package android { field public static final int measureWithLargestChild = 16843476; // 0x10102d4 field public static final int mediaRouteButtonStyle = 16843693; // 0x10103ad field public static final int mediaRouteTypes = 16843694; // 0x10103ae field public static final int memtagMode = 16844324; // 0x1010624 field public static final int menuCategory = 16843230; // 0x10101de field public static final int mimeGroup = 16844309; // 0x1010615 field public static final int mimeType = 16842790; // 0x1010026 Loading @@ -987,6 +988,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 navigationBarColor = 16843858; // 0x1010452 field public static final int navigationBarDividerColor = 16844141; // 0x101056d field public static final int navigationContentDescription = 16843969; // 0x10104c1 Loading Loading @@ -11641,6 +11643,8 @@ package android.content.pm { method public void dump(android.util.Printer, String); method public static CharSequence getCategoryTitle(android.content.Context, int); method public int getGwpAsanMode(); method public int getMemtagMode(); method @Nullable public Boolean isNativeHeapZeroInit(); method public boolean isProfileableByShell(); method public boolean isResourceOverlay(); method public boolean isVirtualPreload(); Loading Loading @@ -11690,6 +11694,10 @@ package android.content.pm { field public static final int GWP_ASAN_ALWAYS = 1; // 0x1 field public static final int GWP_ASAN_DEFAULT = -1; // 0xffffffff field public static final int GWP_ASAN_NEVER = 0; // 0x0 field public static final int MEMTAG_ASYNC = 1; // 0x1 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 String appComponentFactory; field public String backupAgentName; field public int category;
core/java/android/content/pm/ApplicationInfo.java +73 −0 Original line number Diff line number Diff line Loading @@ -38,6 +38,8 @@ import android.util.SparseArray; import android.util.proto.ProtoOutputStream; import com.android.internal.util.ArrayUtils; import com.android.internal.util.Parcelling; import com.android.internal.util.Parcelling.BuiltIn.ForBoolean; import com.android.server.SystemConfig; import java.lang.annotation.Retention; Loading @@ -56,6 +58,8 @@ import java.util.UUID; * <application> tag. */ public class ApplicationInfo extends PackageItemInfo implements Parcelable { private static ForBoolean sForBoolean = Parcelling.Cache.getOrCreate(ForBoolean.class); /** * Default task affinity of all activities in this application. See * {@link ActivityInfo#taskAffinity} for more information. This comes Loading Loading @@ -1335,6 +1339,51 @@ public class ApplicationInfo extends PackageItemInfo implements Parcelable { */ private @GwpAsanMode int gwpAsanMode; /** * Default (unspecified) setting of Memtag. */ public static final int MEMTAG_DEFAULT = -1; /** * Do not enable Memtag in this application or process. */ public static final int MEMTAG_OFF = 0; /** * Enable Memtag in Async mode in this application or process. */ public static final int MEMTAG_ASYNC = 1; /** * Enable Memtag in Sync mode in this application or process. */ public static final int MEMTAG_SYNC = 2; /** * These constants need to match the values of memtagMode in application manifest. * @hide */ @IntDef(prefix = {"MEMTAG_"}, value = { MEMTAG_DEFAULT, MEMTAG_OFF, MEMTAG_ASYNC, MEMTAG_SYNC, }) @Retention(RetentionPolicy.SOURCE) public @interface MemtagMode {} /** * Indicates if the application has requested Memtag to be enabled, disabled, or left * unspecified. Processes can override this setting. */ private @MemtagMode int memtagMode; /** * Enable automatic zero-initialization of native heap memory allocations. */ @Nullable private Boolean nativeHeapZeroInit; /** * Represents the default policy. The actual policy used will depend on other properties of * the application, e.g. the target SDK version. Loading Loading @@ -1479,6 +1528,12 @@ public class ApplicationInfo extends PackageItemInfo implements Parcelable { if (gwpAsanMode != GWP_ASAN_DEFAULT) { pw.println(prefix + "gwpAsanMode=" + gwpAsanMode); } if (memtagMode != MEMTAG_DEFAULT) { pw.println(prefix + "memtagMode=" + memtagMode); } if (nativeHeapZeroInit != null) { pw.println(prefix + "nativeHeapZeroInit=" + nativeHeapZeroInit); } } super.dumpBack(pw, prefix); } Loading Loading @@ -1580,6 +1635,12 @@ public class ApplicationInfo extends PackageItemInfo implements Parcelable { if (gwpAsanMode != GWP_ASAN_DEFAULT) { proto.write(ApplicationInfoProto.Detail.ENABLE_GWP_ASAN, gwpAsanMode); } if (memtagMode != MEMTAG_DEFAULT) { proto.write(ApplicationInfoProto.Detail.ENABLE_MEMTAG, memtagMode); } if (nativeHeapZeroInit != null) { proto.write(ApplicationInfoProto.Detail.NATIVE_HEAP_ZERO_INIT, nativeHeapZeroInit); } proto.end(detailToken); } proto.end(token); Loading Loading @@ -1690,6 +1751,8 @@ public class ApplicationInfo extends PackageItemInfo implements Parcelable { hiddenUntilInstalled = orig.hiddenUntilInstalled; zygotePreloadName = orig.zygotePreloadName; gwpAsanMode = orig.gwpAsanMode; memtagMode = orig.memtagMode; nativeHeapZeroInit = orig.nativeHeapZeroInit; } public String toString() { Loading Loading @@ -1774,6 +1837,8 @@ public class ApplicationInfo extends PackageItemInfo implements Parcelable { dest.writeInt(hiddenUntilInstalled ? 1 : 0); dest.writeString8(zygotePreloadName); dest.writeInt(gwpAsanMode); dest.writeInt(memtagMode); sForBoolean.parcel(nativeHeapZeroInit, dest, parcelableFlags); } public static final @android.annotation.NonNull Parcelable.Creator<ApplicationInfo> CREATOR Loading Loading @@ -1855,6 +1920,8 @@ public class ApplicationInfo extends PackageItemInfo implements Parcelable { hiddenUntilInstalled = source.readInt() != 0; zygotePreloadName = source.readString8(); gwpAsanMode = source.readInt(); memtagMode = source.readInt(); nativeHeapZeroInit = sForBoolean.unparcel(source); } /** Loading Loading @@ -2237,6 +2304,8 @@ public class ApplicationInfo extends PackageItemInfo implements Parcelable { /** {@hide} */ public void setBaseResourcePath(String baseResourcePath) { publicSourceDir = baseResourcePath; } /** {@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} */ @UnsupportedAppUsage(maxTargetSdk = Build.VERSION_CODES.R, trackingBug = 170729553) Loading @@ -2250,4 +2319,8 @@ public class ApplicationInfo extends PackageItemInfo implements Parcelable { /** {@hide} */ public String[] getSplitResourcePaths() { return splitPublicSourceDirs; } @GwpAsanMode public int getGwpAsanMode() { return gwpAsanMode; } @MemtagMode public int getMemtagMode() { return memtagMode; } @Nullable public Boolean isNativeHeapZeroInit() { return nativeHeapZeroInit; } }
core/java/android/content/pm/ProcessInfo.java +39 −5 Original line number Diff line number Diff line Loading @@ -53,16 +53,30 @@ public class ProcessInfo implements Parcelable { */ public @ApplicationInfo.GwpAsanMode int gwpAsanMode; /** * Indicates if the process has requested Memtag to be enabled (in sync or async mode), * disabled, or left unspecified. */ public @ApplicationInfo.MemtagMode int memtagMode; /** * Enable automatic zero-initialization of native heap memory allocations. */ @Nullable public Boolean nativeHeapZeroInit; @Deprecated public ProcessInfo(@NonNull ProcessInfo orig) { this.name = orig.name; this.deniedPermissions = orig.deniedPermissions; this.gwpAsanMode = orig.gwpAsanMode; this.memtagMode = orig.memtagMode; this.nativeHeapZeroInit = orig.nativeHeapZeroInit; } // Code below generated by codegen v1.0.15. // Code below generated by codegen v1.0.22. // // DO NOT MODIFY! // CHECKSTYLE:OFF Generated code Loading @@ -84,12 +98,19 @@ public class ProcessInfo implements Parcelable { * If non-null, these are permissions that are not allowed in this process. * @param gwpAsanMode * Indicates if the process has requested GWP-ASan to be enabled, disabled, or left unspecified. * @param memtagMode * Indicates if the process has requested Memtag to be enabled (in sync or async mode), * disabled, or left unspecified. * @param nativeHeapZeroInit * Enable automatic zero-initialization of native heap memory allocations. */ @DataClass.Generated.Member public ProcessInfo( @NonNull String name, @Nullable ArraySet<String> deniedPermissions, @ApplicationInfo.GwpAsanMode int gwpAsanMode) { @ApplicationInfo.GwpAsanMode int gwpAsanMode, @ApplicationInfo.MemtagMode int memtagMode, @Nullable Boolean nativeHeapZeroInit) { this.name = name; com.android.internal.util.AnnotationValidations.validate( NonNull.class, null, name); Loading @@ -97,6 +118,10 @@ public class ProcessInfo implements Parcelable { this.gwpAsanMode = gwpAsanMode; com.android.internal.util.AnnotationValidations.validate( ApplicationInfo.GwpAsanMode.class, null, gwpAsanMode); this.memtagMode = memtagMode; com.android.internal.util.AnnotationValidations.validate( ApplicationInfo.MemtagMode.class, null, memtagMode); this.nativeHeapZeroInit = nativeHeapZeroInit; // onConstructed(); // You can define this method to get a callback } Loading @@ -120,10 +145,13 @@ 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); } @Override Loading @@ -141,6 +169,8 @@ public class ProcessInfo implements Parcelable { String _name = in.readString(); ArraySet<String> _deniedPermissions = sParcellingForDeniedPermissions.unparcel(in); int _gwpAsanMode = in.readInt(); int _memtagMode = in.readInt(); Boolean _nativeHeapZeroInit = (flg & 0x10) == 0 ? null : (Boolean) in.readBoolean(); this.name = _name; com.android.internal.util.AnnotationValidations.validate( Loading @@ -149,6 +179,10 @@ public class ProcessInfo implements Parcelable { this.gwpAsanMode = _gwpAsanMode; com.android.internal.util.AnnotationValidations.validate( ApplicationInfo.GwpAsanMode.class, null, gwpAsanMode); this.memtagMode = _memtagMode; com.android.internal.util.AnnotationValidations.validate( ApplicationInfo.MemtagMode.class, null, memtagMode); this.nativeHeapZeroInit = _nativeHeapZeroInit; // onConstructed(); // You can define this method to get a callback } Loading @@ -168,10 +202,10 @@ public class ProcessInfo implements Parcelable { }; @DataClass.Generated( time = 1584555730519L, codegenVersion = "1.0.15", time = 1611614699049L, 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\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.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)") @Deprecated private void __metadata() {} Loading
core/java/android/content/pm/parsing/ParsingPackage.java +4 −0 Original line number Diff line number Diff line Loading @@ -252,6 +252,10 @@ public interface ParsingPackage extends ParsingPackageRead { ParsingPackage setGwpAsanMode(int gwpAsanMode); ParsingPackage setMemtagMode(int memtagMode); ParsingPackage setNativeHeapZeroInit(@Nullable Boolean nativeHeapZeroInit); ParsingPackage setCrossProfile(boolean crossProfile); ParsingPackage setFullBackupContent(int fullBackupContent); Loading
core/java/android/content/pm/parsing/ParsingPackageImpl.java +34 −0 Original line number Diff line number Diff line Loading @@ -380,6 +380,11 @@ public class ParsingPackageImpl implements ParsingPackage, Parcelable { private int autoRevokePermissions; protected int gwpAsanMode; protected int memtagMode; @Nullable @DataClass.ParcelWith(ForBoolean.class) private Boolean nativeHeapZeroInit; // TODO(chiuwinson): Non-null @Nullable Loading Loading @@ -1058,6 +1063,8 @@ public class ParsingPackageImpl implements ParsingPackage, Parcelable { appInfo.volumeUuid = volumeUuid; appInfo.zygotePreloadName = zygotePreloadName; appInfo.setGwpAsanMode(gwpAsanMode); appInfo.setMemtagMode(memtagMode); appInfo.setNativeHeapZeroInit(nativeHeapZeroInit); appInfo.setBaseCodePath(mBaseApkPath); appInfo.setBaseResourcePath(mBaseApkPath); appInfo.setCodePath(mPath); Loading Loading @@ -1190,6 +1197,8 @@ public class ParsingPackageImpl implements ParsingPackage, Parcelable { dest.writeSparseIntArray(this.minExtensionVersions); dest.writeLong(this.mBooleans); dest.writeMap(this.mProperties); dest.writeInt(this.memtagMode); sForBoolean.parcel(this.nativeHeapZeroInit, dest, flags); } public ParsingPackageImpl(Parcel in) { Loading Loading @@ -1310,6 +1319,8 @@ public class ParsingPackageImpl implements ParsingPackage, Parcelable { this.minExtensionVersions = in.readSparseIntArray(); this.mBooleans = in.readLong(); this.mProperties = in.createTypedArrayMap(Property.CREATOR); this.memtagMode = in.readInt(); this.nativeHeapZeroInit = sForBoolean.unparcel(in); assignDerivedFields(); } Loading Loading @@ -2061,6 +2072,17 @@ public class ParsingPackageImpl implements ParsingPackage, Parcelable { return gwpAsanMode; } @Override public int getMemtagMode() { return memtagMode; } @Nullable @Override public Boolean isNativeHeapZeroInit() { return nativeHeapZeroInit; } @Override public boolean isPartiallyDirectBootAware() { return getBoolean(Booleans.PARTIALLY_DIRECT_BOOT_AWARE); Loading Loading @@ -2492,6 +2514,18 @@ public class ParsingPackageImpl implements ParsingPackage, Parcelable { return this; } @Override public ParsingPackageImpl setMemtagMode(int value) { memtagMode = value; return this; } @Override public ParsingPackageImpl setNativeHeapZeroInit(@Nullable Boolean value) { nativeHeapZeroInit = value; return this; } @Override public ParsingPackageImpl setPartiallyDirectBootAware(boolean value) { return setBoolean(Booleans.PARTIALLY_DIRECT_BOOT_AWARE, value); Loading