resolved conflicts for merge of a920f25f to jb-mr2-dev-plus-aosp

Change-Id: I3349f8d2e6715171e2677c1385122ceb2810c1f6
diff --git a/core/java/android/net/Uri.java b/core/java/android/net/Uri.java
index 4b022d9..1d1e149 100644
--- a/core/java/android/net/Uri.java
+++ b/core/java/android/net/Uri.java
@@ -26,7 +26,7 @@
 import java.io.IOException;
 import java.io.UnsupportedEncodingException;
 import java.net.URLEncoder;
-import java.nio.charset.Charsets;
+import java.nio.charset.StandardCharsets;
 import java.util.AbstractList;
 import java.util.ArrayList;
 import java.util.Collections;
@@ -1689,7 +1689,7 @@
                     return "";
                 } else {
                     String encodedValue = query.substring(separator + 1, end);
-                    return UriCodec.decode(encodedValue, true, Charsets.UTF_8, false);
+                    return UriCodec.decode(encodedValue, true, StandardCharsets.UTF_8, false);
                 }
             }
 
@@ -1928,7 +1928,7 @@
         if (s == null) {
             return null;
         }
-        return UriCodec.decode(s, false, Charsets.UTF_8, false);
+        return UriCodec.decode(s, false, StandardCharsets.UTF_8, false);
     }
 
     /**
diff --git a/core/java/android/net/dhcp/DhcpPacket.java b/core/java/android/net/dhcp/DhcpPacket.java
index 7d2bd69..317a9b4 100644
--- a/core/java/android/net/dhcp/DhcpPacket.java
+++ b/core/java/android/net/dhcp/DhcpPacket.java
@@ -7,7 +7,7 @@
 import java.net.UnknownHostException;
 import java.nio.ByteBuffer;
 import java.nio.ByteOrder;
-import java.nio.charset.Charsets;
+import java.nio.charset.StandardCharsets;
 import java.nio.ShortBuffer;
 
 import java.util.ArrayList;
@@ -540,7 +540,7 @@
     private static String readAsciiString(ByteBuffer buf, int byteCount) {
         byte[] bytes = new byte[byteCount];
         buf.get(bytes);
-        return new String(bytes, 0, bytes.length, Charsets.US_ASCII);
+        return new String(bytes, 0, bytes.length, StandardCharsets.US_ASCII);
     }
 
     /**
diff --git a/core/java/android/nfc/NdefRecord.java b/core/java/android/nfc/NdefRecord.java
index 2d9dae9..9b71f62 100644
--- a/core/java/android/nfc/NdefRecord.java
+++ b/core/java/android/nfc/NdefRecord.java
@@ -22,7 +22,7 @@
 import android.os.Parcelable;
 import java.nio.BufferUnderflowException;
 import java.nio.ByteBuffer;
-import java.nio.charset.Charsets;
+import java.nio.charset.StandardCharsets;
 import java.util.ArrayList;
 import java.util.Arrays;
 import java.util.List;
@@ -311,7 +311,7 @@
         if (packageName.length() == 0) throw new IllegalArgumentException("packageName is empty");
 
         return new NdefRecord(TNF_EXTERNAL_TYPE, RTD_ANDROID_APP, null,
-                packageName.getBytes(Charsets.UTF_8));
+                packageName.getBytes(StandardCharsets.UTF_8));
     }
 
     /**
@@ -350,7 +350,7 @@
                 break;
             }
         }
-        byte[] uriBytes = uriString.getBytes(Charsets.UTF_8);
+        byte[] uriBytes = uriString.getBytes(StandardCharsets.UTF_8);
         byte[] recordBytes = new byte[uriBytes.length + 1];
         recordBytes[0] = prefix;
         System.arraycopy(uriBytes, 0, recordBytes, 1, uriBytes.length);
@@ -422,7 +422,7 @@
         // missing '/' is allowed
 
         // MIME RFCs suggest ASCII encoding for content-type
-        byte[] typeBytes = mimeType.getBytes(Charsets.US_ASCII);
+        byte[] typeBytes = mimeType.getBytes(StandardCharsets.US_ASCII);
         return new NdefRecord(TNF_MIME_MEDIA, typeBytes, null, mimeData);
     }
 
@@ -462,8 +462,8 @@
         if (domain.length() == 0) throw new IllegalArgumentException("domain is empty");
         if (type.length() == 0) throw new IllegalArgumentException("type is empty");
 
-        byte[] byteDomain = domain.getBytes(Charsets.UTF_8);
-        byte[] byteType = type.getBytes(Charsets.UTF_8);
+        byte[] byteDomain = domain.getBytes(StandardCharsets.UTF_8);
+        byte[] byteType = type.getBytes(StandardCharsets.UTF_8);
         byte[] b = new byte[byteDomain.length + 1 + byteType.length];
         System.arraycopy(byteDomain, 0, b, 0, byteDomain.length);
         b[byteDomain.length] = ':';
@@ -643,7 +643,7 @@
                 }
                 break;
             case NdefRecord.TNF_MIME_MEDIA:
-                String mimeType = new String(mType, Charsets.US_ASCII);
+                String mimeType = new String(mType, StandardCharsets.US_ASCII);
                 return Intent.normalizeMimeType(mimeType);
         }
         return null;
@@ -694,14 +694,14 @@
                 break;
 
             case TNF_ABSOLUTE_URI:
-                Uri uri = Uri.parse(new String(mType, Charsets.UTF_8));
+                Uri uri = Uri.parse(new String(mType, StandardCharsets.UTF_8));
                 return uri.normalizeScheme();
 
             case TNF_EXTERNAL_TYPE:
                 if (inSmartPoster) {
                     break;
                 }
-                return Uri.parse("vnd.android.nfc://ext/" + new String(mType, Charsets.US_ASCII));
+                return Uri.parse("vnd.android.nfc://ext/" + new String(mType, StandardCharsets.US_ASCII));
         }
         return null;
     }
@@ -723,7 +723,7 @@
         }
         String prefix = URI_PREFIX_MAP[prefixIndex];
         String suffix = new String(Arrays.copyOfRange(mPayload, 1, mPayload.length),
-                Charsets.UTF_8);
+                StandardCharsets.UTF_8);
         return Uri.parse(prefix + suffix);
     }
 
diff --git a/core/java/com/android/internal/net/VpnProfile.java b/core/java/com/android/internal/net/VpnProfile.java
index c9b7cb3..01349bb 100644
--- a/core/java/com/android/internal/net/VpnProfile.java
+++ b/core/java/com/android/internal/net/VpnProfile.java
@@ -22,7 +22,7 @@
 import android.util.Log;
 
 import java.net.InetAddress;
-import java.nio.charset.Charsets;
+import java.nio.charset.StandardCharsets;
 
 /**
  * Parcel-like entity class for VPN profiles. To keep things simple, all
@@ -117,7 +117,7 @@
                 return null;
             }
 
-            String[] values = new String(value, Charsets.UTF_8).split("\0", -1);
+            String[] values = new String(value, StandardCharsets.UTF_8).split("\0", -1);
             // There can be 14 or 15 values in ICS MR1.
             if (values.length < 14 || values.length > 15) {
                 return null;
@@ -167,7 +167,7 @@
         builder.append('\0').append(ipsecUserCert);
         builder.append('\0').append(ipsecCaCert);
         builder.append('\0').append(ipsecServerCert);
-        return builder.toString().getBytes(Charsets.UTF_8);
+        return builder.toString().getBytes(StandardCharsets.UTF_8);
     }
 
     /**
diff --git a/core/java/com/android/internal/util/ProcFileReader.java b/core/java/com/android/internal/util/ProcFileReader.java
index 81571fe..ead58c7d 100644
--- a/core/java/com/android/internal/util/ProcFileReader.java
+++ b/core/java/com/android/internal/util/ProcFileReader.java
@@ -20,13 +20,13 @@
 import java.io.IOException;
 import java.io.InputStream;
 import java.net.ProtocolException;
-import java.nio.charset.Charsets;
+import java.nio.charset.StandardCharsets;
 
 /**
  * Reader that specializes in parsing {@code /proc/} files quickly. Walks
  * through the stream using a single space {@code ' '} as token separator, and
  * requires each line boundary to be explicitly acknowledged using
- * {@link #finishLine()}. Assumes {@link Charsets#US_ASCII} encoding.
+ * {@link #finishLine()}. Assumes {@link StandardCharsets#US_ASCII} encoding.
  * <p>
  * Currently doesn't support formats based on {@code \0}, tabs, or repeated
  * delimiters.
@@ -181,7 +181,7 @@
     }
 
     private String parseAndConsumeString(int tokenIndex) throws IOException {
-        final String s = new String(mBuffer, 0, tokenIndex, Charsets.US_ASCII);
+        final String s = new String(mBuffer, 0, tokenIndex, StandardCharsets.US_ASCII);
         consumeBuf(tokenIndex + 1);
         return s;
     }
@@ -212,7 +212,7 @@
 
     private NumberFormatException invalidLong(int tokenIndex) {
         return new NumberFormatException(
-                "invalid long: " + new String(mBuffer, 0, tokenIndex, Charsets.US_ASCII));
+                "invalid long: " + new String(mBuffer, 0, tokenIndex, StandardCharsets.US_ASCII));
     }
 
     /**
diff --git a/core/tests/coretests/src/com/android/internal/util/ProcFileReaderTest.java b/core/tests/coretests/src/com/android/internal/util/ProcFileReaderTest.java
index a81bb4b..b6da195 100644
--- a/core/tests/coretests/src/com/android/internal/util/ProcFileReaderTest.java
+++ b/core/tests/coretests/src/com/android/internal/util/ProcFileReaderTest.java
@@ -20,7 +20,7 @@
 
 import java.io.ByteArrayInputStream;
 import java.io.IOException;
-import java.nio.charset.Charsets;
+import java.nio.charset.StandardCharsets;
 
 /**
  * Tests for {@link ProcFileReader}.
@@ -172,6 +172,6 @@
 
     private static ProcFileReader buildReader(String string, int bufferSize) throws IOException {
         return new ProcFileReader(
-                new ByteArrayInputStream(string.getBytes(Charsets.US_ASCII)), bufferSize);
+                new ByteArrayInputStream(string.getBytes(StandardCharsets.US_ASCII)), bufferSize);
     }
 }
diff --git a/keystore/java/android/security/Credentials.java b/keystore/java/android/security/Credentials.java
index 166849d..767647c 100644
--- a/keystore/java/android/security/Credentials.java
+++ b/keystore/java/android/security/Credentials.java
@@ -31,7 +31,7 @@
 import java.io.OutputStreamWriter;
 import java.io.Reader;
 import java.io.Writer;
-import java.nio.charset.Charsets;
+import java.nio.charset.StandardCharsets;
 import java.security.KeyPair;
 import java.security.cert.Certificate;
 import java.security.cert.CertificateEncodingException;
@@ -127,7 +127,7 @@
     public static byte[] convertToPem(Certificate... objects)
             throws IOException, CertificateEncodingException {
         ByteArrayOutputStream bao = new ByteArrayOutputStream();
-        Writer writer = new OutputStreamWriter(bao, Charsets.US_ASCII);
+        Writer writer = new OutputStreamWriter(bao, StandardCharsets.US_ASCII);
         PemWriter pw = new PemWriter(writer);
         for (Certificate o : objects) {
             pw.writeObject(new PemObject("CERTIFICATE", o.getEncoded()));
@@ -142,7 +142,7 @@
     public static List<X509Certificate> convertFromPem(byte[] bytes)
             throws IOException, CertificateException {
         ByteArrayInputStream bai = new ByteArrayInputStream(bytes);
-        Reader reader = new InputStreamReader(bai, Charsets.US_ASCII);
+        Reader reader = new InputStreamReader(bai, StandardCharsets.US_ASCII);
         PemReader pr = new PemReader(reader);
 
         CertificateFactory cf = CertificateFactory.getInstance("X509");
diff --git a/keystore/tests/src/android/security/KeyStoreTest.java b/keystore/tests/src/android/security/KeyStoreTest.java
index 815f4ac..9bf88d3 100644
--- a/keystore/tests/src/android/security/KeyStoreTest.java
+++ b/keystore/tests/src/android/security/KeyStoreTest.java
@@ -22,7 +22,7 @@
 import android.test.ActivityUnitTestCase;
 import android.test.AssertionFailedError;
 import android.test.suitebuilder.annotation.MediumTest;
-import java.nio.charset.Charsets;
+import java.nio.charset.StandardCharsets;
 import java.util.Arrays;
 import java.util.Date;
 import java.util.HashSet;
@@ -45,11 +45,11 @@
     private static final String TEST_KEYNAME = "test-key";
     private static final String TEST_KEYNAME1 = "test-key.1";
     private static final String TEST_KEYNAME2 = "test-key\02";
-    private static final byte[] TEST_KEYVALUE = "test value".getBytes(Charsets.UTF_8);
+    private static final byte[] TEST_KEYVALUE = "test value".getBytes(StandardCharsets.UTF_8);
 
     // "Hello, World" in Chinese
     private static final String TEST_I18N_KEY = "\u4F60\u597D, \u4E16\u754C";
-    private static final byte[] TEST_I18N_VALUE = TEST_I18N_KEY.getBytes(Charsets.UTF_8);
+    private static final byte[] TEST_I18N_VALUE = TEST_I18N_KEY.getBytes(StandardCharsets.UTF_8);
 
     // Test vector data for signatures
     private static final byte[] TEST_DATA =  new byte[256];
diff --git a/services/java/com/android/server/NativeDaemonConnector.java b/services/java/com/android/server/NativeDaemonConnector.java
index 47840e0..0a91919 100644
--- a/services/java/com/android/server/NativeDaemonConnector.java
+++ b/services/java/com/android/server/NativeDaemonConnector.java
@@ -28,12 +28,12 @@
 import com.android.internal.annotations.VisibleForTesting;
 import com.google.android.collect.Lists;
 
-import java.nio.charset.Charsets;
 import java.io.FileDescriptor;
 import java.io.IOException;
 import java.io.InputStream;
 import java.io.OutputStream;
 import java.io.PrintWriter;
+import java.nio.charset.StandardCharsets;
 import java.util.ArrayList;
 import java.util.concurrent.atomic.AtomicInteger;
 import java.util.concurrent.ArrayBlockingQueue;
@@ -142,7 +142,7 @@
                 for (int i = 0; i < count; i++) {
                     if (buffer[i] == 0) {
                         final String rawEvent = new String(
-                                buffer, start, i - start, Charsets.UTF_8);
+                                buffer, start, i - start, StandardCharsets.UTF_8);
                         log("RCV <- {" + rawEvent + "}");
 
                         try {
@@ -163,7 +163,7 @@
                     }
                 }
                 if (start == 0) {
-                    final String rawEvent = new String(buffer, start, count, Charsets.UTF_8);
+                    final String rawEvent = new String(buffer, start, count, StandardCharsets.UTF_8);
                     log("RCV incomplete <- {" + rawEvent + "}");
                 }
 
@@ -352,7 +352,7 @@
                 throw new NativeDaemonConnectorException("missing output stream");
             } else {
                 try {
-                    mOutputStream.write(rawCmd.getBytes(Charsets.UTF_8));
+                    mOutputStream.write(rawCmd.getBytes(StandardCharsets.UTF_8));
                 } catch (IOException e) {
                     throw new NativeDaemonConnectorException("problem sending command", e);
                 }
diff --git a/services/java/com/android/server/connectivity/Vpn.java b/services/java/com/android/server/connectivity/Vpn.java
index e7d1fa4..2fc972f 100644
--- a/services/java/com/android/server/connectivity/Vpn.java
+++ b/services/java/com/android/server/connectivity/Vpn.java
@@ -72,7 +72,7 @@
 import java.io.OutputStream;
 import java.net.Inet4Address;
 import java.net.InetAddress;
-import java.nio.charset.Charsets;
+import java.nio.charset.StandardCharsets;
 import java.util.Arrays;
 import java.util.concurrent.atomic.AtomicInteger;
 
@@ -499,15 +499,15 @@
         if (!profile.ipsecUserCert.isEmpty()) {
             privateKey = Credentials.USER_PRIVATE_KEY + profile.ipsecUserCert;
             byte[] value = keyStore.get(Credentials.USER_CERTIFICATE + profile.ipsecUserCert);
-            userCert = (value == null) ? null : new String(value, Charsets.UTF_8);
+            userCert = (value == null) ? null : new String(value, StandardCharsets.UTF_8);
         }
         if (!profile.ipsecCaCert.isEmpty()) {
             byte[] value = keyStore.get(Credentials.CA_CERTIFICATE + profile.ipsecCaCert);
-            caCert = (value == null) ? null : new String(value, Charsets.UTF_8);
+            caCert = (value == null) ? null : new String(value, StandardCharsets.UTF_8);
         }
         if (!profile.ipsecServerCert.isEmpty()) {
             byte[] value = keyStore.get(Credentials.USER_CERTIFICATE + profile.ipsecServerCert);
-            serverCert = (value == null) ? null : new String(value, Charsets.UTF_8);
+            serverCert = (value == null) ? null : new String(value, StandardCharsets.UTF_8);
         }
         if (privateKey == null || userCert == null || caCert == null || serverCert == null) {
             throw new IllegalStateException("Cannot load credentials");
@@ -819,7 +819,7 @@
                     // Send over the arguments.
                     OutputStream out = mSockets[i].getOutputStream();
                     for (String argument : arguments) {
-                        byte[] bytes = argument.getBytes(Charsets.UTF_8);
+                        byte[] bytes = argument.getBytes(StandardCharsets.UTF_8);
                         if (bytes.length >= 0xFFFF) {
                             throw new IllegalArgumentException("Argument is too large");
                         }