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

Commit b50d9bb6 authored by Christopher Tate's avatar Christopher Tate Committed by Android Git Automerger
Browse files

am 4fdad1af: Merge "Add persistent property to disable strict mode" into ics-mr1

* commit '4fdad1af':
  Add persistent property to disable strict mode
parents b536cd92 4fdad1af
Loading
Loading
Loading
Loading
+19 −3
Original line number Diff line number Diff line
@@ -115,6 +115,14 @@ public final class StrictMode {
    private static final boolean IS_USER_BUILD = "user".equals(Build.TYPE);
    private static final boolean IS_ENG_BUILD = "eng".equals(Build.TYPE);

    /**
     * Boolean system property to disable strict mode checks outright.
     * Set this to 'true' to force disable; 'false' has no effect on other
     * enable/disable policy.
     * @hide
     */
    public static final String DISABLE_PROPERTY = "persist.sys.strictmode.disable";

    /**
     * The boolean system property to control screen flashes on violations.
     *
@@ -891,16 +899,24 @@ public final class StrictMode {
     * @hide
     */
    public static boolean conditionallyEnableDebugLogging() {
        boolean doFlashes = !amTheSystemServerProcess() &&
                SystemProperties.getBoolean(VISUAL_PROPERTY, IS_ENG_BUILD);
        boolean doFlashes = SystemProperties.getBoolean(VISUAL_PROPERTY, false)
                && !amTheSystemServerProcess();
        final boolean suppress = SystemProperties.getBoolean(DISABLE_PROPERTY, false);

        // For debug builds, log event loop stalls to dropbox for analysis.
        // Similar logic also appears in ActivityThread.java for system apps.
        if (IS_USER_BUILD && !doFlashes) {
        if (!doFlashes && (IS_USER_BUILD || suppress)) {
            setCloseGuardEnabled(false);
            return false;
        }

        // Eng builds have flashes on all the time.  The suppression property
        // overrides this, so we force the behavior only after the short-circuit
        // check above.
        if (IS_ENG_BUILD) {
            doFlashes = true;
        }

        // Thread policy controls BlockGuard.
        int threadPolicyMask = StrictMode.DETECT_DISK_WRITE |
                StrictMode.DETECT_DISK_READ |