This just makes it easier to derive from ApplicationErrorReport.
diff --git a/core/java/android/app/ApplicationErrorReport.java b/core/java/android/app/ApplicationErrorReport.java
index 72cbff4..74ed1e2 100644
--- a/core/java/android/app/ApplicationErrorReport.java
+++ b/core/java/android/app/ApplicationErrorReport.java
@@ -18,7 +18,6 @@
 
 import android.os.Parcel;
 import android.os.Parcelable;
-import android.util.Log;
 import android.util.Printer;
 
 /**
@@ -103,20 +102,7 @@
      * a parcel.
      */
     ApplicationErrorReport(Parcel in) {
-        type = in.readInt();
-        packageName = in.readString();
-        installerPackageName = in.readString();
-        processName = in.readString();
-        time = in.readLong();
-
-        switch (type) {
-            case TYPE_CRASH:
-                crashInfo = new CrashInfo(in);
-                break;
-            case TYPE_ANR:
-                anrInfo = new AnrInfo(in);
-                break;
-        }
+        readFromParcel(in);
     }
 
     public void writeToParcel(Parcel dest, int flags) {
@@ -136,6 +122,25 @@
         }
     }
 
+    protected void readFromParcel(Parcel in) {
+        type = in.readInt();
+        packageName = in.readString();
+        installerPackageName = in.readString();
+        processName = in.readString();
+        time = in.readLong();
+
+        switch (type) {
+            case TYPE_CRASH:
+                crashInfo = new CrashInfo(in);
+                anrInfo = null;
+                break;
+            case TYPE_ANR:
+                anrInfo = new AnrInfo(in);
+                crashInfo = null;
+                break;
+        }
+    }
+
     /**
      * Describes an application crash.
      */