diff --git a/MyTracks/res/values/arrays_do_not_translate.xml b/MyTracks/res/values/arrays_do_not_translate.xml index 4b4dba9d4..c68590a93 100644 --- a/MyTracks/res/values/arrays_do_not_translate.xml +++ b/MyTracks/res/values/arrays_do_not_translate.xml @@ -182,6 +182,14 @@ limitations under the License. @string/sensor_type_value_zephyr @string/sensor_type_value_none + + @string/settings_stats_units_metric + @string/settings_stats_units_imperial + + + @string/stats_units_metric + @string/stats_units_imperial + @string/settings_map_track_color_mode_single @string/settings_map_track_color_mode_fixed diff --git a/MyTracks/res/values/do_not_translate.xml b/MyTracks/res/values/do_not_translate.xml index e6e45eeee..669867cde 100644 --- a/MyTracks/res/values/do_not_translate.xml +++ b/MyTracks/res/values/do_not_translate.xml @@ -93,6 +93,8 @@ Google은 이용자에 대한 위치정보의 이용∙제공사실을 위치정 DATE_LOCAL LOCATION NUMBER + IMPERIAL + METRIC com.google.android.apps.mytracks.END_CURRENT_TRACK com.google.android.apps.mytracks.PAUSE_CURRENT_TRACK com.google.android.apps.mytracks.RESUME_CURRENT_TRACK diff --git a/MyTracks/res/values/keys.xml b/MyTracks/res/values/keys.xml index 4c11ebc8d..cab2f9f93 100644 --- a/MyTracks/res/values/keys.xml +++ b/MyTracks/res/values/keys.xml @@ -31,7 +31,6 @@ limitations under the License. exportType mapType maxRecordingDistance - metricUnits minRecordingDistance minRecordingInterval minRequiredAccuracy @@ -42,6 +41,7 @@ limitations under the License. splitFrequency statsShowCoordinate statsShowGradeElevation + statsdUnits trackColorModeMedium trackColorModePercentage trackColorModeSlow diff --git a/MyTracks/res/xml/stats_settings.xml b/MyTracks/res/xml/stats_settings.xml index 104963d49..b837e8106 100644 --- a/MyTracks/res/xml/stats_settings.xml +++ b/MyTracks/res/xml/stats_settings.xml @@ -16,11 +16,9 @@ limitations under the License. --> - > arrayAdapter; - private boolean metricUnits = PreferencesUtils.METRIC_UNITS_DEFAULT; + private boolean metricUnits = true; private long recordingTrackId = PreferencesUtils.RECORDING_TRACK_ID_DEFAULT; private boolean recordingTrackPaused = PreferencesUtils.RECORDING_TRACK_PAUSED_DEFAULT; diff --git a/MyTracks/src/com/google/android/apps/mytracks/TrackListActivity.java b/MyTracks/src/com/google/android/apps/mytracks/TrackListActivity.java index 751b06608..0e24370c8 100644 --- a/MyTracks/src/com/google/android/apps/mytracks/TrackListActivity.java +++ b/MyTracks/src/com/google/android/apps/mytracks/TrackListActivity.java @@ -166,9 +166,8 @@ public class TrackListActivity extends AbstractSendToGoogleActivity @Override public void onSharedPreferenceChanged(SharedPreferences preferences, String key) { if (key == null || key.equals( - PreferencesUtils.getKey(TrackListActivity.this, R.string.metric_units_key))) { - metricUnits = PreferencesUtils.getBoolean(TrackListActivity.this, - R.string.metric_units_key, PreferencesUtils.METRIC_UNITS_DEFAULT); + PreferencesUtils.getKey(TrackListActivity.this, R.string.stats_units_key))) { + metricUnits = PreferencesUtils.isMetricUnits(TrackListActivity.this); } if (key == null || key.equals( PreferencesUtils.getKey(TrackListActivity.this, R.string.recording_track_id_key))) { @@ -286,7 +285,7 @@ public class TrackListActivity extends AbstractSendToGoogleActivity private SectionResourceCursorAdapter sectionResourceCursorAdapter; // Preferences - private boolean metricUnits = PreferencesUtils.METRIC_UNITS_DEFAULT; + private boolean metricUnits = true; private long recordingTrackId = PreferencesUtils.RECORDING_TRACK_ID_DEFAULT; private boolean recordingTrackPaused = PreferencesUtils.RECORDING_TRACK_PAUSED_DEFAULT; private boolean driveSync = PreferencesUtils.DRIVE_SYNC_DEFAULT; diff --git a/MyTracks/src/com/google/android/apps/mytracks/content/TrackDataHub.java b/MyTracks/src/com/google/android/apps/mytracks/content/TrackDataHub.java index d596e4221..a0ba420da 100644 --- a/MyTracks/src/com/google/android/apps/mytracks/content/TrackDataHub.java +++ b/MyTracks/src/com/google/android/apps/mytracks/content/TrackDataHub.java @@ -270,9 +270,8 @@ public class TrackDataHub implements DataSourceListener { PreferencesUtils.RECORDING_TRACK_PAUSED_DEFAULT); } if (key == null - || key.equals(PreferencesUtils.getKey(context, R.string.metric_units_key))) { - metricUnits = PreferencesUtils.getBoolean( - context, R.string.metric_units_key, PreferencesUtils.METRIC_UNITS_DEFAULT); + || key.equals(PreferencesUtils.getKey(context, R.string.stats_units_key))) { + metricUnits = PreferencesUtils.isMetricUnits(context); if (key != null) { for (TrackDataListener trackDataListener : trackDataManager.getListeners(TrackDataType.PREFERENCE)) { diff --git a/MyTracks/src/com/google/android/apps/mytracks/fragments/ChartFragment.java b/MyTracks/src/com/google/android/apps/mytracks/fragments/ChartFragment.java index 527f505a3..dd1ccccaa 100644 --- a/MyTracks/src/com/google/android/apps/mytracks/fragments/ChartFragment.java +++ b/MyTracks/src/com/google/android/apps/mytracks/fragments/ChartFragment.java @@ -64,7 +64,7 @@ public class ChartFragment extends Fragment implements TrackDataListener { private TripStatisticsUpdater tripStatisticsUpdater; private long startTime; - private boolean metricUnits = PreferencesUtils.METRIC_UNITS_DEFAULT; + private boolean metricUnits = true; private boolean reportSpeed = PreferencesUtils.REPORT_SPEED_DEFAULT; private int minRecordingDistance = PreferencesUtils.MIN_RECORDING_DISTANCE_DEFAULT; diff --git a/MyTracks/src/com/google/android/apps/mytracks/fragments/EulaDialogFragment.java b/MyTracks/src/com/google/android/apps/mytracks/fragments/EulaDialogFragment.java index b93e7ebfb..54ebdf249 100644 --- a/MyTracks/src/com/google/android/apps/mytracks/fragments/EulaDialogFragment.java +++ b/MyTracks/src/com/google/android/apps/mytracks/fragments/EulaDialogFragment.java @@ -120,8 +120,10 @@ public class EulaDialogFragment extends DialogFragment { @Override public void onClick(DialogInterface dialog, int which) { EulaUtils.setAcceptEula(fragmentActivity); - PreferencesUtils.setBoolean( - fragmentActivity, R.string.metric_units_key, !Locale.US.equals(Locale.getDefault())); + String statsUnits = fragmentActivity.getString( + Locale.US.equals(Locale.getDefault()) ? R.string.stats_units_imperial + : R.string.stats_units_metric); + PreferencesUtils.setString(fragmentActivity, R.string.stats_units_key, statsUnits); caller.onEulaDone(); } }); diff --git a/MyTracks/src/com/google/android/apps/mytracks/fragments/FrequencyDialogFragment.java b/MyTracks/src/com/google/android/apps/mytracks/fragments/FrequencyDialogFragment.java index 8be3ae1c8..0816ddb72 100644 --- a/MyTracks/src/com/google/android/apps/mytracks/fragments/FrequencyDialogFragment.java +++ b/MyTracks/src/com/google/android/apps/mytracks/fragments/FrequencyDialogFragment.java @@ -80,8 +80,7 @@ public class FrequencyDialogFragment extends DialogFragment { * Gets the frequency display options. */ private String[] getFrequencyDisplayOptions() { - boolean metricUnits = PreferencesUtils.getBoolean( - fragmentActivity, R.string.metric_units_key, PreferencesUtils.METRIC_UNITS_DEFAULT); + boolean metricUnits = PreferencesUtils.isMetricUnits(fragmentActivity); return StringUtils.getFrequencyOptions(fragmentActivity, metricUnits); } diff --git a/MyTracks/src/com/google/android/apps/mytracks/io/spreadsheets/SendSpreadsheetsAsyncTask.java b/MyTracks/src/com/google/android/apps/mytracks/io/spreadsheets/SendSpreadsheetsAsyncTask.java index a2b6a4a4f..4a3daeb11 100644 --- a/MyTracks/src/com/google/android/apps/mytracks/io/spreadsheets/SendSpreadsheetsAsyncTask.java +++ b/MyTracks/src/com/google/android/apps/mytracks/io/spreadsheets/SendSpreadsheetsAsyncTask.java @@ -241,8 +241,7 @@ public class SendSpreadsheetsAsyncTask extends AbstractSendAsyncTask { return false; } TripStatistics tripStatistics = track.getTripStatistics(); - boolean metricUnits = PreferencesUtils.getBoolean( - context, R.string.metric_units_key, PreferencesUtils.METRIC_UNITS_DEFAULT); + boolean metricUnits = PreferencesUtils.isMetricUnits(context); String distanceUnit = context.getString( metricUnits ? R.string.unit_kilometer : R.string.unit_mile); String speedUnit = context.getString( diff --git a/MyTracks/src/com/google/android/apps/mytracks/services/TrackRecordingService.java b/MyTracks/src/com/google/android/apps/mytracks/services/TrackRecordingService.java index 008338254..442278275 100644 --- a/MyTracks/src/com/google/android/apps/mytracks/services/TrackRecordingService.java +++ b/MyTracks/src/com/google/android/apps/mytracks/services/TrackRecordingService.java @@ -156,9 +156,8 @@ public class TrackRecordingService extends Service { PreferencesUtils.RECORDING_TRACK_PAUSED_DEFAULT); } if (key == null - || key.equals(PreferencesUtils.getKey(context, R.string.metric_units_key))) { - boolean metricUnits = PreferencesUtils.getBoolean( - context, R.string.metric_units_key, PreferencesUtils.METRIC_UNITS_DEFAULT); + || key.equals(PreferencesUtils.getKey(context, R.string.stats_units_key))) { + boolean metricUnits = PreferencesUtils.isMetricUnits(context); voiceExecutor.setMetricUnits(metricUnits); splitExecutor.setMetricUnits(metricUnits); } diff --git a/MyTracks/src/com/google/android/apps/mytracks/services/tasks/AnnouncementPeriodicTask.java b/MyTracks/src/com/google/android/apps/mytracks/services/tasks/AnnouncementPeriodicTask.java index ad2ee8ce0..646beee42 100644 --- a/MyTracks/src/com/google/android/apps/mytracks/services/tasks/AnnouncementPeriodicTask.java +++ b/MyTracks/src/com/google/android/apps/mytracks/services/tasks/AnnouncementPeriodicTask.java @@ -227,8 +227,7 @@ public class AnnouncementPeriodicTask implements PeriodicTask { */ @VisibleForTesting protected String getAnnouncement(TripStatistics tripStatistics) { - boolean metricUnits = PreferencesUtils.getBoolean( - context, R.string.metric_units_key, PreferencesUtils.METRIC_UNITS_DEFAULT); + boolean metricUnits = PreferencesUtils.isMetricUnits(context); boolean reportSpeed = PreferencesUtils.getBoolean( context, R.string.report_speed_key, PreferencesUtils.REPORT_SPEED_DEFAULT); double distance = tripStatistics.getTotalDistance() * UnitConversions.M_TO_KM; diff --git a/MyTracks/src/com/google/android/apps/mytracks/settings/MapSettingsActivity.java b/MyTracks/src/com/google/android/apps/mytracks/settings/MapSettingsActivity.java index 607486c76..77fa046d7 100644 --- a/MyTracks/src/com/google/android/apps/mytracks/settings/MapSettingsActivity.java +++ b/MyTracks/src/com/google/android/apps/mytracks/settings/MapSettingsActivity.java @@ -218,11 +218,10 @@ public class MapSettingsActivity extends AbstractSettingsActivity { * @param defaultValue the default value */ private void updateSpeedSummary(Preference preference, int keyId, int defaultValue) { - boolean metric = PreferencesUtils.getBoolean( - this, R.string.metric_units_key, PreferencesUtils.METRIC_UNITS_DEFAULT); + boolean metricUnits = PreferencesUtils.isMetricUnits(this); int displayValue = getSpeedDisplayValue(keyId, defaultValue); preference.setSummary(getString( - metric ? R.string.value_integer_kilometer_hour : R.string.value_integer_mile_hour, + metricUnits ? R.string.value_integer_kilometer_hour : R.string.value_integer_mile_hour, displayValue)); } @@ -249,8 +248,7 @@ public class MapSettingsActivity extends AbstractSettingsActivity { int value; try { value = Integer.parseInt(displayValue); - if (!PreferencesUtils.getBoolean( - this, R.string.metric_units_key, PreferencesUtils.METRIC_UNITS_DEFAULT)) { + if (!PreferencesUtils.isMetricUnits(this)) { value = (int) (value * UnitConversions.MI_TO_KM); } } catch (NumberFormatException e) { @@ -276,8 +274,7 @@ public class MapSettingsActivity extends AbstractSettingsActivity { */ private int getSpeedDisplayValue(int keyId, int defaultValue) { int value = PreferencesUtils.getInt(this, keyId, defaultValue); - if (!PreferencesUtils.getBoolean( - this, R.string.metric_units_key, PreferencesUtils.METRIC_UNITS_DEFAULT)) { + if (!PreferencesUtils.isMetricUnits(this)) { value = (int) (value * UnitConversions.KM_TO_MI); } return value; diff --git a/MyTracks/src/com/google/android/apps/mytracks/settings/RecordingSettingsActivity.java b/MyTracks/src/com/google/android/apps/mytracks/settings/RecordingSettingsActivity.java index 80ea5c3f0..06da4b795 100644 --- a/MyTracks/src/com/google/android/apps/mytracks/settings/RecordingSettingsActivity.java +++ b/MyTracks/src/com/google/android/apps/mytracks/settings/RecordingSettingsActivity.java @@ -38,8 +38,7 @@ public class RecordingSettingsActivity extends AbstractSettingsActivity { super.onCreate(bundle); addPreferencesFromResource(R.xml.recording_settings); - boolean metricUnits = PreferencesUtils.getBoolean( - this, R.string.metric_units_key, PreferencesUtils.METRIC_UNITS_DEFAULT); + boolean metricUnits = PreferencesUtils.isMetricUnits(this); configFrequencyPreference(R.string.voice_frequency_key, PreferencesUtils.VOICE_FREQUENCY_DEFAULT, R.array.frequency_values, metricUnits); diff --git a/MyTracks/src/com/google/android/apps/mytracks/settings/StatsSettingsActivity.java b/MyTracks/src/com/google/android/apps/mytracks/settings/StatsSettingsActivity.java index a68357de7..cdbd022e9 100644 --- a/MyTracks/src/com/google/android/apps/mytracks/settings/StatsSettingsActivity.java +++ b/MyTracks/src/com/google/android/apps/mytracks/settings/StatsSettingsActivity.java @@ -16,15 +16,14 @@ package com.google.android.apps.mytracks.settings; -import com.google.android.apps.mytracks.Constants; import com.google.android.apps.mytracks.util.PreferencesUtils; import com.google.android.maps.mytracks.R; -import android.content.Context; -import android.content.SharedPreferences; -import android.content.SharedPreferences.OnSharedPreferenceChangeListener; import android.os.Bundle; import android.preference.CheckBoxPreference; +import android.preference.ListPreference; +import android.preference.Preference; +import android.preference.Preference.OnPreferenceChangeListener; /** * An activity for accessing stats settings. @@ -33,64 +32,44 @@ import android.preference.CheckBoxPreference; */ public class StatsSettingsActivity extends AbstractSettingsActivity { - /* - * Note that sharedPreferenceChangeListenr cannot be an anonymous inner class. - * Anonymous inner class will get garbage collected. - */ - private final OnSharedPreferenceChangeListener - sharedPreferenceChangeListener = new OnSharedPreferenceChangeListener() { - @Override - public void onSharedPreferenceChanged(SharedPreferences preferences, String key) { - if (key == null || key.equals( - PreferencesUtils.getKey(StatsSettingsActivity.this, R.string.metric_units_key))) { - metricUnits = PreferencesUtils.getBoolean(StatsSettingsActivity.this, - R.string.metric_units_key, PreferencesUtils.METRIC_UNITS_DEFAULT); - } - if (key != null) { - runOnUiThread(new Runnable() { - @Override - public void run() { - updateUi(); - } - }); - } - } - }; - - private SharedPreferences sharedPreferences; - private boolean metricUnits = PreferencesUtils.METRIC_UNITS_DEFAULT; + private String statsUnits; @SuppressWarnings("deprecation") @Override protected void onCreate(Bundle bundle) { super.onCreate(bundle); addPreferencesFromResource(R.xml.stats_settings); - sharedPreferences = getSharedPreferences(Constants.SETTINGS_NAME, Context.MODE_PRIVATE); - } - @Override - protected void onStart() { - super.onStart(); - sharedPreferences.registerOnSharedPreferenceChangeListener(sharedPreferenceChangeListener); - sharedPreferenceChangeListener.onSharedPreferenceChanged(null, null); + ListPreference preference = (ListPreference) findPreference( + getString(R.string.stats_units_key)); + OnPreferenceChangeListener listener = new OnPreferenceChangeListener() { + @Override + public boolean onPreferenceChange(Preference pref, Object newValue) { + statsUnits = (String) newValue; + updateUi(); + return true; + } + }; + String value = PreferencesUtils.getString( + this, R.string.stats_units_key, PreferencesUtils.STATS_UNITS_DEFAULT); + String[] values = getResources().getStringArray(R.array.stats_units_values); + String[] options = getResources().getStringArray(R.array.stats_units_options); + configureListPreference(preference, options, options, values, value, listener); } @Override protected void onResume() { super.onResume(); + statsUnits = PreferencesUtils.getString( + this, R.string.stats_units_key, PreferencesUtils.STATS_UNITS_DEFAULT); updateUi(); } - @Override - protected void onStop() { - super.onStop(); - sharedPreferences.unregisterOnSharedPreferenceChangeListener(sharedPreferenceChangeListener); - } - @SuppressWarnings("deprecation") private void updateUi() { CheckBoxPreference reportSpeedCheckBoxPreference = (CheckBoxPreference) findPreference( getString(R.string.report_speed_key)); + boolean metricUnits = PreferencesUtils.STATS_UNITS_DEFAULT.equals(statsUnits); reportSpeedCheckBoxPreference.setSummaryOn( metricUnits ? getString(R.string.description_speed_metric) : getString(R.string.description_speed_imperial)); diff --git a/MyTracks/src/com/google/android/apps/mytracks/util/ChartURLGenerator.java b/MyTracks/src/com/google/android/apps/mytracks/util/ChartURLGenerator.java index d345d1758..1b1ab121b 100644 --- a/MyTracks/src/com/google/android/apps/mytracks/util/ChartURLGenerator.java +++ b/MyTracks/src/com/google/android/apps/mytracks/util/ChartURLGenerator.java @@ -46,8 +46,7 @@ public class ChartURLGenerator { */ public static String getChartUrl( Vector distances, Vector elevations, Track track, Context context) { - boolean metricUnits = PreferencesUtils.getBoolean( - context, R.string.metric_units_key, PreferencesUtils.METRIC_UNITS_DEFAULT); + boolean metricUnits = PreferencesUtils.isMetricUnits(context); return getChartUrl( distances, elevations, track, context.getString(R.string.stats_elevation), metricUnits); } diff --git a/MyTracks/src/com/google/android/apps/mytracks/util/PreferencesUtils.java b/MyTracks/src/com/google/android/apps/mytracks/util/PreferencesUtils.java index 84bba4f7f..5bb4bbaec 100644 --- a/MyTracks/src/com/google/android/apps/mytracks/util/PreferencesUtils.java +++ b/MyTracks/src/com/google/android/apps/mytracks/util/PreferencesUtils.java @@ -20,6 +20,7 @@ import com.google.android.apps.mytracks.Constants; import com.google.android.apps.mytracks.fragments.ExportDialogFragment.ExportType; import com.google.android.apps.mytracks.io.file.TrackFileFormat; import com.google.android.gms.location.DetectedActivity; +import com.google.android.maps.mytracks.R; import android.annotation.SuppressLint; import android.content.Context; @@ -76,7 +77,6 @@ public class PreferencesUtils { public static final String GOOGLE_ACCOUNT_DEFAULT = ""; public static final int MAP_TYPE_DEFAUlT = 1; public static final int MAX_RECORDING_DISTANCE_DEFAULT = 200; - public static final boolean METRIC_UNITS_DEFAULT = true; public static final int MIN_RECORDING_DISTANCE_DEFAULT = 5; // Values for min_recording_interval_key @@ -104,6 +104,7 @@ public class PreferencesUtils { // Stats public static final boolean STATS_SHOW_COORDINATE_DEFAULT = false; public static final boolean STATS_SHOW_GRADE_ELEVATION_DEFAULT = false; + public static final String STATS_UNITS_DEFAULT = "METRIC"; // Track color public static final String TRACK_COLOR_MODE_DEFAULT = "SINGLE"; @@ -246,4 +247,14 @@ public class PreferencesUtils { editor.putString(getKey(context, keyId), value); ApiAdapterFactory.getApiAdapter().applyPreferenceChanges(editor); } + + /** + * Returns true if metric units. + * + * @param context the context + */ + public static boolean isMetricUnits(Context context) { + return PreferencesUtils.STATS_UNITS_DEFAULT.equals( + getString(context, R.string.stats_units_key, PreferencesUtils.STATS_UNITS_DEFAULT)); + } } diff --git a/MyTracks/src/com/google/android/apps/mytracks/util/StatsUtils.java b/MyTracks/src/com/google/android/apps/mytracks/util/StatsUtils.java index 5460b2c50..2fc19c912 100644 --- a/MyTracks/src/com/google/android/apps/mytracks/util/StatsUtils.java +++ b/MyTracks/src/com/google/android/apps/mytracks/util/StatsUtils.java @@ -49,8 +49,7 @@ public class StatsUtils { * @param isRecording true if recording */ public static void setLocationValues(Activity activity, Location location, boolean isRecording) { - boolean metricUnits = PreferencesUtils.getBoolean( - activity, R.string.metric_units_key, PreferencesUtils.METRIC_UNITS_DEFAULT); + boolean metricUnits = PreferencesUtils.isMetricUnits(activity); boolean reportSpeed = PreferencesUtils.getBoolean( activity, R.string.report_speed_key, PreferencesUtils.REPORT_SPEED_DEFAULT); @@ -109,8 +108,7 @@ public class StatsUtils { * @param tripStatistics the trip statistics */ public static void setTripStatisticsValues(Activity activity, TripStatistics tripStatistics) { - boolean metricUnits = PreferencesUtils.getBoolean( - activity, R.string.metric_units_key, PreferencesUtils.METRIC_UNITS_DEFAULT); + boolean metricUnits = PreferencesUtils.isMetricUnits(activity); boolean reportSpeed = PreferencesUtils.getBoolean( activity, R.string.report_speed_key, PreferencesUtils.REPORT_SPEED_DEFAULT); diff --git a/MyTracks/src/com/google/android/apps/mytracks/widgets/TrackWidgetProvider.java b/MyTracks/src/com/google/android/apps/mytracks/widgets/TrackWidgetProvider.java index 77f281f3e..6180aaa90 100644 --- a/MyTracks/src/com/google/android/apps/mytracks/widgets/TrackWidgetProvider.java +++ b/MyTracks/src/com/google/android/apps/mytracks/widgets/TrackWidgetProvider.java @@ -195,8 +195,7 @@ public class TrackWidgetProvider extends AppWidgetProvider { boolean isRecording = recordingTrackId != PreferencesUtils.RECORDING_TRACK_ID_DEFAULT; boolean isPaused = PreferencesUtils.getBoolean(context, R.string.recording_track_paused_key, PreferencesUtils.RECORDING_TRACK_PAUSED_DEFAULT); - boolean metricUnits = PreferencesUtils.getBoolean( - context, R.string.metric_units_key, PreferencesUtils.METRIC_UNITS_DEFAULT); + boolean metricUnits = PreferencesUtils.isMetricUnits(context); boolean reportSpeed = PreferencesUtils.getBoolean( context, R.string.report_speed_key, PreferencesUtils.REPORT_SPEED_DEFAULT); int item1 = PreferencesUtils.getInt( diff --git a/MyTracksTest/src/com/google/android/apps/mytracks/content/TrackDataHubTest.java b/MyTracksTest/src/com/google/android/apps/mytracks/content/TrackDataHubTest.java index d9f40830e..dddd14f01 100644 --- a/MyTracksTest/src/com/google/android/apps/mytracks/content/TrackDataHubTest.java +++ b/MyTracksTest/src/com/google/android/apps/mytracks/content/TrackDataHubTest.java @@ -527,7 +527,8 @@ public class TrackDataHubTest extends AndroidTestCase { // Register two listeners PreferencesUtils.setBoolean(context, R.string.report_speed_key, true); - PreferencesUtils.setBoolean(context, R.string.metric_units_key, true); + PreferencesUtils.setString( + context, R.string.stats_units_key, PreferencesUtils.STATS_UNITS_DEFAULT); PreferencesUtils.setInt(context, R.string.min_required_accuracy_key, PreferencesUtils.MIN_REQUIRED_ACCURACY_DEFAULT); PreferencesUtils.setInt(context, R.string.min_recording_distance_key, @@ -571,9 +572,10 @@ public class TrackDataHubTest extends AndroidTestCase { expect(trackDataListener2.onMetricUnitsChanged(false)).andReturn(false); replay(); - PreferencesUtils.setBoolean(context, R.string.metric_units_key, false); + String imperialUnits = context.getString(R.string.stats_units_imperial); + PreferencesUtils.setString(context, R.string.stats_units_key, imperialUnits); listener.onSharedPreferenceChanged( - sharedPreferences, PreferencesUtils.getKey(context, R.string.metric_units_key)); + sharedPreferences, PreferencesUtils.getKey(context, R.string.stats_units_key)); verifyAndReset(); } @@ -762,15 +764,17 @@ public class TrackDataHubTest extends AndroidTestCase { * the key is R.string.metric_units_key. */ public void testNotifyPreferenceChanged_metricUnitsNoNotify() { - boolean value = false; - PreferencesUtils.setBoolean(context, R.string.metric_units_key, value); - trackDataHub.notifyPreferenceChanged(PreferencesUtils - .getKey(context, R.string.metric_units_key)); - assertEquals(value, trackDataHub.isMetricUnits()); - PreferencesUtils.setBoolean(context, R.string.metric_units_key, !value); - trackDataHub.notifyPreferenceChanged(PreferencesUtils - .getKey(context, R.string.metric_units_key)); - assertEquals(!value, trackDataHub.isMetricUnits()); + String imperialUnits = context.getString(R.string.stats_units_imperial); + + PreferencesUtils.setString(context, R.string.stats_units_key, imperialUnits); + trackDataHub.notifyPreferenceChanged( + PreferencesUtils.getKey(context, R.string.stats_units_key)); + assertEquals(false, trackDataHub.isMetricUnits()); + PreferencesUtils.setString( + context, R.string.stats_units_key, PreferencesUtils.STATS_UNITS_DEFAULT); + trackDataHub.notifyPreferenceChanged( + PreferencesUtils.getKey(context, R.string.stats_units_key)); + assertEquals(true, trackDataHub.isMetricUnits()); } diff --git a/MyTracksTest/src/com/google/android/apps/mytracks/services/TrackRecordingServiceTest.java b/MyTracksTest/src/com/google/android/apps/mytracks/services/TrackRecordingServiceTest.java index a2431ad6a..d84e36a24 100644 --- a/MyTracksTest/src/com/google/android/apps/mytracks/services/TrackRecordingServiceTest.java +++ b/MyTracksTest/src/com/google/android/apps/mytracks/services/TrackRecordingServiceTest.java @@ -642,14 +642,15 @@ public class TrackRecordingServiceTest extends ServiceTestCase