diff options
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.java | 22 |
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); } |