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

Commit 62a1eb58 authored by Brad Fitzpatrick's avatar Brad Fitzpatrick
Browse files

StrictMode: fix docs to actually compile and add a utility method.

Yes, this is a last minute public API change, but I'm already getting
a lot of inquiries about how to use StrictMode on a GB device but
targetting Eclair or Froyo.  I'd like a simple answer involving
reflection, but the current API is too painful to use via reflection.

I imagine this will be a common request, and it's much easier for us
to write a little blog post about trying it out if there's an easy way
to use it with reflection.

Change-Id: I1f21aaac7e61e5e90d1e4facc0c787d8daf089b1
parent 2b51fcb9
Loading
Loading
Loading
Loading
+11 −0
Original line number Diff line number Diff line
@@ -131667,6 +131667,17 @@
 visibility="public"
>
</method>
<method name="enableDefaults"
 return="void"
 abstract="false"
 native="false"
 synchronized="false"
 static="true"
 final="false"
 deprecated="not deprecated"
 visibility="public"
>
</method>
<method name="getThreadPolicy"
 return="android.os.StrictMode.ThreadPolicy"
 abstract="false"
+19 −1
Original line number Diff line number Diff line
@@ -66,7 +66,7 @@ import java.util.HashMap;
 *                 .penaltyLog()
 *                 .build());
 *         StrictMode.setVmPolicy(new {@link VmPolicy.Builder StrictMode.VmPolicy.Builder}()
 *                 .detectLeakedSqlLiteCursors()
 *                 .detectLeakedSqlLiteObjects()
 *                 .penaltyLog()
 *                 .penaltyDeath()
 *                 .build());
@@ -961,6 +961,24 @@ public final class StrictMode {
        return new VmPolicy(sVmPolicyMask);
    }

    /**
     * Enable the recommended StrictMode defaults, with violations just being logged.
     *
     * <p>This catches disk and network access on the main thread, as
     * well as leaked SQLite cursors.  This is simply a wrapper around
     * {@link #setVmPolicy} and {@link #setThreadPolicy}.
     */
    public static void enableDefaults() {
        StrictMode.setThreadPolicy(new StrictMode.ThreadPolicy.Builder()
                                   .detectAll()
                                   .penaltyLog()
                                   .build());
        StrictMode.setVmPolicy(new StrictMode.VmPolicy.Builder()
                               .detectLeakedSqlLiteObjects()
                               .penaltyLog()
                               .build());
    }

    /**
     * @hide
     */