Merge "Use different URL encoding for single quote in query" am: 35adfe38c8
am: bb4bcf00bb

Change-Id: I732a512394ca2bbeba7d5555a8673da3b996d736
diff --git a/okhttp-tests/src/test/java/com/squareup/okhttp/HttpUrlTest.java b/okhttp-tests/src/test/java/com/squareup/okhttp/HttpUrlTest.java
index 0ec2ce5..99b1a60 100644
--- a/okhttp-tests/src/test/java/com/squareup/okhttp/HttpUrlTest.java
+++ b/okhttp-tests/src/test/java/com/squareup/okhttp/HttpUrlTest.java
@@ -456,7 +456,10 @@
   @Test public void queryCharacters() throws Exception {
     new UrlComponentEncodingTester()
         .override(Encoding.IDENTITY, '?', '`')
-        .override(Encoding.PERCENT, '\'')
+        // ANDROID-CHANGED: http://b/30405333
+        // .override(Encoding.PERCENT, '\'')
+        .override(Encoding.IDENTITY, '\'')
+        // ANDROID-CHANGED end.
         .override(Encoding.SKIP, '#', '+')
         .skipForUri('%', '\\', '^', '`', '{', '|', '}')
         .test(Component.QUERY);
diff --git a/okhttp/src/main/java/com/squareup/okhttp/HttpUrl.java b/okhttp/src/main/java/com/squareup/okhttp/HttpUrl.java
index dced25f..7175b9c 100644
--- a/okhttp/src/main/java/com/squareup/okhttp/HttpUrl.java
+++ b/okhttp/src/main/java/com/squareup/okhttp/HttpUrl.java
@@ -259,8 +259,12 @@
   static final String PASSWORD_ENCODE_SET = " \"':;<=>@[]^`{}|/\\?#";
   static final String PATH_SEGMENT_ENCODE_SET = " \"<>^`{}|/\\?#";
   static final String PATH_SEGMENT_ENCODE_SET_URI = "[]";
-  static final String QUERY_ENCODE_SET = " \"'<>#";
-  static final String QUERY_COMPONENT_ENCODE_SET = " \"'<>#&=";
+  // ANDROID-CHANGED: http://b/30405333 - we do not encode single quote as %27 in query strings.
+  // static final String QUERY_ENCODE_SET = " \"'<>#";
+  // static final String QUERY_COMPONENT_ENCODE_SET = " \"'<>#&=";
+  static final String QUERY_ENCODE_SET = " \"<>#";
+  static final String QUERY_COMPONENT_ENCODE_SET = " \"<>#&=";
+  // ANDROID-CHANGED end.
   static final String QUERY_COMPONENT_ENCODE_SET_URI = "\\^`{|}";
   static final String FORM_ENCODE_SET = " \"':;<=>@[]^`{}|/\\?#&!$(),~";
   static final String FRAGMENT_ENCODE_SET = "";