diff options
author | Guardiola31337 <pablo.guardiola@mapbox.com> | 2017-09-27 12:56:01 +0200 |
---|---|---|
committer | Guardiola31337 <pablo.guardiola@mapbox.com> | 2017-09-27 12:56:01 +0200 |
commit | a51be12ec11a8cb36a34061fd1a84533f2fd907c (patch) | |
tree | 75a41c12dd6fe934365ce8c0113781aa6605aedb /platform | |
parent | cd5ed1ad1cc3b118338c7b8bf7770354a5577bdb (diff) | |
download | qtlocation-mapboxgl-upstream/pg-snapshot-wrapper.tar.gz |
[WIP] fix PR commentsupstream/pg-snapshot-wrapper
Diffstat (limited to 'platform')
6 files changed, 26 insertions, 19 deletions
diff --git a/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/MapboxMap.java b/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/MapboxMap.java index d46df05c93..6c1c5b23d1 100644 --- a/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/MapboxMap.java +++ b/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/MapboxMap.java @@ -2462,6 +2462,19 @@ public final class MapboxMap { * * @param snapshot the snapshot bitmap */ + void onSnapshotReady(Bitmap snapshot); + } + + /** + * Interface definition for a callback to be invoked when the snapshot from + * {@link com.mapbox.mapboxsdk.snapshotter.MapSnapshotter} has been taken. + */ + public interface MapSnapshotReadyCallback { + /** + * Invoked when the snapshot from {@link com.mapbox.mapboxsdk.snapshotter.MapSnapshotter} has been taken. + * + * @param snapshot the snapshot wrapper + */ void onSnapshotReady(Snapshot snapshot); } 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 708f7590e8..81654c5223 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 @@ -20,7 +20,6 @@ import com.mapbox.mapboxsdk.geometry.LatLng; import com.mapbox.mapboxsdk.geometry.LatLngBounds; import com.mapbox.mapboxsdk.geometry.ProjectedMeters; import com.mapbox.mapboxsdk.maps.renderer.MapRenderer; -import com.mapbox.mapboxsdk.snapshotter.Snapshot; import com.mapbox.mapboxsdk.storage.FileSource; import com.mapbox.mapboxsdk.style.layers.CannotAddLayerException; import com.mapbox.mapboxsdk.style.layers.Filter; @@ -833,11 +832,10 @@ final class NativeMapView { return; } - Bitmap viewContentBitmap = BitmapUtils.createBitmapFromView(mapView); - if (snapshotReadyCallback != null && mapContent != null && viewContentBitmap != null) { - Bitmap mergedBitmap = BitmapUtils.mergeBitmap(mapContent, viewContentBitmap); - Snapshot snapshot = new Snapshot(mergedBitmap); - snapshotReadyCallback.onSnapshotReady(snapshot); + Bitmap viewContent = BitmapUtils.createBitmapFromView(mapView); + if (snapshotReadyCallback != null && mapContent != null && viewContent != null) { + Bitmap mergedBitmap = BitmapUtils.mergeBitmap(mapContent, viewContent); + snapshotReadyCallback.onSnapshotReady(mergedBitmap); } } diff --git a/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/snapshotter/MapSnapshotter.java b/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/snapshotter/MapSnapshotter.java index 4e7e70e331..8b73ee25b1 100644 --- a/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/snapshotter/MapSnapshotter.java +++ b/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/snapshotter/MapSnapshotter.java @@ -27,7 +27,7 @@ public class MapSnapshotter { * Can be used to get notified of errors * in snapshot generation * - * @see MapSnapshotter#start(MapboxMap.SnapshotReadyCallback, ErrorHandler) + * @see MapSnapshotter#start(MapboxMap.MapSnapshotReadyCallback, ErrorHandler) */ public interface ErrorHandler { @@ -46,7 +46,7 @@ public class MapSnapshotter { private long nativePtr = 0; private final Context context; - private MapboxMap.SnapshotReadyCallback callback; + private MapboxMap.MapSnapshotReadyCallback callback; private ErrorHandler errorHandler; /** @@ -176,7 +176,7 @@ public class MapSnapshotter { * * @param callback the callback to use when the snapshot is ready */ - public void start(@NonNull MapboxMap.SnapshotReadyCallback callback) { + public void start(@NonNull MapboxMap.MapSnapshotReadyCallback callback) { this.start(callback, null); } @@ -187,7 +187,7 @@ public class MapSnapshotter { * @param callback the callback to use when the snapshot is ready * @param errorHandler the error handler to use on snapshot errors */ - public void start(@NonNull MapboxMap.SnapshotReadyCallback callback, ErrorHandler errorHandler) { + public void start(@NonNull MapboxMap.MapSnapshotReadyCallback callback, ErrorHandler errorHandler) { if (this.callback != null) { throw new IllegalStateException("Snapshotter was already started"); } diff --git a/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/imagegenerator/PrintActivity.java b/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/imagegenerator/PrintActivity.java index f30ff5fdc0..18d80586c9 100644 --- a/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/imagegenerator/PrintActivity.java +++ b/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/imagegenerator/PrintActivity.java @@ -10,7 +10,6 @@ import android.view.View; import com.mapbox.mapboxsdk.maps.MapView; import com.mapbox.mapboxsdk.maps.MapboxMap; import com.mapbox.mapboxsdk.maps.OnMapReadyCallback; -import com.mapbox.mapboxsdk.snapshotter.Snapshot; import com.mapbox.mapboxsdk.testapp.R; /** @@ -49,11 +48,10 @@ public class PrintActivity extends AppCompatActivity implements MapboxMap.Snapsh } @Override - public void onSnapshotReady(Snapshot snapshot) { + public void onSnapshotReady(Bitmap snapshot) { PrintHelper photoPrinter = new PrintHelper(this); photoPrinter.setScaleMode(PrintHelper.SCALE_MODE_FIT); - Bitmap bitmap = snapshot.getBitmap(); - photoPrinter.printBitmap("map.jpg - mapbox print job", bitmap); + photoPrinter.printBitmap("map.jpg - mapbox print job", snapshot); } @Override diff --git a/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/imagegenerator/SnapshotActivity.java b/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/imagegenerator/SnapshotActivity.java index d1112afadd..655012f799 100644 --- a/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/imagegenerator/SnapshotActivity.java +++ b/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/imagegenerator/SnapshotActivity.java @@ -13,7 +13,6 @@ import com.mapbox.mapboxsdk.constants.Style; import com.mapbox.mapboxsdk.maps.MapView; import com.mapbox.mapboxsdk.maps.MapboxMap; import com.mapbox.mapboxsdk.maps.OnMapReadyCallback; -import com.mapbox.mapboxsdk.snapshotter.Snapshot; import com.mapbox.mapboxsdk.testapp.R; import java.util.Locale; @@ -52,12 +51,11 @@ public class SnapshotActivity extends AppCompatActivity implements OnMapReadyCal final long startTime = System.nanoTime(); mapboxMap.snapshot(new MapboxMap.SnapshotReadyCallback() { @Override - public void onSnapshotReady(Snapshot snapshot) { + public void onSnapshotReady(Bitmap snapshot) { long endTime = System.nanoTime(); long duration = (long) ((endTime - startTime) / 1e6); ImageView snapshotView = (ImageView) findViewById(R.id.imageView); - Bitmap bitmap = snapshot.getBitmap(); - snapshotView.setImageBitmap(bitmap); + snapshotView.setImageBitmap(snapshot); Toast.makeText( SnapshotActivity.this, String.format(Locale.getDefault(), "Snapshot taken in %d ms", duration), diff --git a/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/snapshot/MapSnapshotterActivity.java b/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/snapshot/MapSnapshotterActivity.java index d0d2feffdc..93e8eab5f0 100644 --- a/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/snapshot/MapSnapshotterActivity.java +++ b/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/snapshot/MapSnapshotterActivity.java @@ -97,7 +97,7 @@ public class MapSnapshotterActivity extends AppCompatActivity { MapSnapshotter snapshotter = new MapSnapshotter(MapSnapshotterActivity.this, options); - snapshotter.start(new MapboxMap.SnapshotReadyCallback() { + snapshotter.start(new MapboxMap.MapSnapshotReadyCallback() { @Override public void onSnapshotReady(Snapshot snapshot) { Timber.i("Got the snapshot"); |