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

Commit 27cf9826 authored by Dianne Hackborn's avatar Dianne Hackborn Committed by Android (Google) Code Review
Browse files

Merge "Add a mechanism for broadcasts to control background dispatching."

parents a6f28e35 6ac42aee
Loading
Loading
Loading
Loading
+16 −0
Original line number Diff line number Diff line
@@ -4471,6 +4471,22 @@ public class Intent implements Parcelable, Cloneable {
     * @hide
     */
    public static final int FLAG_RECEIVER_BOOT_UPGRADE = 0x02000000;
    /**
     * If set, the broadcast will always go to manifest receivers in background (cached
     * or not running) apps, regardless of whether that would be done by default.  By
     * default they will only receive broadcasts if the broadcast has specified an
     * explicit component or package name.
     * @hide
     */
    public static final int FLAG_RECEIVER_INCLUDE_BACKGROUND = 0x01000000;
    /**
     * If set, the broadcast will never go to manifest receivers in background (cached
     * or not running) apps, regardless of whether that would be done by default.  By
     * default they will receive broadcasts if the broadcast has specified an
     * explicit component or package name.
     * @hide
     */
    public static final int FLAG_RECEIVER_EXCLUDE_BACKGROUND = 0x00800000;

    /**
     * @hide Flags that can't be changed with PendingIntent.
+16 −6
Original line number Diff line number Diff line
@@ -756,13 +756,20 @@ public class ActivityInfo extends ComponentInfo
    }

    public void dump(Printer pw, String prefix) {
        dump(pw, prefix, DUMP_FLAG_ALL);
    }

    /** @hide */
    public void dump(Printer pw, String prefix, int flags) {
        super.dumpFront(pw, prefix);
        if (permission != null) {
            pw.println(prefix + "permission=" + permission);
        }
        if ((flags&DUMP_FLAG_DETAILS) != 0) {
            pw.println(prefix + "taskAffinity=" + taskAffinity
                    + " targetActivity=" + targetActivity
                    + " persistableMode=" + persistableModeToString());
        }
        if (launchMode != 0 || flags != 0 || theme != 0) {
            pw.println(prefix + "launchMode=" + launchMode
                    + " flags=0x" + Integer.toHexString(flags)
@@ -777,14 +784,17 @@ public class ActivityInfo extends ComponentInfo
        if (uiOptions != 0) {
            pw.println(prefix + " uiOptions=0x" + Integer.toHexString(uiOptions));
        }
        if ((flags&DUMP_FLAG_DETAILS) != 0) {
            pw.println(prefix + "resizeable=" + resizeable + " supportsPip=" + supportsPip);
        pw.println(prefix + "lockTaskLaunchMode=" + lockTaskLaunchModeToString(lockTaskLaunchMode));
            pw.println(prefix + "lockTaskLaunchMode="
                    + lockTaskLaunchModeToString(lockTaskLaunchMode));
        }
        if (layout != null) {
            pw.println(prefix + "initialLayout=" + layout.width + "|"
                    + layout.widthFraction + ", " + layout.height + "|"
                    + layout.heightFraction + ", " + layout.gravity);
        }
        super.dumpBack(pw, prefix);
        super.dumpBack(pw, prefix, flags);
    }

    public String toString() {
+38 −24
Original line number Diff line number Diff line
@@ -710,21 +710,30 @@ public class ApplicationInfo extends PackageItemInfo implements Parcelable {
    public int installLocation = PackageInfo.INSTALL_LOCATION_UNSPECIFIED;

    public void dump(Printer pw, String prefix) {
        dump(pw, prefix, DUMP_FLAG_ALL);
    }

    /** @hide */
    public void dump(Printer pw, String prefix, int flags) {
        super.dumpFront(pw, prefix);
        if (className != null) {
        if ((flags&DUMP_FLAG_DETAILS) != 0 && className != null) {
            pw.println(prefix + "className=" + className);
        }
        if (permission != null) {
            pw.println(prefix + "permission=" + permission);
        }
        pw.println(prefix + "processName=" + processName);
        if ((flags&DUMP_FLAG_DETAILS) != 0) {
            pw.println(prefix + "taskAffinity=" + taskAffinity);
        }
        pw.println(prefix + "uid=" + uid + " flags=0x" + Integer.toHexString(flags)
                + " privateFlags=0x" + Integer.toHexString(privateFlags)
                + " theme=0x" + Integer.toHexString(theme));
        if ((flags&DUMP_FLAG_DETAILS) != 0) {
            pw.println(prefix + "requiresSmallestWidthDp=" + requiresSmallestWidthDp
                    + " compatibleWidthLimitDp=" + compatibleWidthLimitDp
                    + " largestWidthLimitDp=" + largestWidthLimitDp);
        }
        pw.println(prefix + "sourceDir=" + sourceDir);
        if (!Objects.equals(sourceDir, publicSourceDir)) {
            pw.println(prefix + "publicSourceDir=" + publicSourceDir);
@@ -739,17 +748,20 @@ public class ApplicationInfo extends PackageItemInfo implements Parcelable {
        if (resourceDirs != null) {
            pw.println(prefix + "resourceDirs=" + resourceDirs);
        }
        if (seinfo != null) {
        if ((flags&DUMP_FLAG_DETAILS) != 0 && seinfo != null) {
            pw.println(prefix + "seinfo=" + seinfo);
        }
        pw.println(prefix + "dataDir=" + dataDir);
        if ((flags&DUMP_FLAG_DETAILS) != 0) {
            pw.println(prefix + "deviceEncryptedDataDir=" + deviceEncryptedDataDir);
            pw.println(prefix + "credentialEncryptedDataDir=" + credentialEncryptedDataDir);
            if (sharedLibraryFiles != null) {
                pw.println(prefix + "sharedLibraryFiles=" + Arrays.toString(sharedLibraryFiles));
            }
        }
        pw.println(prefix + "enabled=" + enabled + " targetSdkVersion=" + targetSdkVersion
                + " versionCode=" + versionCode);
        if ((flags&DUMP_FLAG_DETAILS) != 0) {
            if (manageSpaceActivityName != null) {
                pw.println(prefix + "manageSpaceActivityName=" + manageSpaceActivityName);
            }
@@ -763,7 +775,9 @@ public class ApplicationInfo extends PackageItemInfo implements Parcelable {
            if (fullBackupContent > 0) {
                pw.println(prefix + "fullBackupContent=@xml/" + fullBackupContent);
            } else {
            pw.println(prefix + "fullBackupContent=" + (fullBackupContent < 0 ? "false" : "true"));
                pw.println(prefix + "fullBackupContent="
                        + (fullBackupContent < 0 ? "false" : "true"));
            }
        }
        super.dumpBack(pw, prefix);
    }
+17 −8
Original line number Diff line number Diff line
@@ -150,20 +150,29 @@ public class ComponentInfo extends PackageItemInfo {

    protected void dumpFront(Printer pw, String prefix) {
        super.dumpFront(pw, prefix);
        if (processName != null && !packageName.equals(processName)) {
            pw.println(prefix + "processName=" + processName);
        }
        pw.println(prefix + "enabled=" + enabled + " exported=" + exported
                + " encryptionAware=" + encryptionAware + " processName=" + processName);
                + " encryptionAware=" + encryptionAware);
        if (descriptionRes != 0) {
            pw.println(prefix + "description=" + descriptionRes);
        }
    }

    protected void dumpBack(Printer pw, String prefix) {
        dumpBack(pw, prefix, DUMP_FLAG_ALL);
    }
    
    void dumpBack(Printer pw, String prefix, int flags) {
        if ((flags&DUMP_FLAG_APPLICATION) != 0) {
            if (applicationInfo != null) {
                pw.println(prefix + "ApplicationInfo:");
            applicationInfo.dump(pw, prefix + "  ");
                applicationInfo.dump(pw, prefix + "  ", flags);
            } else {
                pw.println(prefix + "ApplicationInfo: null");
            }
        }
        super.dumpBack(pw, prefix);
    }

+15 −0
Original line number Diff line number Diff line
@@ -282,6 +282,21 @@ public class PackageItemInfo {
        return null;
    }

    /**
     * @hide Flag for dumping: include all details.
     */
    public static final int DUMP_FLAG_DETAILS = 1<<0;

    /**
     * @hide Flag for dumping: include nested ApplicationInfo.
     */
    public static final int DUMP_FLAG_APPLICATION = 1<<1;

    /**
     * @hide Flag for dumping: all flags to dump everything.
     */
    public static final int DUMP_FLAG_ALL = DUMP_FLAG_DETAILS | DUMP_FLAG_APPLICATION;

    protected void dumpFront(Printer pw, String prefix) {
        if (name != null) {
            pw.println(prefix + "name=" + name);
Loading