summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTobrun <tobrun.van.nuland@gmail.com>2017-10-26 16:15:59 -0700
committerTobrun <tobrun.van.nuland@gmail.com>2017-10-26 16:15:59 -0700
commita2402aae8856af5ca340d81b4382890eb1951599 (patch)
tree59a4e3d0ee90f67b7a26eb8ff99c63534d2398ee
parentf082bffc90902faac6e7f89deee50843875656d7 (diff)
downloadqtlocation-mapboxgl-upstream/tvn-closable-strict-mode.tar.gz
-rw-r--r--platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/http/HTTPRequest.java58
1 files changed, 31 insertions, 27 deletions
diff --git a/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/http/HTTPRequest.java b/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/http/HTTPRequest.java
index e2626a026b..bb19195d1d 100644
--- a/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/http/HTTPRequest.java
+++ b/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/http/HTTPRequest.java
@@ -4,6 +4,7 @@ package com.mapbox.mapboxsdk.http;
import android.content.Context;
import android.content.pm.PackageInfo;
import android.os.Build;
+import android.support.annotation.NonNull;
import android.text.TextUtils;
import com.mapbox.mapboxsdk.BuildConfig;
@@ -26,6 +27,7 @@ import okhttp3.HttpUrl;
import okhttp3.OkHttpClient;
import okhttp3.Request;
import okhttp3.Response;
+import okhttp3.ResponseBody;
import okhttp3.internal.Util;
import timber.log.Timber;
@@ -108,38 +110,40 @@ class HTTPRequest implements Callback {
}
@Override
- public void onResponse(Call call, Response response) throws IOException {
- if (response.isSuccessful()) {
- Timber.v("[HTTP] Request was successful (code = %s).", response.code());
- } else {
- // We don't want to call this unsuccessful because a 304 isn't really an error
- String message = !TextUtils.isEmpty(response.message()) ? response.message() : "No additional information";
- Timber.d("[HTTP] Request with response code = %s: %s", response.code(), message);
- }
-
- byte[] body;
+ public void onResponse(@NonNull Call call, @NonNull Response response) throws IOException {
+ ResponseBody responseBody = null;
try {
- body = response.body().bytes();
+ if (response.isSuccessful()) {
+ Timber.v("[HTTP] Request was successful (code = %s).", response.code());
+ } else {
+ // We don't want to call this unsuccessful because a 304 isn't really an error
+ String message = !TextUtils.isEmpty(response.message()) ? response.message() : "No additional information";
+ Timber.d("[HTTP] Request with response code = %s: %s", response.code(), message);
+ }
+
+ responseBody = response.body();
+ if (responseBody != null) {
+ mLock.lock();
+ if (mNativePtr != 0) {
+ nativeOnResponse(response.code(),
+ response.header("ETag"),
+ response.header("Last-Modified"),
+ response.header("Cache-Control"),
+ response.header("Expires"),
+ response.header("Retry-After"),
+ response.header("x-rate-limit-reset"),
+ responseBody.bytes());
+ }
+ mLock.unlock();
+ }
} catch (IOException ioException) {
onFailure(ioException);
- // throw ioException;
- return;
} finally {
- response.body().close();
- }
-
- mLock.lock();
- if (mNativePtr != 0) {
- nativeOnResponse(response.code(),
- response.header("ETag"),
- response.header("Last-Modified"),
- response.header("Cache-Control"),
- response.header("Expires"),
- response.header("Retry-After"),
- response.header("x-rate-limit-reset"),
- body);
+ if (responseBody != null) {
+ responseBody.close();
+ }
+ response.close();
}
- mLock.unlock();
}
@Override