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
diff --git a/api/current.xml b/api/current.xml
index 70f2bff..1c8e5ae 100644
--- a/api/current.xml
+++ b/api/current.xml
@@ -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"
diff --git a/core/java/android/os/StrictMode.java b/core/java/android/os/StrictMode.java
index de5b7b9..e912089 100644
--- a/core/java/android/os/StrictMode.java
+++ b/core/java/android/os/StrictMode.java
@@ -66,7 +66,7 @@
  *                 .penaltyLog()
  *                 .build());
  *         StrictMode.setVmPolicy(new {@link VmPolicy.Builder StrictMode.VmPolicy.Builder}()
- *                 .detectLeakedSqlLiteCursors()
+ *                 .detectLeakedSqlLiteObjects()
  *                 .penaltyLog()
  *                 .penaltyDeath()
  *                 .build());
@@ -962,6 +962,24 @@
     }
 
     /**
+     * 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
      */
     public static boolean vmSqliteObjectLeaksEnabled() {