From 0ab80ee4d2284065ef89753d4cdc09885177a76b Mon Sep 17 00:00:00 2001 From: "David A. Velasco" Date: Thu, 26 Nov 2015 14:00:52 +0100 Subject: [PATCH] Fixed stalled connections when a thumbnail that cannot be generated by the server is requested several times --- src/com/owncloud/android/datamodel/ThumbnailsCacheManager.java | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/src/com/owncloud/android/datamodel/ThumbnailsCacheManager.java b/src/com/owncloud/android/datamodel/ThumbnailsCacheManager.java index f0ecf767..4ad73173 100644 --- a/src/com/owncloud/android/datamodel/ThumbnailsCacheManager.java +++ b/src/com/owncloud/android/datamodel/ThumbnailsCacheManager.java @@ -278,12 +278,13 @@ public class ThumbnailsCacheManager { OwnCloudVersion serverOCVersion = AccountUtils.getServerVersion(mAccount); if (mClient != null && serverOCVersion != null) { if (serverOCVersion.supportsRemoteThumbnails()) { + GetMethod get = null; try { String uri = mClient.getBaseUri() + "" + "/index.php/apps/files/api/v1/thumbnail/" + px + "/" + px + Uri.encode(file.getRemotePath(), "/"); Log_OC.d("Thumbnail", "URI: " + uri); - GetMethod get = new GetMethod(uri); + get = new GetMethod(uri); int status = mClient.executeMethod(get); if (status == HttpStatus.SC_OK) { InputStream inputStream = get.getResponseBodyAsStream(); @@ -299,9 +300,15 @@ public class ThumbnailsCacheManager { if (thumbnail != null) { addBitmapToCache(imageKey, thumbnail); } + } else { + mClient.exhaustResponse(get.getResponseBodyAsStream()); } } catch (Exception e) { e.printStackTrace(); + } finally { + if (get != null) { + get.releaseConnection(); + } } } else { Log_OC.d(TAG, "Server too old"); -- 2.11.0