Slim down ZoneInfo.toString.

Dalvik Explorer can now do a better job of helping examine transition data,
and regular developers don't need to see it. For America/Los_Angeles, for
example, toString used to output 186 lines. Now it just returns:

  libcore.util.ZoneInfo[id="America/Los_Angeles",mRawOffset=-28800000,mEarliestRawOffset=-28800000,mUseDst=true,mDstSavings=3600000,transitions=185]

Also fix an incorrect comment from the TimeZone documentation.

Change-Id: I5748845a7b4f911e99a0e1c2e1a0786742288518
diff --git a/luni/src/main/java/java/util/TimeZone.java b/luni/src/main/java/java/util/TimeZone.java
index 85011bc..a5e0ad7 100644
--- a/luni/src/main/java/java/util/TimeZone.java
+++ b/luni/src/main/java/java/util/TimeZone.java
@@ -55,14 +55,11 @@
  *
  * <p>Note the type returned by the factory methods {@link #getDefault} and {@link #getTimeZone} is
  * implementation dependent. This may introduce serialization incompatibility issues between
- * different implementations. Android returns instances of {@link SimpleTimeZone} so that
- * the bytes serialized by Android can be deserialized successfully on other
- * implementations, but the reverse compatibility cannot be guaranteed.
+ * different implementations, or different versions of Android.
  *
  * @see Calendar
  * @see GregorianCalendar
  * @see SimpleDateFormat
- * @see SimpleTimeZone
  */
 public abstract class TimeZone implements Serializable, Cloneable {
     private static final long serialVersionUID = 3581463369166924961L;
diff --git a/luni/src/main/java/libcore/util/ZoneInfo.java b/luni/src/main/java/libcore/util/ZoneInfo.java
index ac48b23..18e4f21 100644
--- a/luni/src/main/java/libcore/util/ZoneInfo.java
+++ b/luni/src/main/java/libcore/util/ZoneInfo.java
@@ -16,10 +16,8 @@
 
 package libcore.util;
 
-import java.text.SimpleDateFormat;
 import java.util.Arrays;
 import java.util.Date;
-import java.util.Formatter;
 import java.util.TimeZone;
 
 /**
@@ -43,15 +41,14 @@
     };
 
     private int mRawOffset;
-
     private final int mEarliestRawOffset;
+    private final boolean mUseDst;
+    private final int mDstSavings; // Implements TimeZone.getDSTSavings.
 
     private final int[] mTransitions;
     private final int[] mOffsets;
     private final byte[] mTypes;
     private final byte[] mIsDsts;
-    private final boolean mUseDst;
-    private final int mDstSavings; // Implements TimeZone.getDSTSavings.
 
     ZoneInfo(String name, int[] transitions, byte[] types, int[] gmtOffsets, byte[] isDsts) {
         mTransitions = transitions;
@@ -254,29 +251,12 @@
 
     @Override
     public String toString() {
-        StringBuilder sb = new StringBuilder();
-        // First the basics...
-        sb.append(getClass().getName() + "[" + getID() + ",mRawOffset=" + mRawOffset +
-                ",mUseDst=" + mUseDst + ",mDstSavings=" + mDstSavings + "]");
-        // ...followed by a zdump(1)-like description of all our transition data.
-        sb.append("\n");
-        Formatter f = new Formatter(sb);
-        for (int i = 0; i < mTransitions.length; ++i) {
-            int type = mTypes[i] & 0xff;
-            String utcTime = formatTime(mTransitions[i], TimeZone.getTimeZone("UTC"));
-            String localTime = formatTime(mTransitions[i], this);
-            int offset = mOffsets[type];
-            int gmtOffset = mRawOffset/1000 + offset;
-            f.format("%4d : time=%11d %s = %s isDst=%d offset=%5d gmtOffset=%d\n",
-                    i, mTransitions[i], utcTime, localTime, mIsDsts[type], offset, gmtOffset);
-        }
-        return sb.toString();
-    }
-
-    private static String formatTime(int s, TimeZone tz) {
-        SimpleDateFormat sdf = new SimpleDateFormat("EEE MMM dd HH:mm:ss yyyy zzz");
-        sdf.setTimeZone(tz);
-        long ms = ((long) s) * 1000L;
-        return sdf.format(new Date(ms));
+        return getClass().getName() + "[id=\"" + getID() + "\"" +
+            ",mRawOffset=" + mRawOffset +
+            ",mEarliestRawOffset=" + mEarliestRawOffset +
+            ",mUseDst=" + mUseDst +
+            ",mDstSavings=" + mDstSavings +
+            ",transitions=" + mTransitions.length +
+            "]";
     }
 }