DefaultRequestDirector should ignore IOExceptions from stale connections

The DefaultRequestDirector was letting IOExceptions from closing stale
connections affect new requests. However, it was very common to
received "SSL shutdown failed" exceptions in this case, since an SSL
"close notify" message could not be sent. Now these and other
IOExceptions are ignored so the request can continue with a new
socket.

Bug: 3317717
Change-Id: I72f6f4a8f70aacb8b4c3e93c51e9808742d1a605
diff --git a/src/org/apache/http/impl/client/DefaultRequestDirector.java b/src/org/apache/http/impl/client/DefaultRequestDirector.java
index 6df6246..b8f380b 100644
--- a/src/org/apache/http/impl/client/DefaultRequestDirector.java
+++ b/src/org/apache/http/impl/client/DefaultRequestDirector.java
@@ -334,7 +334,18 @@
                         this.log.debug("Stale connection check");
                         if (managedConn.isStale()) {
                             this.log.debug("Stale connection detected");
-                            managedConn.close();
+                            // BEGIN android-changed
+                            try {
+                                managedConn.close();
+                            } catch (IOException ignored) {
+                                // SSLSocket's will throw IOException
+                                // because they can't send a "close
+                                // notify" protocol message to the
+                                // server. Just supresss any
+                                // exceptions related to closing the
+                                // stale connection.
+                            }
+                            // END android-changed
                         }
                     }
                 }