diff options
author | Tobrun <tobrun.van.nuland@gmail.com> | 2018-10-10 10:36:46 +0200 |
---|---|---|
committer | Tobrun <tobrun@mapbox.com> | 2018-10-12 18:40:29 +0200 |
commit | 617742710852a5a958a13f2b659f8c307973e49d (patch) | |
tree | 5dbda0cc3bc6c0eb22eac350fcd954ab7606ea21 /platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/attribution | |
parent | a436fd233f325ddca571e3c61641588e8166a6b4 (diff) | |
download | qtlocation-mapboxgl-617742710852a5a958a13f2b659f8c307973e49d.tar.gz |
[android] - infer nullity
Diffstat (limited to 'platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/attribution')
4 files changed, 53 insertions, 13 deletions
diff --git a/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/attribution/Attribution.java b/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/attribution/Attribution.java index 0877b3ab97..561ce5bf1a 100644 --- a/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/attribution/Attribution.java +++ b/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/attribution/Attribution.java @@ -1,5 +1,7 @@ package com.mapbox.mapboxsdk.attribution; +import android.support.annotation.Nullable; + public class Attribution { private static final String OPENSTREETMAP = "OpenStreetMap"; @@ -34,7 +36,7 @@ public class Attribution { } @Override - public boolean equals(Object o) { + public boolean equals(@Nullable Object o) { if (this == o) { return true; } diff --git a/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/attribution/AttributionLayout.java b/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/attribution/AttributionLayout.java index b08a8353be..25d5de7ea6 100644 --- a/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/attribution/AttributionLayout.java +++ b/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/attribution/AttributionLayout.java @@ -2,11 +2,14 @@ package com.mapbox.mapboxsdk.attribution; import android.graphics.Bitmap; import android.graphics.PointF; +import android.support.annotation.NonNull; import android.support.annotation.Nullable; public class AttributionLayout { + @Nullable private Bitmap logo; + @Nullable private PointF anchorPoint; private boolean shortText; @@ -16,10 +19,12 @@ public class AttributionLayout { this.shortText = shortText; } + @Nullable public Bitmap getLogo() { return logo; } + @Nullable public PointF getAnchorPoint() { return anchorPoint; } @@ -29,7 +34,7 @@ public class AttributionLayout { } @Override - public boolean equals(Object o) { + public boolean equals(@Nullable Object o) { if (this == o) { return true; } @@ -52,6 +57,7 @@ public class AttributionLayout { return result; } + @NonNull @Override public String toString() { return "AttributionLayout{" diff --git a/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/attribution/AttributionMeasure.java b/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/attribution/AttributionMeasure.java index c2408ca718..b40a7be24c 100644 --- a/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/attribution/AttributionMeasure.java +++ b/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/attribution/AttributionMeasure.java @@ -2,6 +2,8 @@ package com.mapbox.mapboxsdk.attribution; import android.graphics.Bitmap; import android.graphics.PointF; +import android.support.annotation.NonNull; +import android.support.annotation.Nullable; import android.widget.TextView; import java.util.Arrays; @@ -27,6 +29,7 @@ public class AttributionMeasure { this.margin = margin; } + @Nullable public AttributionLayout measure() { Chain chain = new Chain( new FullLogoLongTextCommand(), @@ -45,7 +48,8 @@ public class AttributionMeasure { private static class FullLogoLongTextCommand implements Command { - public AttributionLayout execute(AttributionMeasure measure) { + @Nullable + public AttributionLayout execute(@NonNull AttributionMeasure measure) { float width = measure.getLogoContainerWidth() + measure.getTextViewContainerWidth(); boolean fitBounds = width <= measure.getMaxSize(); if (fitBounds) { @@ -57,8 +61,9 @@ public class AttributionMeasure { } private static class FullLogoShortTextCommand implements Command { + @Nullable @Override - public AttributionLayout execute(AttributionMeasure measure) { + public AttributionLayout execute(@NonNull AttributionMeasure measure) { float width = measure.getLogoContainerWidth() + measure.getTextViewShortContainerWidth(); boolean fitBounds = width <= measure.getMaxSizeShort(); if (fitBounds) { @@ -70,8 +75,9 @@ public class AttributionMeasure { } private static class SmallLogoLongTextCommand implements Command { + @Nullable @Override - public AttributionLayout execute(AttributionMeasure measure) { + public AttributionLayout execute(@NonNull AttributionMeasure measure) { float width = measure.getLogoSmallContainerWidth() + measure.getTextViewContainerWidth(); boolean fitBounds = width <= measure.getMaxSize(); if (fitBounds) { @@ -83,8 +89,9 @@ public class AttributionMeasure { } private static class SmallLogoShortTextCommand implements Command { + @Nullable @Override - public AttributionLayout execute(AttributionMeasure measure) { + public AttributionLayout execute(@NonNull AttributionMeasure measure) { float width = measure.getLogoContainerWidth() + measure.getTextViewShortContainerWidth(); boolean fitBounds = width <= measure.getMaxSizeShort(); if (fitBounds) { @@ -96,8 +103,9 @@ public class AttributionMeasure { } private static class LongTextCommand implements Command { + @Nullable @Override - public AttributionLayout execute(AttributionMeasure measure) { + public AttributionLayout execute(@NonNull AttributionMeasure measure) { float width = measure.getTextViewContainerWidth() + measure.margin; boolean fitBounds = width <= measure.getMaxSize(); if (fitBounds) { @@ -108,8 +116,9 @@ public class AttributionMeasure { } private static class ShortTextCommand implements Command { + @Nullable @Override - public AttributionLayout execute(AttributionMeasure measure) { + public AttributionLayout execute(@NonNull AttributionMeasure measure) { float width = measure.getTextViewShortContainerWidth() + measure.margin; boolean fitBounds = width <= measure.getMaxSizeShort(); if (fitBounds) { @@ -121,6 +130,7 @@ public class AttributionMeasure { } private static class NoTextCommand implements Command { + @NonNull @Override public AttributionLayout execute(AttributionMeasure measure) { return new AttributionLayout(null, null, false); @@ -145,6 +155,7 @@ public class AttributionMeasure { this.commands = Arrays.asList(commands); } + @Nullable public AttributionLayout start(AttributionMeasure measure) { AttributionLayout attributionLayout = null; for (Command command : commands) { @@ -158,6 +169,7 @@ public class AttributionMeasure { } public interface Command { + @Nullable AttributionLayout execute(AttributionMeasure measure); } @@ -193,36 +205,43 @@ public class AttributionMeasure { private TextView textViewShort; private float marginPadding; + @NonNull public Builder setSnapshot(Bitmap snapshot) { this.snapshot = snapshot; return this; } + @NonNull public Builder setLogo(Bitmap logo) { this.logo = logo; return this; } + @NonNull public Builder setLogoSmall(Bitmap logoSmall) { this.logoSmall = logoSmall; return this; } + @NonNull public Builder setTextView(TextView textView) { this.textView = textView; return this; } + @NonNull public Builder setTextViewShort(TextView textViewShort) { this.textViewShort = textViewShort; return this; } + @NonNull public Builder setMarginPadding(float marginPadding) { this.marginPadding = marginPadding; return this; } + @NonNull public AttributionMeasure build() { return new AttributionMeasure(snapshot, logo, logoSmall, textView, textViewShort, marginPadding); } diff --git a/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/attribution/AttributionParser.java b/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/attribution/AttributionParser.java index ccba0f9300..db45f8b569 100644 --- a/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/attribution/AttributionParser.java +++ b/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/attribution/AttributionParser.java @@ -1,6 +1,7 @@ package com.mapbox.mapboxsdk.attribution; import android.content.Context; +import android.support.annotation.NonNull; import android.text.Html; import android.text.SpannableStringBuilder; import android.text.Spanned; @@ -44,6 +45,7 @@ public class AttributionParser { * * @return the attributions */ + @NonNull public Set<Attribution> getAttributions() { return attributions; } @@ -53,6 +55,7 @@ public class AttributionParser { * * @return the parsed attribution string */ + @NonNull public String createAttributionString() { return createAttributionString(false); } @@ -63,6 +66,7 @@ public class AttributionParser { * @param shortenedOutput if attribution string should contain shortened output * @return the parsed attribution string */ + @NonNull public String createAttributionString(boolean shortenedOutput) { StringBuilder stringBuilder = new StringBuilder(withCopyrightSign ? "" : "© "); int counter = 0; @@ -101,7 +105,7 @@ public class AttributionParser { * @param htmlBuilder the html builder * @param urlSpan the url span to be parsed */ - private void parseUrlSpan(SpannableStringBuilder htmlBuilder, URLSpan urlSpan) { + private void parseUrlSpan(@NonNull SpannableStringBuilder htmlBuilder, URLSpan urlSpan) { String url = urlSpan.getURL(); if (isUrlValid(url)) { String anchor = parseAnchorValue(htmlBuilder, urlSpan); @@ -118,7 +122,7 @@ public class AttributionParser { * @param url the url to be validated * @return if the url is valid */ - private boolean isUrlValid(String url) { + private boolean isUrlValid(@NonNull String url) { return isValidForImproveThisMap(url) && isValidForMapbox(url); } @@ -152,7 +156,7 @@ public class AttributionParser { * @param url the url to be validated * @return if the url is valid for improve this map */ - private boolean isValidForImproveThisMap(String url) { + private boolean isValidForImproveThisMap(@NonNull String url) { return withImproveMap || !url.equals(Attribution.IMPROVE_MAP_URL); } @@ -162,7 +166,7 @@ public class AttributionParser { * @param url the url to be validated * @return if the url is valid for Mapbox */ - private boolean isValidForMapbox(String url) { + private boolean isValidForMapbox(@NonNull String url) { return withMapboxAttribution || !url.equals(Attribution.MAPBOX_URL); } @@ -173,6 +177,7 @@ public class AttributionParser { * @param urlSpan the current urlSpan * @return the parsed anchor value */ + @NonNull private String parseAnchorValue(SpannableStringBuilder htmlBuilder, URLSpan urlSpan) { int start = htmlBuilder.getSpanStart(urlSpan); int end = htmlBuilder.getSpanEnd(urlSpan); @@ -188,7 +193,8 @@ public class AttributionParser { * @param anchor the attribution string to strip * @return the stripped attribution string without the copyright sign */ - private String stripCopyright(String anchor) { + @NonNull + private String stripCopyright(@NonNull String anchor) { if (!withCopyrightSign && anchor.startsWith("© ")) { anchor = anchor.substring(2, anchor.length()); } @@ -242,36 +248,43 @@ public class AttributionParser { private boolean withMapboxAttribution = true; private String[] attributionDataStringArray; + @NonNull public Options withAttributionData(String... attributionData) { this.attributionDataStringArray = attributionData; return this; } + @NonNull public Options withImproveMap(boolean withImproveMap) { this.withImproveMap = withImproveMap; return this; } + @NonNull public Options withCopyrightSign(boolean withCopyrightSign) { this.withCopyrightSign = withCopyrightSign; return this; } + @NonNull public Options withTelemetryAttribution(boolean withTelemetryAttribution) { this.withTelemetryAttribution = withTelemetryAttribution; return this; } + @NonNull public Options withMapboxAttribution(boolean withMapboxAttribution) { this.withMapboxAttribution = withMapboxAttribution; return this; } + @NonNull public Options withContext(Context context) { this.context = new WeakReference<>(context); return this; } + @NonNull public AttributionParser build() { if (attributionDataStringArray == null) { throw new IllegalStateException("Using builder without providing attribution data"); |