summaryrefslogtreecommitdiff
path: root/platform
diff options
context:
space:
mode:
authorBrad Leege <bleege@gmail.com>2016-02-12 16:24:32 -0800
committerBrad Leege <bleege@gmail.com>2016-02-12 16:40:32 -0800
commit9841f940740d56dca347fe9a8383107c41bcee5e (patch)
treee6579709e2accb4a8f0ca869d83c8698d95ff1c4 /platform
parent13e2acbc754893efb945fe02d20824698415dcdb (diff)
downloadqtlocation-mapboxgl-9841f940740d56dca347fe9a8383107c41bcee5e.tar.gz
[android] #3907 - Adding Telemetry description to dialog
Diffstat (limited to 'platform')
-rw-r--r--platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/MapView.java27
-rw-r--r--platform/android/MapboxGLAndroidSDK/src/main/res/layout/attribution_telemetry_view.xml21
-rw-r--r--platform/android/MapboxGLAndroidSDK/src/main/res/values/dimens.xml3
-rw-r--r--platform/android/MapboxGLAndroidSDK/src/main/res/values/strings.xml2
4 files changed, 43 insertions, 10 deletions
diff --git a/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/MapView.java b/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/MapView.java
index f40dff27cf..a7e75f5c8f 100644
--- a/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/MapView.java
+++ b/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/MapView.java
@@ -49,9 +49,11 @@ import android.view.Surface;
import android.view.TextureView;
import android.view.View;
import android.view.ViewConfiguration;
+import android.widget.AdapterView;
import android.widget.ArrayAdapter;
import android.widget.FrameLayout;
import android.widget.ImageView;
+import android.widget.ListView;
import android.widget.ZoomButtonsController;
import com.almeros.android.multitouch.gesturedetectors.RotateGestureDetector;
import com.almeros.android.multitouch.gesturedetectors.ShoveGestureDetector;
@@ -78,15 +80,12 @@ import com.mapbox.mapboxsdk.exceptions.TelemetryServiceNotConfiguredException;
import com.mapbox.mapboxsdk.geometry.LatLng;
import com.mapbox.mapboxsdk.geometry.LatLngBounds;
import com.mapbox.mapboxsdk.layers.CustomLayer;
-import com.mapbox.mapboxsdk.location.LocationServices;
import com.mapbox.mapboxsdk.telemetry.MapboxEventManager;
-import com.mapbox.mapboxsdk.telemetry.TelemetryService;
import com.mapbox.mapboxsdk.utils.ApiAccess;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.nio.ByteBuffer;
import java.util.ArrayList;
-import java.util.Arrays;
import java.util.Collections;
import java.util.Iterator;
import java.util.List;
@@ -2880,28 +2879,38 @@ public class MapView extends FrameLayout {
}
String[] items = context.getResources().getStringArray(array);
AlertDialog.Builder builder = new AlertDialog.Builder(context, R.style.AttributionAlertDialogStyle);
- builder.setTitle(R.string.attributionsDialogTitle);
- builder.setAdapter(new ArrayAdapter<>(context, R.layout.attribution_list_item, items), new DialogInterface.OnClickListener() {
+ builder.setTitle(R.string.attributionTelemetryTitle);
+ LayoutInflater factory = LayoutInflater.from(context);
+ View content = factory.inflate(R.layout.attribution_telemetry_view, null);
+
+ ListView lv = (ListView) content.findViewById(R.id.telemetryOptionsList);
+ lv.setAdapter(new ArrayAdapter<String>(context, R.layout.attribution_list_item, items));
+ lv.setChoiceMode(ListView.CHOICE_MODE_SINGLE);
+
+ builder.setView(content);
+ final AlertDialog telemDialog = builder.show();
+ lv.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
- public void onClick(DialogInterface dialog, int which) {
- switch (which) {
+ public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
+ switch (position) {
case 0:
String url = context.getResources().getStringArray(R.array.attribution_links)[3];
Intent intent = new Intent(Intent.ACTION_VIEW);
intent.setData(Uri.parse(url));
context.startActivity(intent);
+ telemDialog.cancel();
return;
case 1:
MapboxEventManager.getMapboxEventManager(context).setTelemetryEnabled(false);
+ telemDialog.cancel();
return;
case 2:
MapboxEventManager.getMapboxEventManager(context).setTelemetryEnabled(true);
+ telemDialog.cancel();
return;
}
}
});
-
- builder.show();
return;
}
String url = context.getResources().getStringArray(R.array.attribution_links)[which];
diff --git a/platform/android/MapboxGLAndroidSDK/src/main/res/layout/attribution_telemetry_view.xml b/platform/android/MapboxGLAndroidSDK/src/main/res/layout/attribution_telemetry_view.xml
new file mode 100644
index 0000000000..b4d2326833
--- /dev/null
+++ b/platform/android/MapboxGLAndroidSDK/src/main/res/layout/attribution_telemetry_view.xml
@@ -0,0 +1,21 @@
+<?xml version="1.0" encoding="utf-8"?>
+<LinearLayout
+ xmlns:android="http://schemas.android.com/apk/res/android"
+ android:layout_width="fill_parent"
+ android:layout_height="fill_parent"
+ android:orientation="vertical"
+ >
+
+ <TextView
+ android:layout_width="fill_parent"
+ android:layout_height="wrap_content"
+ android:text="@string/attributionTelemetryMessage"
+ android:gravity="center_horizontal"/>
+
+ <ListView
+ android:id="@+id/telemetryOptionsList"
+ android:layout_width="fill_parent"
+ android:layout_height="wrap_content"
+ />
+
+</LinearLayout>
diff --git a/platform/android/MapboxGLAndroidSDK/src/main/res/values/dimens.xml b/platform/android/MapboxGLAndroidSDK/src/main/res/values/dimens.xml
index fd612d511c..5167ecf936 100644
--- a/platform/android/MapboxGLAndroidSDK/src/main/res/values/dimens.xml
+++ b/platform/android/MapboxGLAndroidSDK/src/main/res/values/dimens.xml
@@ -5,7 +5,8 @@
<dimen name="infowindow_offset">-2dp</dimen>
<dimen name="infowindow_line_width">1.5dp</dimen>
<dimen name="seven_dp">7dp</dimen>
+ <dimen name="eight_dp">8dp</dimen>
<dimen name="ten_dp">10dp</dimen>
<dimen name="sixteen_dp">16dp</dimen>
<dimen name="seventy_six_dp">76dp</dimen>
-</resources> \ No newline at end of file
+</resources>
diff --git a/platform/android/MapboxGLAndroidSDK/src/main/res/values/strings.xml b/platform/android/MapboxGLAndroidSDK/src/main/res/values/strings.xml
index eadcdcc043..1f3cd8c4e3 100644
--- a/platform/android/MapboxGLAndroidSDK/src/main/res/values/strings.xml
+++ b/platform/android/MapboxGLAndroidSDK/src/main/res/values/strings.xml
@@ -3,6 +3,8 @@
<string name="compassContentDescription">Map compass. Click to reset the map rotation to North.</string>
<string name="attributionsIconContentDescription">Attribution icon. Click to show attribution dialog.</string>
<string name="attributionsDialogTitle">Mapbox Android SDK</string>
+ <string name="attributionTelemetryTitle">Make Mapbox Maps Better</string>
+ <string name="attributionTelemetryMessage">You are helping to make OpenStreetMap and Mapbox maps better by contributing anonymous usage data.</string>
<string name="mapboxIconContentDescription">The Mapbox logo.</string>
<string name="infoWindowTitle">Title</string>
<string name="infoWindowDescription">Description</string>