[android] require context in AttributionParser.Builder

This commit is contained in:
Łukasz Paczos
2018-11-23 16:38:32 +01:00
committed by Łukasz Paczos
parent 8789c148dd
commit d54bc6af40
4 changed files with 20 additions and 36 deletions

View File

@@ -241,13 +241,17 @@ public class AttributionParser {
* </p>
*/
public static class Options {
private WeakReference<Context> context;
private final WeakReference<Context> context;
private boolean withImproveMap = true;
private boolean withCopyrightSign = true;
private boolean withTelemetryAttribution = false;
private boolean withMapboxAttribution = true;
private String[] attributionDataStringArray;
public Options(@NonNull Context context) {
this.context = new WeakReference<>(context);
}
@NonNull
public Options withAttributionData(String... attributionData) {
this.attributionDataStringArray = attributionData;
@@ -278,12 +282,6 @@ public class AttributionParser {
return this;
}
@NonNull
public Options withContext(Context context) {
this.context = new WeakReference<>(context);
return this;
}
@NonNull
public AttributionParser build() {
if (attributionDataStringArray == null) {

View File

@@ -187,10 +187,9 @@ public class AttributionDialogManager implements View.OnClickListener, DialogInt
}
}
return new AttributionParser.Options()
return new AttributionParser.Options(context)
.withCopyrightSign(true)
.withImproveMap(true)
.withContext(context)
.withTelemetryAttribution(true)
.withAttributionData(attributions.toArray(new String[attributions.size()]))
.build().getAttributions();

View File

@@ -447,7 +447,7 @@ public class MapSnapshotter {
*/
@NonNull
private String createAttributionString(MapSnapshot mapSnapshot, boolean shortText) {
AttributionParser attributionParser = new AttributionParser.Options()
AttributionParser attributionParser = new AttributionParser.Options(context)
.withAttributionData(mapSnapshot.getAttributions())
.withCopyrightSign(false)
.withImproveMap(false)