diff options
author | Konstantin Käfer <mail@kkaefer.com> | 2017-01-24 15:47:53 +0100 |
---|---|---|
committer | Konstantin Käfer <mail@kkaefer.com> | 2017-01-27 18:45:16 +0100 |
commit | 4d358260140c9d52103cc95631a8519b969bc408 (patch) | |
tree | daf17b610189a824eab34e4055b9bc0ebf585375 /platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/NativeMapView.java | |
parent | 14d5c336d72f3af54e3f72295e901591e219b5a9 (diff) | |
download | qtlocation-mapboxgl-4d358260140c9d52103cc95631a8519b969bc408.tar.gz |
[android] use native image encoding and decoding
Diffstat (limited to 'platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/NativeMapView.java')
-rwxr-xr-x | platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/NativeMapView.java | 40 |
1 files changed, 6 insertions, 34 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 654923ea96..c7defa7bc7 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 @@ -3,7 +3,6 @@ package com.mapbox.mapboxsdk.maps; import android.app.ActivityManager; import android.content.Context; import android.graphics.Bitmap; -import android.graphics.BitmapFactory; import android.graphics.PointF; import android.graphics.RectF; import android.os.Build; @@ -54,7 +53,7 @@ final class NativeMapView { private CopyOnWriteArrayList<MapView.OnMapChangedListener> onMapChangedListeners; // Listener invoked to return a bitmap of the map - private SnapshotRequest snapshotRequest; + private MapboxMap.SnapshotReadyCallback snapshotReadyCallback; // // Static methods @@ -935,18 +934,9 @@ final class NativeMapView { mapView.onFpsChanged(fps); } - protected void onSnapshotReady(byte[] bytes) { - if (snapshotRequest != null && bytes != null) { - BitmapFactory.Options options = new BitmapFactory.Options(); - options.inBitmap = snapshotRequest.getBitmap(); // the old Bitmap to be reused - options.inMutable = true; - options.inSampleSize = 1; - Bitmap bitmap = BitmapFactory.decodeByteArray(bytes, 0, bytes.length, options); - - MapboxMap.SnapshotReadyCallback callback = snapshotRequest.getCallback(); - if (callback != null) { - callback.onSnapshotReady(bitmap); - } + protected void onSnapshotReady(Bitmap bitmap) { + if (snapshotReadyCallback != null && bitmap != null) { + snapshotReadyCallback.onSnapshotReady(bitmap); } } @@ -1187,27 +1177,9 @@ final class NativeMapView { // Snapshot // - void addSnapshotCallback(@NonNull MapboxMap.SnapshotReadyCallback callback, @Nullable Bitmap bitmap) { - snapshotRequest = new SnapshotRequest(bitmap, callback); + void addSnapshotCallback(@NonNull MapboxMap.SnapshotReadyCallback callback) { + snapshotReadyCallback = callback; scheduleTakeSnapshot(); render(); } - - private static class SnapshotRequest { - private Bitmap bitmap; - private MapboxMap.SnapshotReadyCallback callback; - - SnapshotRequest(Bitmap bitmap, MapboxMap.SnapshotReadyCallback callback) { - this.bitmap = bitmap; - this.callback = callback; - } - - public Bitmap getBitmap() { - return bitmap; - } - - public MapboxMap.SnapshotReadyCallback getCallback() { - return callback; - } - } } |