diff options
author | Brad Leege <bleege@gmail.com> | 2016-02-12 16:24:32 -0800 |
---|---|---|
committer | Brad Leege <bleege@gmail.com> | 2016-02-12 16:40:32 -0800 |
commit | 9841f940740d56dca347fe9a8383107c41bcee5e (patch) | |
tree | e6579709e2accb4a8f0ca869d83c8698d95ff1c4 /platform | |
parent | 13e2acbc754893efb945fe02d20824698415dcdb (diff) | |
download | qtlocation-mapboxgl-9841f940740d56dca347fe9a8383107c41bcee5e.tar.gz |
[android] #3907 - Adding Telemetry description to dialog
Diffstat (limited to 'platform')
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> |