diff options
Diffstat (limited to 'platform/android/MapboxGLAndroidSDK')
6 files changed, 48 insertions, 81 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 a0ff646dde..c1d807d451 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 @@ -18,7 +18,6 @@ import android.graphics.Canvas; import android.graphics.PointF; import android.graphics.RectF; import android.graphics.SurfaceTexture; -import android.graphics.drawable.ColorDrawable; import android.location.Location; import android.net.ConnectivityManager; import android.net.NetworkInfo; @@ -51,11 +50,9 @@ import android.view.TextureView; import android.view.View; import android.view.ViewConfiguration; import android.view.ViewGroup; -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; @@ -2869,14 +2866,15 @@ public class MapView extends FrameLayout { // Called when someone presses the attribution icon @Override - public void onClick(View v) { - Context context = v.getContext(); - String[] items = context.getResources().getStringArray(R.array.attribution_names); - AlertDialog.Builder builder = new AlertDialog.Builder(context, R.style.AttributionAlertDialogStyle); + public void onClick(View view) { + + AlertDialog.Builder builder = new AlertDialog.Builder(mapView.getContext(), R.style.TelemAlertDialogStyle); builder.setTitle(R.string.attributionsDialogTitle); - builder.setAdapter(new ArrayAdapter<>(context, R.layout.attribution_list_item, items), this); - AlertDialog dialog = builder.show(); - dialog.getWindow().setBackgroundDrawable(new ColorDrawable(mapView.getAttributionTintColor())); + String[] items = mapView.getContext().getResources().getStringArray(R.array.attribution_names); + builder.setAdapter(new ArrayAdapter<>(mapView.getContext(), R.layout.attribution_list_item, items), this); + AlertDialog attributionDialog = builder.show(); + + // TODO Change listview text color to mapView.getAttributionTintColor() } // Called when someone selects an attribution, 'Improve this map' adds location data to the url @@ -2884,45 +2882,38 @@ public class MapView extends FrameLayout { public void onClick(DialogInterface dialog, int which) { final Context context = ((Dialog) dialog).getContext(); if (which == ATTRIBUTION_INDEX_TELEMETRY_SETTINGS) { - - int array = R.array.attribution_telemetry_options; - if (MapboxEventManager.getMapboxEventManager().isTelemetryEnabled()) { - array = R.array.attribution_telemetry_options_already_participating; - } - String[] items = context.getResources().getStringArray(array); - AlertDialog.Builder builder = new AlertDialog.Builder(context, R.style.AttributionAlertDialogStyle); + AlertDialog.Builder builder = new AlertDialog.Builder(context, R.style.TelemAlertDialogStyle); 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() { + builder.setMessage(R.string.attributionTelemetryMessage); + builder.setPositiveButton(R.string.attributionTelemetryPositive, new DialogInterface.OnClickListener() { @Override - 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().setTelemetryEnabled(false); - telemDialog.cancel(); - return; - case 2: - MapboxEventManager.getMapboxEventManager().setTelemetryEnabled(true); - telemDialog.cancel(); - return; - } + public void onClick(DialogInterface dialog, int which) { + MapboxEventManager.getMapboxEventManager().setTelemetryEnabled(true); + dialog.cancel(); } }); + builder.setNeutralButton(R.string.attributionTelemetryNeutral, new DialogInterface.OnClickListener() { + @Override + public void onClick(DialogInterface dialog, int which) { + 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); + dialog.cancel(); + } + }); + builder.setNegativeButton(R.string.attributionTelemetryNegative, new DialogInterface.OnClickListener() { + @Override + public void onClick(DialogInterface dialog, int which) { + MapboxEventManager.getMapboxEventManager().setTelemetryEnabled(false); + dialog.cancel(); + } + }); + + AlertDialog telemDialog = builder.show(); + telemDialog.getButton(AlertDialog.BUTTON_POSITIVE).setTextColor(mapView.getAttributionTintColor()); + telemDialog.getButton(AlertDialog.BUTTON_NEGATIVE).setTextColor(mapView.getAttributionTintColor()); + telemDialog.getButton(AlertDialog.BUTTON_NEUTRAL).setTextColor(mapView.getAttributionTintColor()); return; } String url = context.getResources().getStringArray(R.array.attribution_links)[which]; diff --git a/platform/android/MapboxGLAndroidSDK/src/main/res/layout/attribution_list_item.xml b/platform/android/MapboxGLAndroidSDK/src/main/res/layout/attribution_list_item.xml index 1252fb194f..763bb118e0 100644 --- a/platform/android/MapboxGLAndroidSDK/src/main/res/layout/attribution_list_item.xml +++ b/platform/android/MapboxGLAndroidSDK/src/main/res/layout/attribution_list_item.xml @@ -1,11 +1,13 @@ <?xml version="1.0" encoding="utf-8"?> -<TextView xmlns:android="http://schemas.android.com/apk/res/android" +<TextView + xmlns:android="http://schemas.android.com/apk/res/android" android:id="@android:id/text1" android:layout_width="match_parent" android:layout_height="wrap_content" android:gravity="center_vertical" android:minHeight="?android:attr/listPreferredItemHeightSmall" - android:paddingLeft="16dp" - android:paddingRight="16dp" - android:textAppearance="?android:attr/textAppearanceListItemSmall" - android:textColor="@android:color/white" /> + android:paddingLeft="24dp" + android:paddingRight="24dp" + android:textAllCaps="true" + android:textAppearance="?android:attr/textAppearanceButton" + android:textColor="@color/mapbox_blue"/> 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 deleted file mode 100644 index b4d2326833..0000000000 --- a/platform/android/MapboxGLAndroidSDK/src/main/res/layout/attribution_telemetry_view.xml +++ /dev/null @@ -1,21 +0,0 @@ -<?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/arrays.xml b/platform/android/MapboxGLAndroidSDK/src/main/res/values/arrays.xml index d5d26d09d2..bb466880aa 100644 --- a/platform/android/MapboxGLAndroidSDK/src/main/res/values/arrays.xml +++ b/platform/android/MapboxGLAndroidSDK/src/main/res/values/arrays.xml @@ -6,16 +6,6 @@ <item>Improve this map</item> <item>Telemetry Settings</item> </array> - <array name="attribution_telemetry_options"> - <item>Tell Me More</item> - <item>Don\'t Participate</item> - <item>Participate</item> - </array> - <array name="attribution_telemetry_options_already_participating"> - <item>Tell Me More</item> - <item>Stop Participating</item> - <item>Keep Participating</item> - </array> <!-- If editing this array update MapView.ATTRIBUTION_INDEX_IMPROVE_THIS_MAP --> <array name="attribution_links" formatted="false" translatable="false"> <item>https://www.mapbox.com/about/maps/</item> diff --git a/platform/android/MapboxGLAndroidSDK/src/main/res/values/strings.xml b/platform/android/MapboxGLAndroidSDK/src/main/res/values/strings.xml index 687b85b2d8..c8bb9d65ba 100644 --- a/platform/android/MapboxGLAndroidSDK/src/main/res/values/strings.xml +++ b/platform/android/MapboxGLAndroidSDK/src/main/res/values/strings.xml @@ -5,6 +5,9 @@ <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="attributionTelemetryPositive">Agree</string> + <string name="attributionTelemetryNegative">Disagree</string> + <string name="attributionTelemetryNeutral">More info</string> <string name="mapboxIconContentDescription">The Mapbox logo.</string> <string name="infoWindowTitle">Title</string> <string name="infoWindowDescription">Description</string> diff --git a/platform/android/MapboxGLAndroidSDK/src/main/res/values/styles.xml b/platform/android/MapboxGLAndroidSDK/src/main/res/values/styles.xml index a46f58ae80..708cfc72e9 100644 --- a/platform/android/MapboxGLAndroidSDK/src/main/res/values/styles.xml +++ b/platform/android/MapboxGLAndroidSDK/src/main/res/values/styles.xml @@ -6,4 +6,6 @@ <item name="android:textColorPrimary">@android:color/white</item> </style> + <style name="TelemAlertDialogStyle" parent="Theme.AppCompat.Light.Dialog.Alert"/> + </resources>
\ No newline at end of file |