summaryrefslogtreecommitdiff
path: root/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/snapshotter/MapSnapshotter.java
diff options
context:
space:
mode:
Diffstat (limited to 'platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/snapshotter/MapSnapshotter.java')
-rw-r--r--platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/snapshotter/MapSnapshotter.java33
1 files changed, 24 insertions, 9 deletions
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 fac6a75742..a4f1f2e751 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
@@ -78,7 +78,9 @@ public class MapSnapshotter {
private long nativePtr = 0;
private final Context context;
+ @Nullable
private SnapshotReadyCallback callback;
+ @Nullable
private ErrorHandler errorHandler;
/**
@@ -110,6 +112,7 @@ public class MapSnapshotter {
* @param url The style URL to use
* @return the mutated {@link Options}
*/
+ @NonNull
public Options withStyle(String url) {
this.styleUrl = url;
return this;
@@ -119,6 +122,7 @@ public class MapSnapshotter {
* @param styleJson The style json to use
* @return the mutated {@link Options}
*/
+ @NonNull
public Options withStyleJson(String styleJson) {
this.styleJson = styleJson;
return this;
@@ -129,6 +133,7 @@ public class MapSnapshotter {
* This is applied after the camera position
* @return the mutated {@link Options}
*/
+ @NonNull
public Options withRegion(LatLngBounds region) {
this.region = region;
return this;
@@ -138,6 +143,7 @@ public class MapSnapshotter {
* @param pixelRatio the pixel ratio to use (default: 1)
* @return the mutated {@link Options}
*/
+ @NonNull
public Options withPixelRatio(float pixelRatio) {
this.pixelRatio = pixelRatio;
return this;
@@ -149,6 +155,7 @@ public class MapSnapshotter {
* by region if set in conjunction.
* @return the mutated {@link Options}
*/
+ @NonNull
public Options withCameraPosition(CameraPosition cameraPosition) {
this.cameraPosition = cameraPosition;
return this;
@@ -158,6 +165,7 @@ public class MapSnapshotter {
* @param showLogo The flag indicating to show the Mapbox logo.
* @return the mutated {@link Options}
*/
+ @NonNull
public Options withLogo(boolean showLogo) {
this.showLogo = showLogo;
return this;
@@ -309,21 +317,24 @@ public class MapSnapshotter {
*
* @param mapSnapshot the map snapshot to draw the overlay on
*/
- protected void addOverlay(MapSnapshot mapSnapshot) {
+ protected void addOverlay(@NonNull MapSnapshot mapSnapshot) {
Bitmap snapshot = mapSnapshot.getBitmap();
Canvas canvas = new Canvas(snapshot);
int margin = (int) context.getResources().getDisplayMetrics().density * LOGO_MARGIN_DP;
drawOverlay(mapSnapshot, snapshot, canvas, margin);
}
- private void drawOverlay(MapSnapshot mapSnapshot, Bitmap snapshot, Canvas canvas, int margin) {
+ private void drawOverlay(@NonNull MapSnapshot mapSnapshot, @NonNull Bitmap snapshot,
+ @NonNull Canvas canvas, int margin) {
AttributionMeasure measure = getAttributionMeasure(mapSnapshot, snapshot, margin);
AttributionLayout layout = measure.measure();
drawLogo(mapSnapshot, canvas, margin, layout);
drawAttribution(mapSnapshot, canvas, measure, layout);
}
- private AttributionMeasure getAttributionMeasure(MapSnapshot mapSnapshot, Bitmap snapshot, int margin) {
+ @NonNull
+ private AttributionMeasure getAttributionMeasure(@NonNull MapSnapshot mapSnapshot,
+ @NonNull Bitmap snapshot, int margin) {
Logo logo = createScaledLogo(snapshot);
TextView longText = createTextView(mapSnapshot, false, logo.getScale());
TextView shortText = createTextView(mapSnapshot, true, logo.getScale());
@@ -338,21 +349,23 @@ public class MapSnapshotter {
.build();
}
- private void drawLogo(MapSnapshot mapSnapshot, Canvas canvas, int margin, AttributionLayout layout) {
+ private void drawLogo(MapSnapshot mapSnapshot, @NonNull Canvas canvas,
+ int margin, @NonNull AttributionLayout layout) {
if (mapSnapshot.isShowLogo()) {
drawLogo(mapSnapshot.getBitmap(), canvas, margin, layout);
}
}
- private void drawLogo(Bitmap snapshot, Canvas canvas, int margin, AttributionLayout placement) {
+ private void drawLogo(@NonNull Bitmap snapshot, @NonNull Canvas canvas,
+ int margin, AttributionLayout placement) {
Bitmap selectedLogo = placement.getLogo();
if (selectedLogo != null) {
canvas.drawBitmap(selectedLogo, margin, snapshot.getHeight() - selectedLogo.getHeight() - margin, null);
}
}
- private void drawAttribution(MapSnapshot mapSnapshot, Canvas canvas,
- AttributionMeasure measure, AttributionLayout layout) {
+ private void drawAttribution(@NonNull MapSnapshot mapSnapshot, @NonNull Canvas canvas,
+ @NonNull AttributionMeasure measure, AttributionLayout layout) {
// draw attribution
PointF anchorPoint = layout.getAnchorPoint();
if (anchorPoint != null) {
@@ -373,7 +386,8 @@ public class MapSnapshotter {
canvas.restore();
}
- private TextView createTextView(MapSnapshot mapSnapshot, boolean shortText, float scale) {
+ @NonNull
+ private TextView createTextView(@NonNull MapSnapshot mapSnapshot, boolean shortText, float scale) {
int textColor = ResourcesCompat.getColor(context.getResources(), R.color.mapbox_gray_dark, context.getTheme());
int widthMeasureSpec = View.MeasureSpec.makeMeasureSpec(0, View.MeasureSpec.UNSPECIFIED);
int heightMeasureSpec = View.MeasureSpec.makeMeasureSpec(0, View.MeasureSpec.UNSPECIFIED);
@@ -399,6 +413,7 @@ public class MapSnapshotter {
* @param shortText indicates if the short variant of the string should be parsed
* @return the parsed attribution string
*/
+ @NonNull
private String createAttributionString(MapSnapshot mapSnapshot, boolean shortText) {
AttributionParser attributionParser = new AttributionParser.Options()
.withAttributionData(mapSnapshot.getAttributions())
@@ -457,7 +472,7 @@ public class MapSnapshotter {
* @param snapshot the generated snapshot
*/
@Keep
- protected void onSnapshotReady(final MapSnapshot snapshot) {
+ protected void onSnapshotReady(@NonNull final MapSnapshot snapshot) {
new Handler().post(new Runnable() {
@Override
public void run() {