From 2f8eda081034e0a1226a610be2ef97542a74a202 Mon Sep 17 00:00:00 2001 From: Jimmy Shih Date: Thu, 14 Nov 2013 17:16:42 -0800 Subject: [PATCH] Add a clear button at the end of the weight field --- MyTracks/res/layout/choose_activity_type.xml | 35 +++++++++++++------ .../ChooseActivityTypeDialogFragment.java | 16 ++++++++- .../apps/mytracks/util/StringUtils.java | 2 +- 3 files changed, 40 insertions(+), 13 deletions(-) diff --git a/MyTracks/res/layout/choose_activity_type.xml b/MyTracks/res/layout/choose_activity_type.xml index e906193a0..3c1c7e3b1 100644 --- a/MyTracks/res/layout/choose_activity_type.xml +++ b/MyTracks/res/layout/choose_activity_type.xml @@ -39,16 +39,29 @@ limitations under the License. android:layout_marginTop="4dp" android:paddingLeft="12dp" style="@style/TextMedium" /> - + + + + \ No newline at end of file diff --git a/MyTracks/src/com/google/android/apps/mytracks/fragments/ChooseActivityTypeDialogFragment.java b/MyTracks/src/com/google/android/apps/mytracks/fragments/ChooseActivityTypeDialogFragment.java index 155be107f..3a51d0b01 100644 --- a/MyTracks/src/com/google/android/apps/mytracks/fragments/ChooseActivityTypeDialogFragment.java +++ b/MyTracks/src/com/google/android/apps/mytracks/fragments/ChooseActivityTypeDialogFragment.java @@ -19,6 +19,7 @@ package com.google.android.apps.mytracks.fragments; import com.google.android.apps.mytracks.util.PreferencesUtils; import com.google.android.apps.mytracks.util.StringUtils; import com.google.android.apps.mytracks.util.TrackIconUtils; +import com.google.android.apps.mytracks.util.UnitConversions; import com.google.android.maps.mytracks.R; import android.app.Activity; @@ -33,6 +34,7 @@ import android.view.View; import android.widget.AdapterView; import android.widget.AdapterView.OnItemClickListener; import android.widget.GridView; +import android.widget.ImageButton; import android.widget.TextView; import java.util.ArrayList; @@ -101,7 +103,19 @@ public class ChooseActivityTypeDialogFragment extends DialogFragment { : R.string.description_weight_imperial); weight = (TextView) view.findViewById(R.id.choose_activity_type_weight); - + ImageButton imageButton = (ImageButton) view.findViewById( + R.id.choose_activity_type_weight_image_button); + imageButton.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + double weightDefault = PreferencesUtils.WEIGHT_DEFAULT; + if (!PreferencesUtils.isMetricUnits(getActivity())) { + weightDefault *= UnitConversions.KG_TO_LB; + } + weight.setText(StringUtils.formatWeight(weightDefault)); + } + }); + List imageIds = new ArrayList(); for (String iconValue : TrackIconUtils.getAllIconValues()) { imageIds.add(TrackIconUtils.getIconDrawable(iconValue)); diff --git a/MyTracks/src/com/google/android/apps/mytracks/util/StringUtils.java b/MyTracks/src/com/google/android/apps/mytracks/util/StringUtils.java index 809fcfc0a..be919f652 100644 --- a/MyTracks/src/com/google/android/apps/mytracks/util/StringUtils.java +++ b/MyTracks/src/com/google/android/apps/mytracks/util/StringUtils.java @@ -159,7 +159,7 @@ public class StringUtils { private static String formatDecimal(double value, int precision) { String result = String.format(Locale.getDefault(), "%1$,." + precision + "f", value); - return value % 1 == 0 ? result.substring(0, result.lastIndexOf('.')) : result; + return result.replaceAll("[0]*$", "").replaceAll("\\.$", ""); } /**