summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorlangsmith <langstonlmcs@gmail.com>2019-07-22 11:16:24 -0700
committerlangsmith <langstonlmcs@gmail.com>2019-07-22 11:16:24 -0700
commitae2a0475efc120d68caa9c0e2c92d14b9617f80e (patch)
tree3dcb7ca17941ed51aecd4e0eb535dddf02ad2ad5
parentbbea3d01c6035867d08b92973006eae4647df136 (diff)
downloadqtlocation-mapboxgl-upstream/ls-missing-icon-flicker-test.tar.gz
-rw-r--r--platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/maplayout/SimpleMapActivity.java115
-rw-r--r--platform/android/MapboxGLAndroidSDKTestApp/src/main/res/drawable-hdpi/antony.pngbin0 -> 32703 bytes
-rw-r--r--platform/android/MapboxGLAndroidSDKTestApp/src/main/res/drawable-hdpi/carlos.pngbin0 -> 43120 bytes
-rw-r--r--platform/android/MapboxGLAndroidSDKTestApp/src/main/res/drawable-hdpi/luciana.pngbin0 -> 29874 bytes
-rw-r--r--platform/android/MapboxGLAndroidSDKTestApp/src/main/res/drawable-hdpi/maria.pngbin0 -> 30792 bytes
-rw-r--r--platform/android/MapboxGLAndroidSDKTestApp/src/main/res/drawable-mdpi/antony.pngbin0 -> 15370 bytes
-rw-r--r--platform/android/MapboxGLAndroidSDKTestApp/src/main/res/drawable-mdpi/carlos.pngbin0 -> 20627 bytes
-rw-r--r--platform/android/MapboxGLAndroidSDKTestApp/src/main/res/drawable-mdpi/luciana.pngbin0 -> 14432 bytes
-rw-r--r--platform/android/MapboxGLAndroidSDKTestApp/src/main/res/drawable-mdpi/maria.pngbin0 -> 14939 bytes
-rw-r--r--platform/android/MapboxGLAndroidSDKTestApp/src/main/res/drawable-xhdpi/antony.pngbin0 -> 55871 bytes
-rw-r--r--platform/android/MapboxGLAndroidSDKTestApp/src/main/res/drawable-xhdpi/carlos.pngbin0 -> 74129 bytes
-rw-r--r--platform/android/MapboxGLAndroidSDKTestApp/src/main/res/drawable-xhdpi/luciana.pngbin0 -> 50651 bytes
-rw-r--r--platform/android/MapboxGLAndroidSDKTestApp/src/main/res/drawable-xhdpi/maria.pngbin0 -> 52512 bytes
-rw-r--r--platform/android/MapboxGLAndroidSDKTestApp/src/main/res/drawable-xxhdpi/antony.pngbin0 -> 117053 bytes
-rw-r--r--platform/android/MapboxGLAndroidSDKTestApp/src/main/res/drawable-xxhdpi/carlos.pngbin0 -> 152538 bytes
-rw-r--r--platform/android/MapboxGLAndroidSDKTestApp/src/main/res/drawable-xxhdpi/luciana.pngbin0 -> 103730 bytes
-rw-r--r--platform/android/MapboxGLAndroidSDKTestApp/src/main/res/drawable-xxhdpi/maria.pngbin0 -> 108291 bytes
-rw-r--r--platform/android/MapboxGLAndroidSDKTestApp/src/main/res/drawable-xxxhdpi/antony.pngbin0 -> 194216 bytes
-rw-r--r--platform/android/MapboxGLAndroidSDKTestApp/src/main/res/drawable-xxxhdpi/carlos.pngbin0 -> 251039 bytes
-rw-r--r--platform/android/MapboxGLAndroidSDKTestApp/src/main/res/drawable-xxxhdpi/luciana.pngbin0 -> 169842 bytes
-rw-r--r--platform/android/MapboxGLAndroidSDKTestApp/src/main/res/drawable-xxxhdpi/maria.pngbin0 -> 177625 bytes
21 files changed, 112 insertions, 3 deletions
diff --git a/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/maplayout/SimpleMapActivity.java b/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/maplayout/SimpleMapActivity.java
index 8406fe2332..4fb77c5a83 100644
--- a/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/maplayout/SimpleMapActivity.java
+++ b/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/maplayout/SimpleMapActivity.java
@@ -1,12 +1,31 @@
package com.mapbox.mapboxsdk.testapp.activity.maplayout;
import android.os.Bundle;
+import android.support.annotation.NonNull;
import android.support.v7.app.AppCompatActivity;
import android.view.MenuItem;
+
+import com.mapbox.geojson.Feature;
+import com.mapbox.geojson.FeatureCollection;
+import com.mapbox.geojson.Point;
import com.mapbox.mapboxsdk.maps.MapView;
+import com.mapbox.mapboxsdk.maps.MapboxMap;
+import com.mapbox.mapboxsdk.maps.OnMapReadyCallback;
import com.mapbox.mapboxsdk.maps.Style;
+import com.mapbox.mapboxsdk.style.layers.SymbolLayer;
+import com.mapbox.mapboxsdk.style.sources.GeoJsonSource;
import com.mapbox.mapboxsdk.testapp.R;
import com.mapbox.mapboxsdk.testapp.utils.NavUtils;
+import com.mapbox.mapboxsdk.utils.BitmapUtils;
+
+import static com.mapbox.mapboxsdk.style.expressions.Expression.get;
+import static com.mapbox.mapboxsdk.style.layers.PropertyFactory.iconAllowOverlap;
+import static com.mapbox.mapboxsdk.style.layers.PropertyFactory.iconIgnorePlacement;
+import static com.mapbox.mapboxsdk.style.layers.PropertyFactory.iconImage;
+import static com.mapbox.mapboxsdk.style.layers.PropertyFactory.textAllowOverlap;
+import static com.mapbox.mapboxsdk.style.layers.PropertyFactory.textField;
+import static com.mapbox.mapboxsdk.style.layers.PropertyFactory.textIgnorePlacement;
+import static com.mapbox.mapboxsdk.style.layers.PropertyFactory.textOffset;
/**
* Test activity showcasing a simple MapView without any MapboxMap interaction.
@@ -14,6 +33,16 @@ import com.mapbox.mapboxsdk.testapp.utils.NavUtils;
public class SimpleMapActivity extends AppCompatActivity {
private MapView mapView;
+ private static final String ICON_SOURCE_ID = "ICON_SOURCE_ID";
+ private static final String ICON_LAYER_ID = "ICON_LAYER_ID";
+ private static final String PROFILE_NAME = "PROFILE_NAME";
+ private static final String CARLOS = "Carlos";
+ private static final String ANTONY = "Antony";
+
+ private static final String MARIA = "Maria";
+ private static final String LUCIANA = "Luciana";
+ private MapboxMap mapboxMap;
+
@Override
protected void onCreate(Bundle savedInstanceState) {
@@ -21,9 +50,89 @@ public class SimpleMapActivity extends AppCompatActivity {
setContentView(R.layout.activity_map_simple);
mapView = findViewById(R.id.mapView);
mapView.onCreate(savedInstanceState);
- mapView.getMapAsync(mapboxMap -> mapboxMap.setStyle(
- new Style.Builder().fromUri(Style.MAPBOX_STREETS)
- ));
+ mapView.getMapAsync(new OnMapReadyCallback() {
+ @Override
+ public void onMapReady(@NonNull final MapboxMap mapboxMap) {
+
+ // Add Features which represent the location of each profile photo SymbolLayer icon
+ Feature carlosFeature = Feature.fromGeometry(Point.fromLngLat(-7.9760742,
+ 41.2778064));
+ carlosFeature.addStringProperty(PROFILE_NAME, CARLOS);
+
+ Feature antonyFeature = Feature.fromGeometry(Point.fromLngLat(-8.0639648,
+ 37.5445773));
+ antonyFeature.addStringProperty(PROFILE_NAME, ANTONY);
+
+ Feature mariaFeature = Feature.fromGeometry(Point.fromLngLat(-9.1845703,
+ 38.9764924));
+ mariaFeature.addStringProperty(PROFILE_NAME, MARIA);
+
+ Feature lucianaFeature = Feature.fromGeometry(Point.fromLngLat(-7.5146484,
+ 40.2459915));
+ lucianaFeature.addStringProperty(PROFILE_NAME, LUCIANA);
+
+ // Use a URL to build and add a Style object to the map. Then add a source to the Style.
+ mapboxMap.setStyle(
+ new Style.Builder().fromUri(Style.LIGHT)
+ .withSource(new GeoJsonSource(ICON_SOURCE_ID,
+ FeatureCollection.fromFeatures(new Feature[] {
+ carlosFeature,
+ antonyFeature,
+ mariaFeature,
+ lucianaFeature}))),
+ new Style.OnStyleLoaded() {
+ @Override
+ public void onStyleLoaded(@NonNull Style style) {
+ SimpleMapActivity.this.mapboxMap = mapboxMap;
+
+ // Add a SymbolLayer to the style. iconImage is set to a value that will
+ // be used later in the addOnStyleImageMissingListener below
+ style.addLayer(new SymbolLayer(ICON_LAYER_ID, ICON_SOURCE_ID).withProperties(
+ iconImage(get(PROFILE_NAME)),
+ iconIgnorePlacement(true),
+ iconAllowOverlap(true),
+ textField(get(PROFILE_NAME)),
+ textIgnorePlacement(true),
+ textAllowOverlap(true),
+ textOffset(new Float[] {0f, 2f})
+ ));
+ }
+ });
+ }
+ });
+
+ // Use the listener to match the id with the appropriate person. The correct profile photo is
+ // given to the map during "runtime".
+ mapView.addOnStyleImageMissingListener(new MapView.OnStyleImageMissingListener() {
+ @Override
+ public void onStyleImageMissing(@NonNull String id) {
+ switch (id) {
+ case CARLOS:
+ addImage(id, R.drawable.carlos);
+ break;
+ case ANTONY:
+ addImage(id, R.drawable.antony);
+ break;
+ case MARIA:
+ addImage(id, R.drawable.maria);
+ break;
+ case LUCIANA:
+ addImage(id, R.drawable.luciana);
+ break;
+ default:
+ addImage(id, R.drawable.carlos);
+ break;
+ }
+ }
+ });
+ }
+
+ private void addImage(String id, int drawableImage) {
+ Style style = mapboxMap.getStyle();
+ if (style != null) {
+ style.addImageAsync(id, BitmapUtils.getBitmapFromDrawable(
+ getResources().getDrawable(drawableImage)));
+ }
}
@Override
diff --git a/platform/android/MapboxGLAndroidSDKTestApp/src/main/res/drawable-hdpi/antony.png b/platform/android/MapboxGLAndroidSDKTestApp/src/main/res/drawable-hdpi/antony.png
new file mode 100644
index 0000000000..cf41964acd
--- /dev/null
+++ b/platform/android/MapboxGLAndroidSDKTestApp/src/main/res/drawable-hdpi/antony.png
Binary files differ
diff --git a/platform/android/MapboxGLAndroidSDKTestApp/src/main/res/drawable-hdpi/carlos.png b/platform/android/MapboxGLAndroidSDKTestApp/src/main/res/drawable-hdpi/carlos.png
new file mode 100644
index 0000000000..8d17d90b0b
--- /dev/null
+++ b/platform/android/MapboxGLAndroidSDKTestApp/src/main/res/drawable-hdpi/carlos.png
Binary files differ
diff --git a/platform/android/MapboxGLAndroidSDKTestApp/src/main/res/drawable-hdpi/luciana.png b/platform/android/MapboxGLAndroidSDKTestApp/src/main/res/drawable-hdpi/luciana.png
new file mode 100644
index 0000000000..b21c9a5ec6
--- /dev/null
+++ b/platform/android/MapboxGLAndroidSDKTestApp/src/main/res/drawable-hdpi/luciana.png
Binary files differ
diff --git a/platform/android/MapboxGLAndroidSDKTestApp/src/main/res/drawable-hdpi/maria.png b/platform/android/MapboxGLAndroidSDKTestApp/src/main/res/drawable-hdpi/maria.png
new file mode 100644
index 0000000000..462a43ebbd
--- /dev/null
+++ b/platform/android/MapboxGLAndroidSDKTestApp/src/main/res/drawable-hdpi/maria.png
Binary files differ
diff --git a/platform/android/MapboxGLAndroidSDKTestApp/src/main/res/drawable-mdpi/antony.png b/platform/android/MapboxGLAndroidSDKTestApp/src/main/res/drawable-mdpi/antony.png
new file mode 100644
index 0000000000..4dc7a72586
--- /dev/null
+++ b/platform/android/MapboxGLAndroidSDKTestApp/src/main/res/drawable-mdpi/antony.png
Binary files differ
diff --git a/platform/android/MapboxGLAndroidSDKTestApp/src/main/res/drawable-mdpi/carlos.png b/platform/android/MapboxGLAndroidSDKTestApp/src/main/res/drawable-mdpi/carlos.png
new file mode 100644
index 0000000000..67d5a2a7a5
--- /dev/null
+++ b/platform/android/MapboxGLAndroidSDKTestApp/src/main/res/drawable-mdpi/carlos.png
Binary files differ
diff --git a/platform/android/MapboxGLAndroidSDKTestApp/src/main/res/drawable-mdpi/luciana.png b/platform/android/MapboxGLAndroidSDKTestApp/src/main/res/drawable-mdpi/luciana.png
new file mode 100644
index 0000000000..5b805d9fc3
--- /dev/null
+++ b/platform/android/MapboxGLAndroidSDKTestApp/src/main/res/drawable-mdpi/luciana.png
Binary files differ
diff --git a/platform/android/MapboxGLAndroidSDKTestApp/src/main/res/drawable-mdpi/maria.png b/platform/android/MapboxGLAndroidSDKTestApp/src/main/res/drawable-mdpi/maria.png
new file mode 100644
index 0000000000..3c03c30a31
--- /dev/null
+++ b/platform/android/MapboxGLAndroidSDKTestApp/src/main/res/drawable-mdpi/maria.png
Binary files differ
diff --git a/platform/android/MapboxGLAndroidSDKTestApp/src/main/res/drawable-xhdpi/antony.png b/platform/android/MapboxGLAndroidSDKTestApp/src/main/res/drawable-xhdpi/antony.png
new file mode 100644
index 0000000000..bbd931b520
--- /dev/null
+++ b/platform/android/MapboxGLAndroidSDKTestApp/src/main/res/drawable-xhdpi/antony.png
Binary files differ
diff --git a/platform/android/MapboxGLAndroidSDKTestApp/src/main/res/drawable-xhdpi/carlos.png b/platform/android/MapboxGLAndroidSDKTestApp/src/main/res/drawable-xhdpi/carlos.png
new file mode 100644
index 0000000000..d8f73bec83
--- /dev/null
+++ b/platform/android/MapboxGLAndroidSDKTestApp/src/main/res/drawable-xhdpi/carlos.png
Binary files differ
diff --git a/platform/android/MapboxGLAndroidSDKTestApp/src/main/res/drawable-xhdpi/luciana.png b/platform/android/MapboxGLAndroidSDKTestApp/src/main/res/drawable-xhdpi/luciana.png
new file mode 100644
index 0000000000..be42b2b5b3
--- /dev/null
+++ b/platform/android/MapboxGLAndroidSDKTestApp/src/main/res/drawable-xhdpi/luciana.png
Binary files differ
diff --git a/platform/android/MapboxGLAndroidSDKTestApp/src/main/res/drawable-xhdpi/maria.png b/platform/android/MapboxGLAndroidSDKTestApp/src/main/res/drawable-xhdpi/maria.png
new file mode 100644
index 0000000000..6b2967a579
--- /dev/null
+++ b/platform/android/MapboxGLAndroidSDKTestApp/src/main/res/drawable-xhdpi/maria.png
Binary files differ
diff --git a/platform/android/MapboxGLAndroidSDKTestApp/src/main/res/drawable-xxhdpi/antony.png b/platform/android/MapboxGLAndroidSDKTestApp/src/main/res/drawable-xxhdpi/antony.png
new file mode 100644
index 0000000000..e2e517df38
--- /dev/null
+++ b/platform/android/MapboxGLAndroidSDKTestApp/src/main/res/drawable-xxhdpi/antony.png
Binary files differ
diff --git a/platform/android/MapboxGLAndroidSDKTestApp/src/main/res/drawable-xxhdpi/carlos.png b/platform/android/MapboxGLAndroidSDKTestApp/src/main/res/drawable-xxhdpi/carlos.png
new file mode 100644
index 0000000000..32e0541f47
--- /dev/null
+++ b/platform/android/MapboxGLAndroidSDKTestApp/src/main/res/drawable-xxhdpi/carlos.png
Binary files differ
diff --git a/platform/android/MapboxGLAndroidSDKTestApp/src/main/res/drawable-xxhdpi/luciana.png b/platform/android/MapboxGLAndroidSDKTestApp/src/main/res/drawable-xxhdpi/luciana.png
new file mode 100644
index 0000000000..321eb89b91
--- /dev/null
+++ b/platform/android/MapboxGLAndroidSDKTestApp/src/main/res/drawable-xxhdpi/luciana.png
Binary files differ
diff --git a/platform/android/MapboxGLAndroidSDKTestApp/src/main/res/drawable-xxhdpi/maria.png b/platform/android/MapboxGLAndroidSDKTestApp/src/main/res/drawable-xxhdpi/maria.png
new file mode 100644
index 0000000000..780cd0e2c5
--- /dev/null
+++ b/platform/android/MapboxGLAndroidSDKTestApp/src/main/res/drawable-xxhdpi/maria.png
Binary files differ
diff --git a/platform/android/MapboxGLAndroidSDKTestApp/src/main/res/drawable-xxxhdpi/antony.png b/platform/android/MapboxGLAndroidSDKTestApp/src/main/res/drawable-xxxhdpi/antony.png
new file mode 100644
index 0000000000..85d1e4c155
--- /dev/null
+++ b/platform/android/MapboxGLAndroidSDKTestApp/src/main/res/drawable-xxxhdpi/antony.png
Binary files differ
diff --git a/platform/android/MapboxGLAndroidSDKTestApp/src/main/res/drawable-xxxhdpi/carlos.png b/platform/android/MapboxGLAndroidSDKTestApp/src/main/res/drawable-xxxhdpi/carlos.png
new file mode 100644
index 0000000000..091d4590cc
--- /dev/null
+++ b/platform/android/MapboxGLAndroidSDKTestApp/src/main/res/drawable-xxxhdpi/carlos.png
Binary files differ
diff --git a/platform/android/MapboxGLAndroidSDKTestApp/src/main/res/drawable-xxxhdpi/luciana.png b/platform/android/MapboxGLAndroidSDKTestApp/src/main/res/drawable-xxxhdpi/luciana.png
new file mode 100644
index 0000000000..861865e0d5
--- /dev/null
+++ b/platform/android/MapboxGLAndroidSDKTestApp/src/main/res/drawable-xxxhdpi/luciana.png
Binary files differ
diff --git a/platform/android/MapboxGLAndroidSDKTestApp/src/main/res/drawable-xxxhdpi/maria.png b/platform/android/MapboxGLAndroidSDKTestApp/src/main/res/drawable-xxxhdpi/maria.png
new file mode 100644
index 0000000000..69cd52e2e1
--- /dev/null
+++ b/platform/android/MapboxGLAndroidSDKTestApp/src/main/res/drawable-xxxhdpi/maria.png
Binary files differ