Merge cherrypicks of [2419615, 2419671, 2419656, 2419633, 2419709, 2419634, 2419635, 2419617, 2419618, 2419619, 2419658, 2419697, 2419659, 2419673, 2419726, 2419747, 2419596, 2419748, 2419597, 2419636, 2419711, 2419749, 2419660, 2419713, 2419714, 2419727, 2419674, 2419782, 2419752, 2419731, 2419732, 2419677, 2419717, 2419734, 2419784] into nyc-mr2-security-c-release

Change-Id: Ia85af8ec1aec0294e704e520a8e6b0be7f845228
diff --git a/media/java/android/media/MediaHTTPConnection.java b/media/java/android/media/MediaHTTPConnection.java
index d6bf421..dda5ce6 100644
--- a/media/java/android/media/MediaHTTPConnection.java
+++ b/media/java/android/media/MediaHTTPConnection.java
@@ -135,7 +135,13 @@
 
     private void teardownConnection() {
         if (mConnection != null) {
-            mInputStream = null;
+            if (mInputStream != null) {
+                try {
+                    mInputStream.close();
+                } catch (IOException e) {
+                }
+                mInputStream = null;
+            }
 
             mConnection.disconnect();
             mConnection = null;
@@ -297,8 +303,7 @@
             mCurrentOffset = offset;
         } catch (IOException e) {
             mTotalSize = -1;
-            mInputStream = null;
-            mConnection = null;
+            teardownConnection();
             mCurrentOffset = -1;
 
             throw e;