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

Commit 9a94faca authored by Kurt Nelson's avatar Kurt Nelson Committed by Android (Google) Code Review
Browse files

Merge "Make StrictMode constants visible for testing"

parents 4a492b85 cf8c4faa
Loading
Loading
Loading
Loading
+15 −0
Original line number Diff line number Diff line
@@ -31821,6 +31821,21 @@ package android.os {
    method public static void setThreadPolicy(android.os.StrictMode.ThreadPolicy);
    method public static void setViolationLogger(android.os.StrictMode.ViolationLogger);
    method public static void setVmPolicy(android.os.StrictMode.VmPolicy);
    field public static final int DETECT_CUSTOM = 8; // 0x8
    field public static final int DETECT_DISK_READ = 2; // 0x2
    field public static final int DETECT_DISK_WRITE = 1; // 0x1
    field public static final int DETECT_NETWORK = 4; // 0x4
    field public static final int DETECT_RESOURCE_MISMATCH = 16; // 0x10
    field public static final int DETECT_UNBUFFERED_IO = 32; // 0x20
    field public static final int DETECT_VM_ACTIVITY_LEAKS = 1024; // 0x400
    field public static final int DETECT_VM_CLEARTEXT_NETWORK = 16384; // 0x4000
    field public static final int DETECT_VM_CLOSABLE_LEAKS = 512; // 0x200
    field public static final int DETECT_VM_CONTENT_URI_WITHOUT_PERMISSION = 32768; // 0x8000
    field public static final int DETECT_VM_CURSOR_LEAKS = 256; // 0x100
    field public static final int DETECT_VM_FILE_URI_EXPOSURE = 8192; // 0x2000
    field public static final int DETECT_VM_INSTANCE_LEAKS = 2048; // 0x800
    field public static final int DETECT_VM_REGISTRATION_LEAKS = 4096; // 0x1000
    field public static final int DETECT_VM_UNTAGGED_SOCKET = -2147483648; // 0x80000000
  }
  public static final class StrictMode.ThreadPolicy {
+32 −16
Original line number Diff line number Diff line
@@ -154,12 +154,15 @@ public final class StrictMode {
    // Byte 1: Thread-policy

    /** @hide */
    @TestApi
    public static final int DETECT_DISK_WRITE = 0x01; // for ThreadPolicy

    /** @hide */
    @TestApi
    public static final int DETECT_DISK_READ = 0x02; // for ThreadPolicy

    /** @hide */
    @TestApi
    public static final int DETECT_NETWORK = 0x04; // for ThreadPolicy

    /**
@@ -167,6 +170,7 @@ public final class StrictMode {
     *
     * @hide
     */
    @TestApi
    public static final int DETECT_CUSTOM = 0x08; // for ThreadPolicy

    /**
@@ -174,9 +178,11 @@ public final class StrictMode {
     *
     * @hide
     */
    @TestApi
    public static final int DETECT_RESOURCE_MISMATCH = 0x10; // for ThreadPolicy

    /** @hide */
    @TestApi
    public static final int DETECT_UNBUFFERED_IO = 0x20; // for ThreadPolicy

    private static final int ALL_THREAD_DETECT_BITS =
@@ -194,6 +200,7 @@ public final class StrictMode {
     *
     * @hide
     */
    @TestApi
    public static final int DETECT_VM_CURSOR_LEAKS = 0x01 << 8; // for VmPolicy

    /**
@@ -201,6 +208,7 @@ public final class StrictMode {
     *
     * @hide
     */
    @TestApi
    public static final int DETECT_VM_CLOSABLE_LEAKS = 0x02 << 8; // for VmPolicy

    /**
@@ -208,25 +216,32 @@ public final class StrictMode {
     *
     * @hide
     */
    @TestApi
    public static final int DETECT_VM_ACTIVITY_LEAKS = 0x04 << 8; // for VmPolicy

    /** @hide */
    private static final int DETECT_VM_INSTANCE_LEAKS = 0x08 << 8; // for VmPolicy
    @TestApi
    public static final int DETECT_VM_INSTANCE_LEAKS = 0x08 << 8; // for VmPolicy

    /** @hide */
    @TestApi
    public static final int DETECT_VM_REGISTRATION_LEAKS = 0x10 << 8; // for VmPolicy

    /** @hide */
    private static final int DETECT_VM_FILE_URI_EXPOSURE = 0x20 << 8; // for VmPolicy
    @TestApi
    public static final int DETECT_VM_FILE_URI_EXPOSURE = 0x20 << 8; // for VmPolicy

    /** @hide */
    private static final int DETECT_VM_CLEARTEXT_NETWORK = 0x40 << 8; // for VmPolicy
    @TestApi
    public static final int DETECT_VM_CLEARTEXT_NETWORK = 0x40 << 8; // for VmPolicy

    /** @hide */
    private static final int DETECT_VM_CONTENT_URI_WITHOUT_PERMISSION = 0x80 << 8; // for VmPolicy
    @TestApi
    public static final int DETECT_VM_CONTENT_URI_WITHOUT_PERMISSION = 0x80 << 8; // for VmPolicy

    /** @hide */
    private static final int DETECT_VM_UNTAGGED_SOCKET = 0x80 << 24; // for VmPolicy
    @TestApi
    public static final int DETECT_VM_UNTAGGED_SOCKET = 0x80 << 24; // for VmPolicy

    private static final int ALL_VM_DETECT_BITS =
            DETECT_VM_CURSOR_LEAKS
@@ -1857,6 +1872,10 @@ public final class StrictMode {
        onVmPolicyViolation(null, new Throwable(message));
    }

    /** @hide */
    public static final String CLEARTEXT_DETECTED_MSG =
            "Detected cleartext network traffic from UID ";

    /** @hide */
    public static void onCleartextNetworkDetected(byte[] firstPacket) {
        byte[] rawAddr = null;
@@ -1873,14 +1892,10 @@ public final class StrictMode {
        }

        final int uid = android.os.Process.myUid();
        String msg = "Detected cleartext network traffic from UID " + uid;
        String msg = CLEARTEXT_DETECTED_MSG + uid;
        if (rawAddr != null) {
            try {
                msg =
                        "Detected cleartext network traffic from UID "
                                + uid
                                + " to "
                                + InetAddress.getByAddress(rawAddr);
                msg += " to " + InetAddress.getByAddress(rawAddr);
            } catch (UnknownHostException ignored) {
            }
        }
@@ -1891,12 +1906,13 @@ public final class StrictMode {
    }

    /** @hide */
    public static void onUntaggedSocket() {
        onVmPolicyViolation(
                null,
                new Throwable(
    public static final String UNTAGGED_SOCKET_VIOLATION_MESSAGE =
            "Untagged socket detected; use"
                                + " TrafficStats.setThreadSocketTag() to track all network usage"));
                    + " TrafficStats.setThreadSocketTag() to track all network usage";

    /** @hide */
    public static void onUntaggedSocket() {
        onVmPolicyViolation(null, new Throwable(UNTAGGED_SOCKET_VIOLATION_MESSAGE));
    }

    // Map from VM violation fingerprint to uptime millis.