[android] - make snapshot logo optional

This commit is contained in:
Tobrun
2017-10-27 15:57:35 -07:00
committed by Tobrun
parent e5243b7691
commit cb7f6dfaec
6 changed files with 36 additions and 8 deletions

View File

@@ -15,14 +15,16 @@ public class MapSnapshot {
private long nativePtr = 0;
private Bitmap bitmap;
private String[] attributions;
private boolean showLogo;
/**
* Created from native side
*/
private MapSnapshot(long nativePtr, Bitmap bitmap, String[] attributions) {
private MapSnapshot(long nativePtr, Bitmap bitmap, String[] attributions, boolean showLogo) {
this.nativePtr = nativePtr;
this.bitmap = bitmap;
this.attributions = attributions;
this.showLogo = showLogo;
}
/**
@@ -47,6 +49,13 @@ public class MapSnapshot {
return attributions;
}
/**
* @return Flag indicating to show the Mapbox logo.
*/
boolean isShowLogo() {
return showLogo;
}
// Unused, needed for peer binding
private native void initialize();

View File

@@ -74,6 +74,7 @@ public class MapSnapshotter {
private String styleUrl = Style.MAPBOX_STREETS;
private LatLngBounds region;
private CameraPosition cameraPosition;
private boolean showLogo = true;
/**
* @param width the width of the image
@@ -123,6 +124,15 @@ public class MapSnapshotter {
return this;
}
/**
* @param showLogo The flag indicating to show the Mapbox logo.
* @return the mutated {@link Options}
*/
public Options withLogo(boolean showLogo) {
this.showLogo = showLogo;
return this;
}
/**
* @return the width of the image
*/
@@ -182,7 +192,7 @@ public class MapSnapshotter {
nativeInitialize(this, fileSource, options.pixelRatio, options.width,
options.height, options.styleUrl, options.region, options.cameraPosition,
programCacheDir);
options.showLogo, programCacheDir);
}
/**
@@ -266,7 +276,9 @@ public class MapSnapshotter {
*/
protected void onSnapshotReady(MapSnapshot snapshot) {
if (callback != null) {
addOverlay(snapshot.getBitmap());
if (snapshot.isShowLogo()) {
addOverlay(snapshot.getBitmap());
}
callback.onSnapshotReady(snapshot);
reset();
}
@@ -294,7 +306,7 @@ public class MapSnapshotter {
FileSource fileSource, float pixelRatio,
int width, int height, String styleUrl,
LatLngBounds region, CameraPosition position,
String programCacheDir);
boolean showLogo, String programCacheDir);
protected native void nativeStart();