From 52a69044e8a5dfc1df518673e83909b184040615 Mon Sep 17 00:00:00 2001 From: tobrun Date: Fri, 17 May 2019 17:30:01 +0200 Subject: [PATCH] [android] - wrap jni callback with try-catch --- .../mapbox/mapboxsdk/maps/NativeMapView.java | 20 ++++++++++++------- 1 file changed, 13 insertions(+), 7 deletions(-) diff --git a/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/NativeMapView.java b/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/NativeMapView.java index 328b5f6bc..1236d932e 100755 --- a/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/NativeMapView.java +++ b/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/NativeMapView.java @@ -1055,15 +1055,21 @@ final class NativeMapView implements NativeMap { if (checkState("OnSnapshotReady")) { return; } - if (snapshotReadyCallback != null && mapContent != null) { - if (viewCallback == null) { - snapshotReadyCallback.onSnapshotReady(mapContent); - } else { - Bitmap viewContent = viewCallback.getViewContent(); - if (viewContent != null) { - snapshotReadyCallback.onSnapshotReady(BitmapUtils.mergeBitmap(mapContent, viewContent)); + + try { + if (snapshotReadyCallback != null && mapContent != null) { + if (viewCallback == null) { + snapshotReadyCallback.onSnapshotReady(mapContent); + } else { + Bitmap viewContent = viewCallback.getViewContent(); + if (viewContent != null) { + snapshotReadyCallback.onSnapshotReady(BitmapUtils.mergeBitmap(mapContent, viewContent)); + } } } + } catch (Throwable err) { + Logger.e(TAG, "Exception in onSnapshotReady", err); + throw err; } }