summaryrefslogtreecommitdiff
path: root/platform
diff options
context:
space:
mode:
authorIvo van Dongen <info@ivovandongen.nl>2017-03-30 14:54:16 +0300
committerIvo van Dongen <ivovandongen@users.noreply.github.com>2017-03-30 15:27:05 +0300
commit61e269519097e315a0e75d0b8e1a6b2b89188fd1 (patch)
tree80d7c360aa96acb20807406cdd4d8dcf15b1d9eb /platform
parent2bfbe9076501edcefd802c8e3029dad6b8ccaf87 (diff)
downloadqtlocation-mapboxgl-61e269519097e315a0e75d0b8e1a6b2b89188fd1.tar.gz
[android] resource transform callback example
Diffstat (limited to 'platform')
-rw-r--r--platform/android/MapboxGLAndroidSDKTestApp/src/main/AndroidManifest.xml14
-rw-r--r--platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/storage/UrlTransformActivity.java102
-rw-r--r--platform/android/MapboxGLAndroidSDKTestApp/src/main/res/values/strings.xml3
3 files changed, 119 insertions, 0 deletions
diff --git a/platform/android/MapboxGLAndroidSDKTestApp/src/main/AndroidManifest.xml b/platform/android/MapboxGLAndroidSDKTestApp/src/main/AndroidManifest.xml
index e6d118692e..13160878f6 100644
--- a/platform/android/MapboxGLAndroidSDKTestApp/src/main/AndroidManifest.xml
+++ b/platform/android/MapboxGLAndroidSDKTestApp/src/main/AndroidManifest.xml
@@ -593,6 +593,20 @@
android:value=".activity.FeatureOverviewActivity"/>
</activity>
+ <!-- Storage -->
+ <activity
+ android:name=".activity.storage.UrlTransformActivity"
+ android:description="@string/description_url_transform"
+ android:label="@string/activity_url_transform">
+ <meta-data
+ android:name="@string/category"
+ android:value="@string/category_storage"/>
+ <meta-data
+ android:name="android.support.PARENT_ACTIVITY"
+ android:value=".activity.FeatureOverviewActivity"/>
+ </activity>
+
+
<!-- For Instrumentation tests -->
<activity
android:name=".activity.style.RuntimeStyleTestActivity"
diff --git a/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/storage/UrlTransformActivity.java b/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/storage/UrlTransformActivity.java
new file mode 100644
index 0000000000..eca310b0b9
--- /dev/null
+++ b/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/storage/UrlTransformActivity.java
@@ -0,0 +1,102 @@
+package com.mapbox.mapboxsdk.testapp.activity.storage;
+
+import android.app.Activity;
+import android.os.Bundle;
+import android.support.v7.app.AppCompatActivity;
+
+import com.mapbox.mapboxsdk.maps.MapView;
+import com.mapbox.mapboxsdk.maps.MapboxMap;
+import com.mapbox.mapboxsdk.maps.OnMapReadyCallback;
+import com.mapbox.mapboxsdk.storage.FileSource;
+import com.mapbox.mapboxsdk.storage.Resource;
+import com.mapbox.mapboxsdk.testapp.R;
+
+import timber.log.Timber;
+
+/**
+ * Test activity showcasing the url transform
+ */
+public class UrlTransformActivity extends AppCompatActivity {
+
+ private MapView mapView;
+
+ /**
+ * Be sure to use an isolated class so the activity is not leaked when
+ * the activity goes out of scope (static class in this case).
+ * <p>
+ * Alternatively, unregister the callback in {@link Activity#onDestroy()}
+ */
+ private static final class Transform implements FileSource.ResourceTransformCallback {
+ @Override
+ public String onURL(@Resource.Kind int kind, String url) {
+ Timber.i("[%s] Could be rewriting %s", Thread.currentThread().getName(), url);
+ return url;
+ }
+ }
+
+ @Override
+ protected void onCreate(Bundle savedInstanceState) {
+ super.onCreate(savedInstanceState);
+ setContentView(R.layout.activity_data_driven_style);
+
+ // Initialize map as normal
+ mapView = (MapView) findViewById(R.id.mapView);
+ mapView.onCreate(savedInstanceState);
+
+ // Get a handle to the file source and set the resource transform
+ FileSource.getInstance(UrlTransformActivity.this).setResourceTransform(new Transform());
+
+ mapView.getMapAsync(new OnMapReadyCallback() {
+ @Override
+ public void onMapReady(MapboxMap map) {
+ Timber.i("Map loaded");
+ }
+ });
+ }
+
+ @Override
+ protected void onStart() {
+ super.onStart();
+ mapView.onStart();
+ }
+
+ @Override
+ protected void onResume() {
+ super.onResume();
+ mapView.onResume();
+ }
+
+ @Override
+ protected void onPause() {
+ super.onPause();
+ mapView.onPause();
+ }
+
+ @Override
+ protected void onStop() {
+ super.onStop();
+ mapView.onStop();
+ }
+
+ @Override
+ protected void onSaveInstanceState(Bundle outState) {
+ super.onSaveInstanceState(outState);
+ mapView.onSaveInstanceState(outState);
+ }
+
+ @Override
+ protected void onDestroy() {
+ super.onDestroy();
+
+ // Example of how to reset the transform callback
+ FileSource.getInstance(UrlTransformActivity.this).setResourceTransform(null);
+
+ mapView.onDestroy();
+ }
+
+ @Override
+ public void onLowMemory() {
+ super.onLowMemory();
+ mapView.onLowMemory();
+ }
+}
diff --git a/platform/android/MapboxGLAndroidSDKTestApp/src/main/res/values/strings.xml b/platform/android/MapboxGLAndroidSDKTestApp/src/main/res/values/strings.xml
index f15ee20be6..ac5c528c38 100644
--- a/platform/android/MapboxGLAndroidSDKTestApp/src/main/res/values/strings.xml
+++ b/platform/android/MapboxGLAndroidSDKTestApp/src/main/res/values/strings.xml
@@ -54,6 +54,7 @@
<string name="activity_simple_map">Simple Map</string>
<string name="activity_map_in_dialog">Dialog with map</string>
<string name="activity_marker_view_rectangle">Marker views in rectangle</string>
+ <string name="activity_url_transform">Url transform</string>
<!--Description-->
<string name="description_user_location_tracking">Tracks the location of the user</string>
@@ -107,6 +108,7 @@
<string name="description_map_in_dialog">Display a map inside a dialog fragment</string>
<string name="description_marker_view_rectangle">Marker Views within a rectangle</string>
<string name="description_circle_layer">Show bus stops and route in Singapore</string>
+ <string name="description_url_transform">Transform urls on the fly</string>
<!--Categories-->
<string name="category">category</string>
@@ -122,6 +124,7 @@
<string name="category_userlocation">User Location</string>
<string name="category_style">Styling</string>
<string name="category_features">Features</string>
+ <string name="category_storage">Storage</string>
<!--Actions-->
<string name="action_remove_polylines">Remove polylines</string>