Advertise HttpURLConnection in DefaultHttpClient.

Change-Id: I97a1a139fbe95cf63b1f921daea9e4c55c118a7f
diff --git a/src/org/apache/http/impl/client/DefaultHttpClient.java b/src/org/apache/http/impl/client/DefaultHttpClient.java
index 7b3a3fa..31cda56 100644
--- a/src/org/apache/http/impl/client/DefaultHttpClient.java
+++ b/src/org/apache/http/impl/client/DefaultHttpClient.java
@@ -87,8 +87,18 @@
 
 /**
  * Default implementation of an HTTP client.
- * <br/>
- * This class replaces <code>HttpClient</code> in HttpClient 3.
+ *
+ * <h3>Prefer HttpURLConnection for new code</h3>
+ * Android includes two HTTP clients: {@code HttpURLConnection} and Apache HTTP
+ * Client. Both support HTTPS, streaming uploads and downloads, configurable
+ * timeouts, IPv6 and connection pooling. Apache HTTP client has fewer bugs in
+ * Android 2.2 (Froyo) and earlier releases. For Android 2.3 (Gingerbread) and
+ * later, {@link java.net.HttpURLConnection HttpURLConnection} is the best
+ * choice. Its simple API and small size makes it great fit for Android.
+ * Transparent compression and response caching reduce network use, improve
+ * speed and save battery. See the <a
+ * href="http://android-developers.blogspot.com/2011/09/androids-http-clients.html">Android
+ * Developers Blog</a> for a comparison of the two HTTP clients.
  *
  * @author <a href="mailto:rolandw at apache.org">Roland Weber</a>
  * @author <a href="mailto:oleg at ural.ru">Oleg Kalnichevski</a>
@@ -112,24 +122,24 @@
             final HttpParams params) {
         super(conman, params);
     }
-    
-       
+
+
     public DefaultHttpClient(final HttpParams params) {
         super(null, params);
     }
 
-    
+
     public DefaultHttpClient() {
         super(null, null);
     }
 
-    
+
     @Override
     protected HttpParams createHttpParams() {
         HttpParams params = new BasicHttpParams();
-        HttpProtocolParams.setVersion(params, 
+        HttpProtocolParams.setVersion(params,
                 HttpVersion.HTTP_1_1);
-        HttpProtocolParams.setContentCharset(params, 
+        HttpProtocolParams.setContentCharset(params,
                 HTTP.DEFAULT_CONTENT_CHARSET);
 
         /*
@@ -138,7 +148,7 @@
          * and results in "417 expectation failed" errors when a HTTP/1.0 server
          * is behind a proxy. http://b/2471595
          */
-        HttpProtocolParams.setUseExpectContinue(params, 
+        HttpProtocolParams.setUseExpectContinue(params,
                 false); // android-changed
 
         // determine the release version from packaged version info
@@ -146,13 +156,13 @@
             ("org.apache.http.client", getClass().getClassLoader());
         final String release = (vi != null) ?
             vi.getRelease() : VersionInfo.UNAVAILABLE;
-        HttpProtocolParams.setUserAgent(params, 
+        HttpProtocolParams.setUserAgent(params,
                 "Apache-HttpClient/" + release + " (java 1.4)");
 
         return params;
     }
 
-    
+
     @Override
     protected HttpRequestExecutor createRequestExecutor() {
         return new HttpRequestExecutor();
@@ -167,9 +177,9 @@
         registry.register(
                 new Scheme("https", SSLSocketFactory.getSocketFactory(), 443));
 
-        ClientConnectionManager connManager = null;     
+        ClientConnectionManager connManager = null;
         HttpParams params = getParams();
-        
+
         ClientConnectionManagerFactory factory = null;
 
         // Try first getting the factory directly as an object.
@@ -191,13 +201,13 @@
                 }
             }
         }
-        
+
         if(factory != null) {
             connManager = factory.newInstance(params, registry);
         } else {
-            connManager = new SingleClientConnManager(getParams(), registry); 
+            connManager = new SingleClientConnManager(getParams(), registry);
         }
-        
+
         return connManager;
     }
 
@@ -206,40 +216,40 @@
     protected HttpContext createHttpContext() {
         HttpContext context = new BasicHttpContext();
         context.setAttribute(
-                ClientContext.AUTHSCHEME_REGISTRY, 
+                ClientContext.AUTHSCHEME_REGISTRY,
                 getAuthSchemes());
         context.setAttribute(
-                ClientContext.COOKIESPEC_REGISTRY, 
+                ClientContext.COOKIESPEC_REGISTRY,
                 getCookieSpecs());
         context.setAttribute(
-                ClientContext.COOKIE_STORE, 
+                ClientContext.COOKIE_STORE,
                 getCookieStore());
         context.setAttribute(
-                ClientContext.CREDS_PROVIDER, 
+                ClientContext.CREDS_PROVIDER,
                 getCredentialsProvider());
         return context;
     }
 
-    
+
     @Override
     protected ConnectionReuseStrategy createConnectionReuseStrategy() {
         return new DefaultConnectionReuseStrategy();
     }
-    
+
     @Override
     protected ConnectionKeepAliveStrategy createConnectionKeepAliveStrategy() {
         return new DefaultConnectionKeepAliveStrategy();
     }
-    
+
 
     @Override
     protected AuthSchemeRegistry createAuthSchemeRegistry() {
-        AuthSchemeRegistry registry = new AuthSchemeRegistry(); 
+        AuthSchemeRegistry registry = new AuthSchemeRegistry();
         registry.register(
-                AuthPolicy.BASIC, 
+                AuthPolicy.BASIC,
                 new BasicSchemeFactory());
         registry.register(
-                AuthPolicy.DIGEST, 
+                AuthPolicy.DIGEST,
                 new DigestSchemeFactory());
         return registry;
     }
@@ -249,19 +259,19 @@
     protected CookieSpecRegistry createCookieSpecRegistry() {
         CookieSpecRegistry registry = new CookieSpecRegistry();
         registry.register(
-                CookiePolicy.BEST_MATCH, 
+                CookiePolicy.BEST_MATCH,
                 new BestMatchSpecFactory());
         registry.register(
-                CookiePolicy.BROWSER_COMPATIBILITY, 
+                CookiePolicy.BROWSER_COMPATIBILITY,
                 new BrowserCompatSpecFactory());
         registry.register(
-                CookiePolicy.NETSCAPE, 
+                CookiePolicy.NETSCAPE,
                 new NetscapeDraftSpecFactory());
         registry.register(
-                CookiePolicy.RFC_2109, 
+                CookiePolicy.RFC_2109,
                 new RFC2109SpecFactory());
         registry.register(
-                CookiePolicy.RFC_2965, 
+                CookiePolicy.RFC_2965,
                 new RFC2965SpecFactory());
         return registry;
     }
@@ -337,5 +347,5 @@
     protected UserTokenHandler createUserTokenHandler() {
         return new DefaultUserTokenHandler();
     }
-    
+
 } // class DefaultHttpClient