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

Commit 6bf2990e authored by TreeHugger Robot's avatar TreeHugger Robot Committed by Android (Google) Code Review
Browse files

Merge "Add virtual preload bit to ApplicationInfo" into oc-mr1-dev

parents df421a8b 5eb5a7db
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -10172,6 +10172,7 @@ package android.content.pm {
    method public int describeContents();
    method public void dump(android.util.Printer, java.lang.String);
    method public static java.lang.CharSequence getCategoryTitle(android.content.Context, int);
    method public boolean isVirtualPreload();
    method public java.lang.CharSequence loadDescription(android.content.pm.PackageManager);
    field public static final int CATEGORY_AUDIO = 1; // 0x1
    field public static final int CATEGORY_GAME = 0; // 0x0
+1 −0
Original line number Diff line number Diff line
@@ -10760,6 +10760,7 @@ package android.content.pm {
    method public int describeContents();
    method public void dump(android.util.Printer, java.lang.String);
    method public static java.lang.CharSequence getCategoryTitle(android.content.Context, int);
    method public boolean isVirtualPreload();
    method public java.lang.CharSequence loadDescription(android.content.pm.PackageManager);
    field public static final int CATEGORY_AUDIO = 1; // 0x1
    field public static final int CATEGORY_GAME = 0; // 0x0
+1 −0
Original line number Diff line number Diff line
@@ -10209,6 +10209,7 @@ package android.content.pm {
    method public static java.lang.CharSequence getCategoryTitle(android.content.Context, int);
    method public boolean isPrivilegedApp();
    method public boolean isSystemApp();
    method public boolean isVirtualPreload();
    method public java.lang.CharSequence loadDescription(android.content.pm.PackageManager);
    field public static final int CATEGORY_AUDIO = 1; // 0x1
    field public static final int CATEGORY_GAME = 0; // 0x0
+40 −3
Original line number Diff line number Diff line
@@ -572,18 +572,48 @@ public class ApplicationInfo extends PackageItemInfo implements Parcelable {
    public static final int PRIVATE_FLAG_STATIC_SHARED_LIBRARY = 1 << 14;

    /**
     * Value for {@linl #privateFlags}: When set, the application will only have its splits loaded
     * Value for {@link #privateFlags}: When set, the application will only have its splits loaded
     * if they are required to load a component. Splits can be loaded on demand using the
     * {@link Context#createContextForSplit(String)} API.
     * @hide
     */
    public static final int PRIVATE_FLAG_ISOLATED_SPLIT_LOADING = 1 << 15;

    /**
     * Value for {@link #privateFlags}: When set, the application was installed as
     * a virtual preload.
     * @hide
     */
    public static final int PRIVATE_FLAG_VIRTUAL_PRELOAD = 1 << 16;

    /** @hide */
    @IntDef(flag = true, prefix = { "PRIVATE_FLAG_" }, value = {
            PRIVATE_FLAG_HIDDEN,
            PRIVATE_FLAG_CANT_SAVE_STATE,
            PRIVATE_FLAG_FORWARD_LOCK,
            PRIVATE_FLAG_PRIVILEGED,
            PRIVATE_FLAG_HAS_DOMAIN_URLS,
            PRIVATE_FLAG_DEFAULT_TO_DEVICE_PROTECTED_STORAGE,
            PRIVATE_FLAG_DIRECT_BOOT_AWARE,
            PRIVATE_FLAG_INSTANT,
            PRIVATE_FLAG_PARTIALLY_DIRECT_BOOT_AWARE,
            PRIVATE_FLAG_REQUIRED_FOR_SYSTEM_USER,
            PRIVATE_FLAG_ACTIVITIES_RESIZE_MODE_RESIZEABLE,
            PRIVATE_FLAG_ACTIVITIES_RESIZE_MODE_UNRESIZEABLE,
            PRIVATE_FLAG_ACTIVITIES_RESIZE_MODE_RESIZEABLE_VIA_SDK_VERSION,
            PRIVATE_FLAG_BACKUP_IN_FOREGROUND,
            PRIVATE_FLAG_STATIC_SHARED_LIBRARY,
            PRIVATE_FLAG_ISOLATED_SPLIT_LOADING,
            PRIVATE_FLAG_VIRTUAL_PRELOAD,
    })
    @Retention(RetentionPolicy.SOURCE)
    public @interface ApplicationInfoPrivateFlags {}

    /**
     * Private/hidden flags. See {@code PRIVATE_FLAG_...} constants.
     * {@hide}
     * @hide
     */
    public int privateFlags;
    public @ApplicationInfoPrivateFlags int privateFlags;

    /**
     * @hide
@@ -1508,6 +1538,13 @@ public class ApplicationInfo extends PackageItemInfo implements Parcelable {
        return (privateFlags & ApplicationInfo.PRIVATE_FLAG_STATIC_SHARED_LIBRARY) != 0;
    }

    /**
     * Returns whether or not this application was installed as a virtual preload.
     */
    public boolean isVirtualPreload() {
        return (privateFlags & PRIVATE_FLAG_VIRTUAL_PRELOAD) != 0;
    }

    /**
     * @hide
     */
+5 −0
Original line number Diff line number Diff line
@@ -6930,6 +6930,11 @@ public class PackageParser {
        } else {
            ai.privateFlags &= ~ApplicationInfo.PRIVATE_FLAG_INSTANT;
        }
        if (state.virtualPreload) {
            ai.privateFlags |= ApplicationInfo.PRIVATE_FLAG_VIRTUAL_PRELOAD;
        } else {
            ai.privateFlags &= ~ApplicationInfo.PRIVATE_FLAG_VIRTUAL_PRELOAD;
        }
        if (state.hidden) {
            ai.privateFlags |= ApplicationInfo.PRIVATE_FLAG_HIDDEN;
        } else {
Loading