From da9864f25d03cc8cda4df0cb7e675f3abca2a67b Mon Sep 17 00:00:00 2001 From: Cameron Mace Date: Fri, 21 Oct 2016 10:29:12 -0400 Subject: [PATCH] Made telemetry dialog material (#6726) * Made telemetry dialog material * cleaned up attribution_main_menu --- .../com/mapbox/mapboxsdk/maps/MapView.java | 81 +++++++++---------- .../main/res/layout/attribution_list_item.xml | 12 +-- .../res/layout/attribution_telemetry_view.xml | 21 ----- .../src/main/res/values/arrays.xml | 10 --- .../src/main/res/values/strings.xml | 3 + .../src/main/res/values/styles.xml | 2 + 6 files changed, 48 insertions(+), 81 deletions(-) delete mode 100644 platform/android/MapboxGLAndroidSDK/src/main/res/layout/attribution_telemetry_view.xml 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 a0ff646dd..c1d807d45 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(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 1252fb194..763bb118e 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 @@ - + 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 b4d232683..000000000 --- a/platform/android/MapboxGLAndroidSDK/src/main/res/layout/attribution_telemetry_view.xml +++ /dev/null @@ -1,21 +0,0 @@ - - - - - - - - diff --git a/platform/android/MapboxGLAndroidSDK/src/main/res/values/arrays.xml b/platform/android/MapboxGLAndroidSDK/src/main/res/values/arrays.xml index d5d26d09d..bb466880a 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 @@ Improve this map Telemetry Settings - - Tell Me More - Don\'t Participate - Participate - - - Tell Me More - Stop Participating - Keep Participating - https://www.mapbox.com/about/maps/ diff --git a/platform/android/MapboxGLAndroidSDK/src/main/res/values/strings.xml b/platform/android/MapboxGLAndroidSDK/src/main/res/values/strings.xml index 687b85b2d..c8bb9d65b 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 @@ Mapbox Android SDK Make Mapbox Maps Better You are helping to make OpenStreetMap and Mapbox maps better by contributing anonymous usage data. + Agree + Disagree + More info The Mapbox logo. Title Description diff --git a/platform/android/MapboxGLAndroidSDK/src/main/res/values/styles.xml b/platform/android/MapboxGLAndroidSDK/src/main/res/values/styles.xml index a46f58ae8..708cfc72e 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 @@ @android:color/white +