summaryrefslogtreecommitdiff
path: root/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/http/LocalRequestTask.java
diff options
context:
space:
mode:
Diffstat (limited to 'platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/http/LocalRequestTask.java')
-rw-r--r--platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/http/LocalRequestTask.java22
1 files changed, 18 insertions, 4 deletions
diff --git a/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/http/LocalRequestTask.java b/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/http/LocalRequestTask.java
index 7884033de7..1c2ed01945 100644
--- a/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/http/LocalRequestTask.java
+++ b/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/http/LocalRequestTask.java
@@ -39,18 +39,32 @@ class LocalRequestTask extends AsyncTask<String, Void, byte[]> {
private static byte[] loadFile(AssetManager assets, String path) {
byte[] buffer = null;
- try (InputStream input = assets.open(path)) {
+ InputStream input = null;
+ try {
+ input = assets.open(path);
int size = input.available();
buffer = new byte[size];
input.read(buffer);
} catch (IOException exception) {
- String message = "Load file failed";
- Logger.e(TAG, message, exception);
- MapStrictMode.strictModeViolation(message, exception);
+ logFileError(exception);
+ } finally {
+ if (input != null) {
+ try {
+ input.close();
+ } catch (IOException exception) {
+ logFileError(exception);
+ }
+ }
}
return buffer;
}
+ private static void logFileError(Exception exception) {
+ String message = "Load file failed";
+ Logger.e(TAG, message, exception);
+ MapStrictMode.strictModeViolation(message, exception);
+ }
+
public interface OnLocalRequestResponse {
void onResponse(byte[] bytes);
}