summaryrefslogtreecommitdiff
path: root/android
diff options
context:
space:
mode:
authorTobrun <tobrun.van.nuland@gmail.com>2015-10-11 01:35:14 +0200
committerTobrun <tobrun.van.nuland@gmail.com>2015-10-11 09:33:43 +0200
commit30393416534801d610ad432e4eaa7c6134fd1d3e (patch)
tree89449a73167a4d8c5d310d789318b623698d5f73 /android
parentdc98966e6d6241685096389712b96dabe11d57bb (diff)
downloadqtlocation-mapboxgl-30393416534801d610ad432e4eaa7c6134fd1d3e.tar.gz
[android] #2586 - Refactor Style with Android Support Annotations StringDef
Diffstat (limited to 'android')
-rw-r--r--android/java/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/constants/Style.java36
-rw-r--r--android/java/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/views/MapView.java50
-rw-r--r--android/java/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/InfoWindowAdapterActivity.java3
-rw-r--r--android/java/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/MainActivity.java12
-rw-r--r--android/java/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/MapFragmentActivity.java3
-rw-r--r--android/java/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/PressForMarkerActivity.java3
6 files changed, 60 insertions, 47 deletions
diff --git a/android/java/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/constants/Style.java b/android/java/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/constants/Style.java
new file mode 100644
index 0000000000..936f3943e0
--- /dev/null
+++ b/android/java/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/constants/Style.java
@@ -0,0 +1,36 @@
+package com.mapbox.mapboxsdk.constants;
+
+import android.support.annotation.StringDef;
+
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+
+public class Style {
+
+ @StringDef({MAPBOX_STREETS, EMERALD, LIGHT, DARK, SATELLITE})
+ @Retention(RetentionPolicy.SOURCE)
+ public @interface StyleUrl {
+ }
+
+ /**
+ * Mapbox Streets: Our signature style.
+ */
+ public static final String MAPBOX_STREETS = "asset://styles/streets-v8.json";
+ /**
+ * Emerald: Great for transportation and outdoor terrain.
+ */
+ public static final String EMERALD = "asset://styles/emerald-v8.json";
+ /**
+ * Light: Light-colored style that is great for data overlay.
+ */
+ public static final String LIGHT = "asset://styles/light-v8.json";
+ /**
+ * Dark: Dark-colored style that is great for data overlay.
+ */
+ public static final String DARK = "asset://styles/dark-v8.json";
+ /**
+ * Satellite: The best-looking, most accurate, and most up-to-date satellite imagery available anywhere.
+ */
+ public static final String SATELLITE = "asset://styles/satellite-v8.json";
+
+}
diff --git a/android/java/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/views/MapView.java b/android/java/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/views/MapView.java
index 4af2278eaf..72fa9983d0 100644
--- a/android/java/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/views/MapView.java
+++ b/android/java/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/views/MapView.java
@@ -61,6 +61,7 @@ import com.mapbox.mapboxsdk.annotations.Polygon;
import com.mapbox.mapboxsdk.annotations.PolygonOptions;
import com.mapbox.mapboxsdk.annotations.Polyline;
import com.mapbox.mapboxsdk.annotations.PolylineOptions;
+import com.mapbox.mapboxsdk.constants.Style;
import com.mapbox.mapboxsdk.exceptions.InvalidAccessTokenException;
import com.mapbox.mapboxsdk.geometry.BoundingBox;
import com.mapbox.mapboxsdk.geometry.LatLng;
@@ -243,41 +244,6 @@ public final class MapView extends FrameLayout {
// Inner classes
//
- // These provide easy access to the bundled styles
-
- /**
- * StyleUrls provides URLs to several professional styles designed by Mapbox.
- * <p/>
- * These styles are all ready to go in your app. To load one, pass it into {@link MapView#setStyleUrl(String)}
- *
- * @see MapView#setStyleUrl(String)
- */
- public static final class StyleUrls {
- private StyleUrls() {
- }
-
- /**
- * Mapbox Streets: Our signature style.
- */
- public static final String MAPBOX_STREETS = "asset://styles/streets-v8.json";
- /**
- * Emerald: Great for transportation and outdoor terrain.
- */
- public static final String EMERALD = "asset://styles/emerald-v8.json";
- /**
- * Light: Light-colored style that is great for data overlay.
- */
- public static final String LIGHT = "asset://styles/light-v8.json";
- /**
- * Dark: Dark-colored style that is great for data overlay.
- */
- public static final String DARK = "asset://styles/dark-v8.json";
- /**
- * Satellite: The best-looking, most accurate, and most up-to-date satellite imagery available anywhere.
- */
- public static final String SATELLITE = "asset://styles/satellite-v8.json";
- }
-
//
// Enums
//
@@ -1335,7 +1301,7 @@ public final class MapView extends FrameLayout {
* <p/>
* {@code url} can take the following forms:
* <ul>
- * <li>{@code MapView.StyleUrls.*}: load one of the bundled styles in {@link MapView.StyleUrls}.</li>
+ * <li>{@code MapView.StyleUrls.*}: load one of the bundled styles in {@link Style}.</li>
* <li>{@code mapbox://styles/<user>/<style>}:
* retrieves the style from a <a href="https://www.mapbox.com/account/">Mapbox account.</a>
* {@code user} is your username. {@code style} is the ID of your custom
@@ -1345,7 +1311,7 @@ public final class MapView extends FrameLayout {
* <li>{@code asset://...}:
* reads the style from the APK {@code asset/} directory.
* This is used to load a style bundled with your app.</li>
- * <li>{@code null}: loads the default {@link MapView.StyleUrls#MAPBOX_STREETS} style.</li>
+ * <li>{@code null}: loads the default {@link Style#MAPBOX_STREETS} style.</li>
* </ul>
* <p/>
* This method is asynchronous and will return immediately before the style finishes loading.
@@ -1355,17 +1321,23 @@ public final class MapView extends FrameLayout {
* An error message will be logged in the Android logcat and {@link MapView.MapChange#DidFailLoadingMap} event will be sent.
*
* @param url The URL of the map style
- * @see MapView.StyleUrls
+ * @see Style
*/
@UiThread
public void setStyleUrl(@Nullable String url) {
if (url == null) {
- url = StyleUrls.MAPBOX_STREETS;
+ url = Style.MAPBOX_STREETS;
}
mStyleUrl = url;
mNativeMapView.setStyleUrl(url);
}
+ @UiThread
+ @NonNull
+ public void setStyle(@Style.StyleUrl String style){
+ setStyleUrl(style);
+ }
+
/**
* Returns the map style currently displayed in the map view.
* <p/>
diff --git a/android/java/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/InfoWindowAdapterActivity.java b/android/java/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/InfoWindowAdapterActivity.java
index 08311c9689..075a0da62b 100644
--- a/android/java/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/InfoWindowAdapterActivity.java
+++ b/android/java/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/InfoWindowAdapterActivity.java
@@ -11,6 +11,7 @@ import android.widget.TextView;
import com.mapbox.mapboxsdk.annotations.Marker;
import com.mapbox.mapboxsdk.annotations.MarkerOptions;
+import com.mapbox.mapboxsdk.constants.Style;
import com.mapbox.mapboxsdk.geometry.LatLng;
import com.mapbox.mapboxsdk.utils.ApiAccess;
import com.mapbox.mapboxsdk.views.MapView;
@@ -38,7 +39,7 @@ public class InfoWindowAdapterActivity extends AppCompatActivity {
mMapView = (MapView) findViewById(R.id.secondMapView);
mMapView.setAccessToken(ApiAccess.getToken(this));
mMapView.onCreate(savedInstanceState);
- mMapView.setStyleUrl(MapView.StyleUrls.MAPBOX_STREETS);
+ mMapView.setStyle(Style.MAPBOX_STREETS);
mMapView.setInfoWindowAdapter(new MapView.InfoWindowAdapter() {
private int tenDp = (int) getResources().getDimension(R.dimen.attr_margin);
diff --git a/android/java/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/MainActivity.java b/android/java/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/MainActivity.java
index 227fcfe691..b5c96ca986 100644
--- a/android/java/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/MainActivity.java
+++ b/android/java/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/MainActivity.java
@@ -28,6 +28,7 @@ import com.mapbox.mapboxsdk.annotations.Marker;
import com.mapbox.mapboxsdk.annotations.MarkerOptions;
import com.mapbox.mapboxsdk.annotations.PolygonOptions;
import com.mapbox.mapboxsdk.annotations.PolylineOptions;
+import com.mapbox.mapboxsdk.constants.Style;
import com.mapbox.mapboxsdk.geometry.LatLng;
import com.mapbox.mapboxsdk.utils.ApiAccess;
import com.mapbox.mapboxsdk.views.MapView;
@@ -160,6 +161,7 @@ public class MainActivity extends AppCompatActivity {
mSelectedStyle = savedInstanceState.getInt(STATE_SELECTED_STYLE);
}
+
// Set default UI state
mNavigationView.getMenu().findItem(R.id.action_compass).setChecked(mMapView.isCompassEnabled());
mNavigationView.getMenu().findItem(R.id.action_debug).setChecked(mMapView.isDebugActive());
@@ -325,27 +327,27 @@ public class MainActivity extends AppCompatActivity {
private boolean changeMapStyle(int id) {
switch (id) {
case R.id.actionStyleMapboxStreets:
- mMapView.setStyleUrl(MapView.StyleUrls.MAPBOX_STREETS);
+ mMapView.setStyle(Style.MAPBOX_STREETS);
mSelectedStyle = id;
return true;
case R.id.actionStyleEmerald:
- mMapView.setStyleUrl(MapView.StyleUrls.EMERALD);
+ mMapView.setStyle(Style.EMERALD);
mSelectedStyle = id;
return true;
case R.id.actionStyleLight:
- mMapView.setStyleUrl(MapView.StyleUrls.LIGHT);
+ mMapView.setStyle(Style.LIGHT);
mSelectedStyle = id;
return true;
case R.id.actionStyleDark:
- mMapView.setStyleUrl(MapView.StyleUrls.DARK);
+ mMapView.setStyle(Style.DARK);
mSelectedStyle = id;
return true;
case R.id.actionStyleSatellite:
- mMapView.setStyleUrl(MapView.StyleUrls.SATELLITE);
+ mMapView.setStyle(Style.SATELLITE);
mSelectedStyle = id;
return true;
diff --git a/android/java/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/MapFragmentActivity.java b/android/java/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/MapFragmentActivity.java
index ebb1e2f113..2eadedca2a 100644
--- a/android/java/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/MapFragmentActivity.java
+++ b/android/java/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/MapFragmentActivity.java
@@ -10,6 +10,7 @@ import android.view.MenuItem;
import android.view.View;
import com.mapbox.mapboxsdk.MapFragment;
+import com.mapbox.mapboxsdk.constants.Style;
import com.mapbox.mapboxsdk.geometry.LatLng;
import com.mapbox.mapboxsdk.views.MapView;
@@ -48,7 +49,7 @@ public class MapFragmentActivity extends AppCompatActivity {
super.onViewCreated(view, savedInstanceState);
MapView mapView = getMap();
- mapView.setStyleUrl(MapView.StyleUrls.EMERALD);
+ mapView.setStyleUrl(Style.EMERALD);
mapView.setZoomLevel(12);
mapView.setCenterCoordinate(new LatLng(50.853658, 4.352419));
diff --git a/android/java/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/PressForMarkerActivity.java b/android/java/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/PressForMarkerActivity.java
index 70cb8b0786..62fd763226 100644
--- a/android/java/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/PressForMarkerActivity.java
+++ b/android/java/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/PressForMarkerActivity.java
@@ -11,6 +11,7 @@ import android.view.MotionEvent;
import android.view.View;
import com.mapbox.mapboxsdk.annotations.Marker;
import com.mapbox.mapboxsdk.annotations.MarkerOptions;
+import com.mapbox.mapboxsdk.constants.Style;
import com.mapbox.mapboxsdk.geometry.LatLng;
import com.mapbox.mapboxsdk.utils.ApiAccess;
import com.mapbox.mapboxsdk.views.MapView;
@@ -40,7 +41,7 @@ public class PressForMarkerActivity extends AppCompatActivity {
mMapView = (MapView) findViewById(R.id.pressForMarkerMapView);
mMapView.setAccessToken(ApiAccess.getToken(this));
- mMapView.setStyleUrl(MapView.StyleUrls.EMERALD);
+ mMapView.setStyleUrl(Style.EMERALD);
mMapView.onCreate(savedInstanceState);
mMapView.setCenterCoordinate(new LatLng(45.1855569, 5.7215506));