Merge "Add some Android-changed markers to boxed primitive types."
diff --git a/ojluni/src/main/java/java/lang/Byte.java b/ojluni/src/main/java/java/lang/Byte.java
index d0031d0..2333afd 100644
--- a/ojluni/src/main/java/java/lang/Byte.java
+++ b/ojluni/src/main/java/java/lang/Byte.java
@@ -60,6 +60,8 @@
      * {@code byte}.
      */
     @SuppressWarnings("unchecked")
+    // Android-changed: Avoid use of removed Class.getPrimitiveClass method.
+    // public static final Class<Byte>     TYPE = (Class<Byte>) Class.getPrimitiveClass("byte");
     public static final Class<Byte>     TYPE = (Class<Byte>) byte[].class.getComponentType();
 
     /**
diff --git a/ojluni/src/main/java/java/lang/Character.java b/ojluni/src/main/java/java/lang/Character.java
index fb0d576..7615dab 100644
--- a/ojluni/src/main/java/java/lang/Character.java
+++ b/ojluni/src/main/java/java/lang/Character.java
@@ -173,6 +173,8 @@
      * @since   1.1
      */
     @SuppressWarnings("unchecked")
+    // Android-changed: Avoid use of removed Class.getPrimitiveClass method.
+    // public static final Class<Character> TYPE = (Class<Character>) Class.getPrimitiveClass("char");
     public static final Class<Character> TYPE = (Class<Character>) char[].class.getComponentType();
 
     /*
diff --git a/ojluni/src/main/java/java/lang/Double.java b/ojluni/src/main/java/java/lang/Double.java
index 2bc2bf3..2721a84 100644
--- a/ojluni/src/main/java/java/lang/Double.java
+++ b/ojluni/src/main/java/java/lang/Double.java
@@ -137,6 +137,8 @@
      * @since JDK1.1
      */
     @SuppressWarnings("unchecked")
+    // Android-changed: Avoid use of removed Class.getPrimitiveClass method.
+    // public static final Class<Double>   TYPE = (Class<Double>) Class.getPrimitiveClass("double");
     public static final Class<Double>   TYPE = (Class<Double>) double[].class.getComponentType();
 
     /**
diff --git a/ojluni/src/main/java/java/lang/Float.java b/ojluni/src/main/java/java/lang/Float.java
index 32bd625..6a2b933 100644
--- a/ojluni/src/main/java/java/lang/Float.java
+++ b/ojluni/src/main/java/java/lang/Float.java
@@ -135,6 +135,8 @@
      * @since JDK1.1
      */
     @SuppressWarnings("unchecked")
+    // Android-changed: Avoid use of removed Class.getPrimitiveClass method.
+    // public static final Class<Float> TYPE = (Class<Float>) Class.getPrimitiveClass("float");
     public static final Class<Float> TYPE = (Class<Float>) float[].class.getComponentType();
 
     /**
diff --git a/ojluni/src/main/java/java/lang/Integer.java b/ojluni/src/main/java/java/lang/Integer.java
index f742505..c63b0d5 100644
--- a/ojluni/src/main/java/java/lang/Integer.java
+++ b/ojluni/src/main/java/java/lang/Integer.java
@@ -70,6 +70,8 @@
      * @since   JDK1.1
      */
     @SuppressWarnings("unchecked")
+    // Android-changed: Avoid use of removed Class.getPrimitiveClass method.
+    // public static final Class<Integer>  TYPE = (Class<Integer>) Class.getPrimitiveClass("int");
     public static final Class<Integer>  TYPE = (Class<Integer>) int[].class.getComponentType();
 
     /**
@@ -315,7 +317,8 @@
 
         formatUnsignedInt(val, shift, buf, 0, chars);
 
-        // Use special constructor which takes over "buf".
+        // Android-changed: Use regular constructor instead of one which takes over "buf".
+        // return new String(buf, true);
         return new String(buf);
     }
 
@@ -340,8 +343,10 @@
         return charPos;
     }
 
+    // BEGIN Android-changed: Cache the toString() result for small values.
     private static final String[] SMALL_NEG_VALUES  = new String[100];
     private static final String[] SMALL_NONNEG_VALUES = new String[100];
+    // END Android-changed: Cache the toString() result for small values.
 
     final static char [] DigitTens = {
         '0', '0', '0', '0', '0', '0', '0', '0', '0', '0',
@@ -402,7 +407,8 @@
         if (i == Integer.MIN_VALUE)
             return "-2147483648";
 
-        // Android-changed: cache the string literal for small values.
+        // BEGIN Android-changed: Cache the String for small values.
+        // int size = (i < 0) ? stringSize(-i) + 1 : stringSize(i);
         boolean negative = i < 0;
         boolean small = negative ? i > -100 : i < 100;
         if (small) {
@@ -424,10 +430,12 @@
             }
             return smallValues[i];
         }
-
         int size = negative ? stringSize(-i) + 1 : stringSize(i);
+        // END Android-changed: Cache the String for small values.
         char[] buf = new char[size];
         getChars(i, size, buf);
+        // Android-changed: Use regular constructor instead of one which takes over "buf".
+        // return new String(buf, true);
         return new String(buf);
     }
 
@@ -567,6 +575,7 @@
          */
 
         if (s == null) {
+            // Android-changed: Improve exception message for parseInt.
             throw new NumberFormatException("s == null");
         }
 
diff --git a/ojluni/src/main/java/java/lang/Long.java b/ojluni/src/main/java/java/lang/Long.java
index 3f383b4..c752957 100644
--- a/ojluni/src/main/java/java/lang/Long.java
+++ b/ojluni/src/main/java/java/lang/Long.java
@@ -72,6 +72,8 @@
      * @since   JDK1.1
      */
     @SuppressWarnings("unchecked")
+    // Android-changed: Avoid use of removed Class.getPrimitiveClass method.
+    // public static final Class<Long>     TYPE = (Class<Long>) Class.getPrimitiveClass("long");
     public static final Class<Long>     TYPE = (Class<Long>) long[].class.getComponentType();
 
     /**
@@ -357,6 +359,8 @@
         char[] buf = new char[chars];
 
         formatUnsignedLong(val, shift, buf, 0, chars);
+        // Android-changed: Use regular constructor instead of one which takes over "buf".
+        // return new String(buf, true);
         return new String(buf);
     }
 
@@ -397,6 +401,8 @@
         int size = (i < 0) ? stringSize(-i) + 1 : stringSize(i);
         char[] buf = new char[size];
         getChars(i, size, buf);
+        // Android-changed: Use regular constructor instead of one which takes over "buf".
+        // return new String(buf, true);
         return new String(buf);
     }
 
diff --git a/ojluni/src/main/java/java/lang/Short.java b/ojluni/src/main/java/java/lang/Short.java
index 0031711..0f600a8 100644
--- a/ojluni/src/main/java/java/lang/Short.java
+++ b/ojluni/src/main/java/java/lang/Short.java
@@ -60,6 +60,8 @@
      * {@code short}.
      */
     @SuppressWarnings("unchecked")
+    // Android-changed: Avoid use of removed Class.getPrimitiveClass method.
+    // public static final Class<Short>    TYPE = (Class<Short>) Class.getPrimitiveClass("short");
     public static final Class<Short>    TYPE = (Class<Short>) short[].class.getComponentType();
 
     /**