Merge "Fix ReferencesHidden issues in apache http" am: 55b5ba17af am: bd2a970763 am: 57aa3fda81

Original change: https://android-review.googlesource.com/c/platform/external/apache-http/+/1348243

Change-Id: I14d4b7642abd8b3f678179f74ac626ff0199f0a2
diff --git a/Android.bp b/Android.bp
index 04d4aa9..3d2a908 100644
--- a/Android.bp
+++ b/Android.bp
@@ -83,7 +83,6 @@
     // Add dependencies on files used by droiddoc_options.
     droiddoc_option_files: [":frameworks-base-api-current.txt"],
     droiddoc_options: [
-        "--hide ReferencesHidden",
         // Subtract classes from the API .txt / stubs that are in the public SDK API. Without this
         // the org.apache.http.legacy.jar would contain duplicates of classes in android.jar.
         // See http://b/119021844 for more details.
diff --git a/android/src/android/net/http/Connection.java b/android/src/android/net/http/Connection.java
index 4a49d22..53f8d5b 100644
--- a/android/src/android/net/http/Connection.java
+++ b/android/src/android/net/http/Connection.java
@@ -36,7 +36,7 @@
 import org.apache.http.protocol.HttpContext;
 import org.apache.http.protocol.BasicHttpContext;
 
-abstract class Connection {
+public abstract class Connection {
 
     /**
      * Allow a TCP connection 60 idle seconds before erroring out
@@ -52,7 +52,7 @@
     Context mContext;
 
     /** The low level connection */
-    protected AndroidHttpClientConnection mHttpClientConnection = null;
+    AndroidHttpClientConnection mHttpClientConnection = null;
 
     /**
      * The server SSL certificate associated with this connection
@@ -60,7 +60,7 @@
      * It would be nice to store the whole certificate chain, but
      * we want to keep things as light-weight as possible
      */
-    protected SslCertificate mCertificate = null;
+    SslCertificate mCertificate = null;
 
     /**
      * The host this connection is connected to.  If using proxy,
@@ -98,7 +98,7 @@
      */
     private byte[] mBuf;
 
-    protected Connection(Context context, HttpHost host,
+    Connection(Context context, HttpHost host,
                          RequestFeeder requestFeeder) {
         mContext = context;
         mHost = host;
diff --git a/android/src/android/net/http/Request.java b/android/src/android/net/http/Request.java
index d8eba11..2ed5d4c 100644
--- a/android/src/android/net/http/Request.java
+++ b/android/src/android/net/http/Request.java
@@ -44,7 +44,7 @@
  * Represents an HTTP request for a given host.
  */
 
-class Request {
+public class Request {
 
     /** The eventhandler to call as the request progresses */
     EventHandler mEventHandler;
@@ -503,7 +503,7 @@
      * Handles SSL error(s) on the way down from the user (the user
      * has already provided their feedback).
      */
-    public void handleSslErrorResponse(boolean proceed) {
+    void handleSslErrorResponse(boolean proceed) {
         HttpsConnection connection = (HttpsConnection)(mConnection);
         if (connection != null) {
             connection.restartConnection(proceed);
diff --git a/api/current.txt b/api/current.txt
index a04d0cd..9f1b879 100644
--- a/api/current.txt
+++ b/api/current.txt
@@ -72,6 +72,9 @@
     method public static android.net.http.SslError verifyServerCertificates(byte[][], String, String) throws java.io.IOException;
   }
 
+  public abstract class Connection {
+  }
+
   public class DelegatingSSLSession implements javax.net.ssl.SSLSession {
     ctor protected DelegatingSSLSession();
     method public int getApplicationBufferSize();
@@ -217,7 +220,7 @@
     field public static final int UNKNOWN = 0; // 0x0
   }
 
-  public class HttpsConnection {
+  public class HttpsConnection extends android.net.http.Connection {
     method public static void initializeEngine(java.io.File);
   }
 
@@ -234,6 +237,9 @@
     method public void status(int, int, int, String);
   }
 
+  public class Request {
+  }
+
   public class RequestHandle {
     ctor public RequestHandle(android.net.http.RequestQueue, String, android.net.compatibility.WebAddress, String, java.util.Map<java.lang.String,java.lang.String>, java.io.InputStream, int, android.net.http.Request);
     ctor public RequestHandle(android.net.http.RequestQueue, String, android.net.compatibility.WebAddress, String, java.util.Map<java.lang.String,java.lang.String>, java.io.InputStream, int, android.net.http.Request, android.net.http.Connection);