merge from main

This commit is contained in:
Jimmy Shih
2011-11-11 12:31:07 -08:00
parent cc4d57bc0c
commit c815579cb9
8 changed files with 949 additions and 355 deletions
+1 -1
View File
@@ -36,7 +36,7 @@ limitations under the License.
<TextView
android:layout_height="wrap_content"
android:layout_width="wrap_content"
android:text="@string/about_copyright_message"
android:text="@string/about_copyright_notice"
android:textSize="15sp" />
</LinearLayout>
</TableRow>
-280
View File
@@ -1,280 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
Copyright 2010 Google Inc.
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
-->
<resources>
<!-- Minimum recording distance -->
<string-array name="min_recording_distance_options">
<item>1 m</item>
<item>2 m</item>
<item>3 m</item>
<item>4 m</item>
<item>5 m (recommended)</item>
<item>10 m</item>
<item>100 m</item>
</string-array>
<string-array name="min_recording_distance_options_ft">
<item>3 ft</item>
<item>6 ft</item>
<item>10 ft</item>
<item>13 ft</item>
<item>16 ft (recommended)</item>
<item>33 ft</item>
<item>328 ft</item>
</string-array>
<!-- Maximum recording distance -->
<string-array name="max_recording_distance_options">
<item>50 m</item>
<item>100 m</item>
<item>200 m (recommended)</item>
<item>500 m</item>
<item>1000 m</item>
<item>5000 m</item>
</string-array>
<string-array name="max_recording_distance_options_ft">
<item>164 ft</item>
<item>328 ft</item>
<item>656 ft (recommended)</item>
<item>1640 ft</item>
<item>0.6 miles</item>
<item>3.1 miles</item>
</string-array>
<!-- Minimum recording interval -->
<string-array name="min_recording_interval_options">
<item>battery miser (adaptive)</item>
<item>high accuracy (adaptive)</item>
<item>highest (recommended)</item>
<item>2 s</item>
<item>3 s</item>
<item>4 s</item>
<item>5 s</item>
<item>10 s</item>
<item>20 s</item>
<item>30 s</item>
<item>1 min</item>
<item>2 min</item>
<item>5 min</item>
<item>10 min</item>
<item>15 min</item>
<item>30 min</item>
</string-array>
<!-- Minimum required accuracy -->
<string-array name="min_required_accuracy_options">
<item>10 m (excellent GPS signal)</item>
<item>20 m</item>
<item>50 m</item>
<item>100 m</item>
<item>200 m (recommended)</item>
<item>500 m</item>
<item>1000 m</item>
<item>2000 m</item>
<item>5000 m (poor GPS signal)</item>
</string-array>
<string-array name="min_required_accuracy_options_ft">
<item>33 ft (excellent GPS signal)</item>
<item>66 ft</item>
<item>165 ft</item>
<item>328 ft</item>
<item>656 ft (recommended)</item>
<item>1640 ft</item>
<item>0.6 miles</item>
<item>1.2 miles</item>
<item>3.1 miles (poor GPS signal)</item>
</string-array>
<!-- Task frequency -->
<string-array name="task_frequency_options">
<item>Off</item>
<item>100 km</item>
<item>50 km</item>
<item>25 km</item>
<item>10 km</item>
<item>5 km</item>
<item>1 km</item>
<item>60 min</item>
<item>30 min</item>
<item>15 min</item>
<item>10 min</item>
<item>5 min</item>
<item>2 min</item>
<item>1 min</item>
</string-array>
<string-array name="task_frequency_options_ft">
<item>Off</item>
<item>100 mi</item>
<item>50 mi</item>
<item>25 mi</item>
<item>10 mi</item>
<item>5 mi</item>
<item>1 mi</item>
<item>60 min</item>
<item>30 min</item>
<item>15 min</item>
<item>10 min</item>
<item>5 min</item>
<item>2 min</item>
<item>1 min</item>
</string-array>
<!-- Auto-resume track timeout -->
<string-array name="auto_resume_track_timeout_options">
<item>Never</item>
<item>5 min</item>
<item>10 min</item>
<item>15 min</item>
<item>Always</item>
</string-array>
<!-- Other non-preference arrays -->
<array name="activity_types">
<item>unknown</item>
<item>mixed type</item>
<item>other</item>
<item>running</item>
<item>street running</item>
<item>track running</item>
<item>trail running</item>
<item>walking</item>
<item>speed walking</item>
<item>hiking</item>
<item>trail hiking</item>
<item>off trail hiking</item>
<item>climbing</item>
<item>cycling</item>
<item>road biking</item>
<item>mountain biking</item>
<item>track cycling</item>
<item>skating</item>
<item>inline skating</item>
<item>skate boarding</item>
<item>roller skiing (classic)</item>
<item>roller skiing (skate)</item>
<item>cross-country skiing (classic)</item>
<item>cross-country skiing (skate)</item>
<item>snow shoeing</item>
<item>skiing</item>
<item>snow boarding</item>
<item>sled</item>
<item>ice sailing</item>
<item>sailing</item>
<item>paddling</item>
<item>kayaking</item>
<item>rowing</item>
<item>motor boating</item>
<item>ferry</item>
<item>RC boat</item>
<item>surfing</item>
<item>wind surfing</item>
<item>kite surfing</item>
<item>water skiing</item>
<item>wake boarding</item>
<item>airplane</item>
<item>seaplane</item>
<item>commercial airplane</item>
<item>helicopter</item>
<item>hot air balloon</item>
<item>blimp</item>
<item>RC airplane</item>
<item>RC helicopter</item>
<item>sky jumping</item>
<item>gliding</item>
<item>hang gliding</item>
<item>para gliding</item>
<item>riding</item>
<item>horse back riding</item>
<item>donkey back riding</item>
<item>driving car</item>
<item>driving bus</item>
<item>train</item>
<item>motor bike</item>
<item>dirt bike</item>
<item>ATV</item>
<item>land sailing</item>
<item>frisbee</item>
<item>ultimate frisbee</item>
</array>
<array name="waypoint_types">
<item>ATM</item>
<item>bank</item>
<item>bar</item>
<item>barbeque</item>
<item>building</item>
<item>bus stop</item>
<item>cafe</item>
<item>campfire</item>
<item>campground</item>
<item>church</item>
<item>coffee house</item>
<item>convenience store</item>
<item>drinking water</item>
<item>falling rocks</item>
<item>ferry</item>
<item>fire place</item>
<item>fire station</item>
<item>fishing</item>
<item>gas station</item>
<item>golf course</item>
<item>grocery store</item>
<item>hair dresser</item>
<item>harbor</item>
<item>hiking path</item>
<item>hotel</item>
<item>house</item>
<item>information</item>
<item>intersection</item>
<item>mail box</item>
<item>market</item>
<item>meeting point</item>
<item>opera</item>
<item>parking</item>
<item>post office</item>
<item>pothole</item>
<item>police station</item>
<item>railway crossing</item>
<item>restaurant</item>
<item>shopping</item>
<item>sight</item>
<item>store</item>
<item>swimming pool</item>
<item>telephone</item>
<item>theater</item>
<item>toilet</item>
<item>tourist information</item>
<item>tunnel</item>
<item>tree</item>
<item>waterfall</item>
<item>water fountain</item>
<item>way point</item>
</array>
</resources>
@@ -136,5 +136,126 @@ limitations under the License.
<item>TCX</item>
</array>
<array name="activity_types">
<item>@string/activity_type_airplane</item>
<item>@string/activity_type_atv</item>
<item>@string/activity_type_blimp</item>
<item>@string/activity_type_climbing</item>
<item>@string/activity_type_commercial_airplane</item>
<item>@string/activity_type_cross_country_skiing_classic</item>
<item>@string/activity_type_cross_country_skiing_skate</item>
<item>@string/activity_type_cycling</item>
<item>@string/activity_type_dirt_bike</item>
<item>@string/activity_type_donkey_back_riding</item>
<item>@string/activity_type_driving_bus</item>
<item>@string/activity_type_driving_car</item>
<item>@string/activity_type_ferry</item>
<item>@string/activity_type_frisbee</item>
<item>@string/activity_type_gliding</item>
<item>@string/activity_type_hang_gliding</item>
<item>@string/activity_type_helicopter</item>
<item>@string/activity_type_hiking</item>
<item>@string/activity_type_horse_back_riding</item>
<item>@string/activity_type_hot_air_balloon</item>
<item>@string/activity_type_ice_sailing</item>
<item>@string/activity_type_inline_skating</item>
<item>@string/activity_type_kayaking</item>
<item>@string/activity_type_kite_surfing</item>
<item>@string/activity_type_land_sailing</item>
<item>@string/activity_type_mixed_type</item>
<item>@string/activity_type_motor_bike</item>
<item>@string/activity_type_motor_boating</item>
<item>@string/activity_type_mountain_biking</item>
<item>@string/activity_type_off_trail_hiking</item>
<item>@string/activity_type_other</item>
<item>@string/activity_type_paddling</item>
<item>@string/activity_type_para_gliding</item>
<item>@string/activity_type_rc_airplane</item>
<item>@string/activity_type_rc_boat</item>
<item>@string/activity_type_rc_helicopter</item>
<item>@string/activity_type_riding</item>
<item>@string/activity_type_road_biking</item>
<item>@string/activity_type_roller_skiing_classic</item>
<item>@string/activity_type_roller_skiing_skate</item>
<item>@string/activity_type_rowing</item>
<item>@string/activity_type_running</item>
<item>@string/activity_type_sailing</item>
<item>@string/activity_type_seaplane</item>
<item>@string/activity_type_skate_boarding</item>
<item>@string/activity_type_skating</item>
<item>@string/activity_type_skiing</item>
<item>@string/activity_type_sky_jumping</item>
<item>@string/activity_type_sled</item>
<item>@string/activity_type_snow_boarding</item>
<item>@string/activity_type_snow_shoeing</item>
<item>@string/activity_type_speed_walking</item>
<item>@string/activity_type_street_running</item>
<item>@string/activity_type_surfing</item>
<item>@string/activity_type_track_cycling</item>
<item>@string/activity_type_track_running</item>
<item>@string/activity_type_trail_hiking</item>
<item>@string/activity_type_trail_running</item>
<item>@string/activity_type_train</item>
<item>@string/activity_type_ultimate_frisbee</item>
<item>@string/activity_type_unknown</item>
<item>@string/activity_type_wakeboarding</item>
<item>@string/activity_type_walking</item>
<item>@string/activity_type_water_skiing</item>
<item>@string/activity_type_wind_surfing</item>
</array>
<array name="waypoint_types">
<item>@string/waypoint_type_atm</item>
<item>@string/waypoint_type_bank</item>
<item>@string/waypoint_type_bar</item>
<item>@string/waypoint_type_barbeque</item>
<item>@string/waypoint_type_building</item>
<item>@string/waypoint_type_bus_stop</item>
<item>@string/waypoint_type_cafe</item>
<item>@string/waypoint_type_campfire</item>
<item>@string/waypoint_type_campground</item>
<item>@string/waypoint_type_church</item>
<item>@string/waypoint_type_coffee_house</item>
<item>@string/waypoint_type_convenience_store</item>
<item>@string/waypoint_type_drinking_water</item>
<item>@string/waypoint_type_falling_rocks</item>
<item>@string/waypoint_type_ferry</item>
<item>@string/waypoint_type_fire_place</item>
<item>@string/waypoint_type_fire_station</item>
<item>@string/waypoint_type_fishing</item>
<item>@string/waypoint_type_gas_station</item>
<item>@string/waypoint_type_golf_course</item>
<item>@string/waypoint_type_grocery_store</item>
<item>@string/waypoint_type_hair_dresser</item>
<item>@string/waypoint_type_harbor</item>
<item>@string/waypoint_type_hiking_path</item>
<item>@string/waypoint_type_hotel</item>
<item>@string/waypoint_type_house</item>
<item>@string/waypoint_type_information</item>
<item>@string/waypoint_type_intersection</item>
<item>@string/waypoint_type_mail_box</item>
<item>@string/waypoint_type_market</item>
<item>@string/waypoint_type_meeting_point</item>
<item>@string/waypoint_type_opera</item>
<item>@string/waypoint_type_parking</item>
<item>@string/waypoint_type_police_station</item>
<item>@string/waypoint_type_post_office</item>
<item>@string/waypoint_type_pothole</item>
<item>@string/waypoint_type_railway_crossing</item>
<item>@string/waypoint_type_restaurant</item>
<item>@string/waypoint_type_shopping</item>
<item>@string/waypoint_type_sight</item>
<item>@string/waypoint_type_store</item>
<item>@string/waypoint_type_swimming_pool</item>
<item>@string/waypoint_type_telephone</item>
<item>@string/waypoint_type_theater</item>
<item>@string/waypoint_type_toilet</item>
<item>@string/waypoint_type_tourist_information</item>
<item>@string/waypoint_type_tree</item>
<item>@string/waypoint_type_tunnel</item>
<item>@string/waypoint_type_waterfall</item>
<item>@string/waypoint_type_water_fountain</item>
<item>@string/waypoint_type_way_point</item>
</array>
</resources>
+16 -13
View File
@@ -16,6 +16,8 @@ limitations under the License.
-->
<resources>
<!-- DO NOT TRANSLATE ANY STRINGS IN THIS FILE. -->
<!-- Application Name -->
<string name="app_name">My Tracks</string>
<string name="track_recording_service_name">Track Recording Service</string>
@@ -24,21 +26,20 @@ limitations under the License.
<!-- About Dialog -->
<string name="about_googlegroups">mytracks@googlegroups.com</string>
<string name="about_privacy_weburl">m.google.com/privacy</string>
<string name="about_copyright_message">Copyright 2009 Google Inc.</string>
<string name="about_bart">Bartłomiej Niechwiej</string>
<string name="about_dylan">Dylan Casey</string>
<string name="about_leif">Leif Hendrik Wilden</string>
<string name="about_rdamazio">Rodrigo Damazio Bovendorp</string>
<string name="about_sandor">Sandor Dornbush</string>
<!-- Sensor Type values stored in preference -->
<!-- Sensor Type Values -->
<string name="sensor_type_value_none">NONE</string>
<string name="sensor_type_value_ant">ANT</string>
<string name="sensor_type_value_srm_ant_bridge">SRM_ANT_BRIDGE</string>
<string name="sensor_type_value_polar">POLAR</string>
<string name="sensor_type_value_zephyr">ZEPHYR</string>
<!-- Track Color Mode values stored in preference -->
<!-- Track Color Mode Values -->
<string name="track_color_mode_value_none">NONE</string>
<string name="track_color_mode_value_fixed">FIXED</string>
<string name="track_color_mode_value_dynamic">DYNAMIC</string>
@@ -51,19 +52,21 @@ limitations under the License.
<string name="send_google_my_maps_url">maps.google.com</string>
<string name="send_google_docs_url">docs.google.com</string>
<!-- ID for Google Analytics -->
<!-- Google Analytics ID -->
<string name="google_analytics_id">UA-7222692-2</string>
<!-- Symbols -->
<string name="percent">%</string>
<!-- Intent actions -->
<!-- Symbols -->
<string name="percent">%</string>
<!-- Intent Actions -->
<string name="save_intent_action">android.intent.action.SAVE</string>
<string name="start_new_track_action">com.google.android.apps.mytracks.START_NEW_TRACK</string>
<string name="end_current_track_action">com.google.android.apps.mytracks.END_CURRENT_TRACK
</string>
<string name="end_current_track_action">
com.google.android.apps.mytracks.END_CURRENT_TRACK
</string>
<!-- Permissions -->
<!-- Permission for MyTracks notifications. -->
<string name="mytracks_notifications_permission">com.google.android.apps.mytracks.MYTRACKS_NOTIFICATIONS</string>
<!--My Tracks Notifications Permission. -->
<string name="mytracks_notifications_permission">
com.google.android.apps.mytracks.MYTRACKS_NOTIFICATIONS
</string>
</resources>
-3
View File
@@ -19,10 +19,8 @@ limitations under the License.
<string name="allow_access_key">allowAccess</string>
<string name="announcement_frequency_key">announcementFrequency</string>
<string name="ant_heart_rate_sensor_id_key">antHeartRateSensorId</string>
<string name="ant_power_sensor_id_key">antPowerSensorId</string>
<string name="ant_srm_bridge_sensor_id_key">antSRMBridgeSensorId</string>
<string name="auto_resume_track_timeout_key">autoResumeTrackTimeout</string>
<string name="bluetooth_device_key">bluetoothDevice</string>
<string name="bluetooth_pairing_key">bluetoothPairing</string>
<string name="bluetooth_sensor_key">bluetoothSensor</string>
<string name="default_activity_key">defaultActivity</string>
@@ -32,7 +30,6 @@ limitations under the License.
<string name="min_recording_distance_key">minRecordingDistance</string>
<string name="min_recording_interval_key">minRecordingInterval</string>
<string name="min_required_accuracy_key">minRequiredAccuracy</string>
<string name="modular_stats_display_key">modularStatsDisplay</string>
<string name="pick_existing_map_key">pickExistingMap</string>
<string name="report_speed_key">reportSpeed</string>
<string name="send_to_docs_key">sendToDocs</string>
+568 -4
View File
@@ -17,9 +17,13 @@ limitations under the License.
<resources>
<!-- About Page -->
<string name="about_copyright_notice"
translation_description="In the 'About' page, the copyright notice.">
Copyright 2009 Google Inc.
</string>
<string name="about_license"
translation_description="In the 'About' page, the button on the bottom to view the terms
of service agreement.">
translation_description="In the 'About' page, the button on the bottom to view the terms of
service agreement.">
License
</string>
<string name="about_privacy"
@@ -43,6 +47,275 @@ limitations under the License.
Version:
</string>
<!-- Activity Type -->
<string name="activity_type_airplane"
translation_description="When entering the Activity Type, an option for airplane.">
airplane
</string>
<string name="activity_type_atv"
translation_description="When entering the Activity Type, an option for ATV (All Terrain
Vehicles).">
ATV
</string>
<string name="activity_type_blimp"
translation_description="When entering the Activity Type, an option for blimp.">
blimp
</string>
<string name="activity_type_climbing"
translation_description="When entering the Activity Type, an option for climbing.">
climbing
</string>
<string name="activity_type_commercial_airplane"
translation_description="When entering the Activity Type, an option for commercial airplane.">
commercial airplane
</string>
<string name="activity_type_cross_country_skiing_classic"
translation_description="When entering the Activity Type, an option for cross-country skiing
(classic).">
cross-country skiing (classic)
</string>
<string name="activity_type_cross_country_skiing_skate"
translation_description="When entering the Activity Type, an option for cross-country skiing
(skate).">
cross-country skiing (skate)
</string>
<string name="activity_type_cycling"
translation_description="When entering the Activity Type, an option for cycling.">
cycling
</string>
<string name="activity_type_dirt_bike"
translation_description="When entering the Activity Type, an option for dirt bike.">
dirt bike
</string>
<string name="activity_type_donkey_back_riding"
translation_description="When entering the Activity Type, an option for donkey back riding.">
donkey back riding
</string>
<string name="activity_type_driving_bus"
translation_description="When entering the Activity Type, an option for driving bus.">
driving bus
</string>
<string name="activity_type_driving_car"
translation_description="When entering the Activity Type, an option for driving car.">
driving car
</string>
<string name="activity_type_ferry"
translation_description="When entering the Activity Type, an option for ferry.">
ferry
</string>
<string name="activity_type_frisbee"
translation_description="When entering the Activity Type, an option for frisbee.">
frisbee
</string>
<string name="activity_type_gliding"
translation_description="When entering the Activity Type, an option for gliding.">
gliding
</string>
<string name="activity_type_hang_gliding"
translation_description="When entering the Activity Type, an option for hang gliding.">
hang gliding
</string>
<string name="activity_type_helicopter"
translation_description="When entering the Activity Type, an option for helicopter.">
helicopter
</string>
<string name="activity_type_hiking"
translation_description="When entering the Activity Type, an option for hiking.">
hiking
</string>
<string name="activity_type_horse_back_riding"
translation_description="When entering the Activity Type, an option for horse back riding.">
horse back riding
</string>
<string name="activity_type_hot_air_balloon"
translation_description="When entering the Activity Type, an option for hot air balloon.">
hot air balloon
</string>
<string name="activity_type_ice_sailing"
translation_description="When entering the Activity Type, an option for ice sailing.">
ice sailing
</string>
<string name="activity_type_inline_skating"
translation_description="When entering the Activity Type, an option for inline skating.">
inline skating
</string>
<string name="activity_type_kayaking"
translation_description="When entering the Activity Type, an option for kayaking.">
kayaking
</string>
<string name="activity_type_kite_surfing"
translation_description="When entering the Activity Type, an option for kite surfing.">
kite surfing
</string>
<string name="activity_type_land_sailing"
translation_description="When entering the Activity Type, an option for land sailing.">
land sailing
</string>
<string name="activity_type_mixed_type"
translation_description="When entering the Activity Type, an option for mixed type.">
mixed type
</string>
<string name="activity_type_motor_bike"
translation_description="When entering the Activity Type, an option for motor bike.">
motor bike
</string>
<string name="activity_type_motor_boating"
translation_description="When entering the Activity Type, an option for motor boating.">
motor boating
</string>
<string name="activity_type_mountain_biking"
translation_description="When entering the Activity Type, an option for mountain biking.">
mountain biking
</string>
<string name="activity_type_off_trail_hiking"
translation_description="When entering the Activity Type, an option for off trail hiking.">
off trail hiking
</string>
<string name="activity_type_other"
translation_description="When entering the Activity Type, an option for other.">
other
</string>
<string name="activity_type_paddling"
translation_description="When entering the Activity Type, an option for paddling.">
paddling
</string>
<string name="activity_type_para_gliding"
translation_description="When entering the Activity Type, an option for para gliding.">
para gliding
</string>
<string name="activity_type_rc_airplane"
translation_description="When entering the Activity Type, an option for RC (Remote Controlled)
airplane.">
RC airplane
</string>
<string name="activity_type_rc_boat"
translation_description="When entering the Activity Type, an option for RC (Remote Controlled)
boat.">
RC boat
</string>
<string name="activity_type_rc_helicopter"
translation_description="When entering the Activity Type, an option for RC (Remote Controlled)
helicopter.">
RC helicopter
</string>
<string name="activity_type_riding"
translation_description="When entering the Activity Type, an option for riding.">
riding
</string>
<string name="activity_type_road_biking"
translation_description="When entering the Activity Type, an option for road biking.">
road biking
</string>
<string name="activity_type_roller_skiing_classic"
translation_description="When entering the Activity Type, an option for roller skiing
(classic).">
roller skiing (classic)
</string>
<string name="activity_type_roller_skiing_skate"
translation_description="When entering the Activity Type, an option for roller skiing (skate).">
roller skiing (skate)
</string>
<string name="activity_type_rowing"
translation_description="When entering the Activity Type, an option for rowing.">
rowing
</string>
<string name="activity_type_running"
translation_description="When entering the Activity Type, an option for running.">
running
</string>
<string name="activity_type_sailing"
translation_description="When entering the Activity Type, an option for sailing.">
sailing
</string>
<string name="activity_type_seaplane"
translation_description="When entering the Activity Type, an option for seaplane.">
seaplane
</string>
<string name="activity_type_skate_boarding"
translation_description="When entering the Activity Type, an option for skate boarding.">
skate boarding
</string>
<string name="activity_type_skating"
translation_description="When entering the Activity Type, an option for skating.">
skating
</string>
<string name="activity_type_skiing"
translation_description="When entering the Activity Type, an option for skiing.">
skiing
</string>
<string name="activity_type_sky_jumping"
translation_description="When entering the Activity Type, an option for sky jumping.">
sky jumping
</string>
<string name="activity_type_sled"
translation_description="When entering the Activity Type, an option for sled.">
sled
</string>
<string name="activity_type_snow_boarding"
translation_description="When entering the Activity Type, an option for snow boarding.">
snow boarding
</string>
<string name="activity_type_snow_shoeing"
translation_description="When entering the Activity Type, an option for snow shoeing.">
snow shoeing
</string>
<string name="activity_type_speed_walking"
translation_description="When entering the Activity Type, an option for speed walking.">
speed walking
</string>
<string name="activity_type_street_running"
translation_description="When entering the Activity Type, an option for street running.">
street running
</string>
<string name="activity_type_surfing"
translation_description="When entering the Activity Type, an option for surfing.">
surfing
</string>
<string name="activity_type_track_cycling"
translation_description="When entering the Activity Type, an option for track cycling.">
track cycling
</string>
<string name="activity_type_track_running"
translation_description="When entering the Activity Type, an option for track running.">
track running
</string>
<string name="activity_type_trail_hiking"
translation_description="When entering the Activity Type, an option for trail hiking.">
trail hiking
</string>
<string name="activity_type_trail_running"
translation_description="When entering the Activity Type, an option for trail running.">
trail running
</string>
<string name="activity_type_train"
translation_description="When entering the Activity Type, an option for train.">
train
</string>
<string name="activity_type_ultimate_frisbee"
translation_description="When entering the Activity Type, an option for ultimate frisbee.">
ultimate frisbee
</string>
<string name="activity_type_unknown"
translation_description="When entering the Activity Type, an option for unknown.">
unknown
</string>
<string name="activity_type_wakeboarding"
translation_description="When entering the Activity Type, an option for wakeboarding.">
wakeboarding
</string>
<string name="activity_type_walking"
translation_description="When entering the Activity Type, an option for walking.">
walking
</string>
<string name="activity_type_water_skiing"
translation_description="When entering the Activity Type, an option for water skiing.">
water skiing
</string>
<string name="activity_type_wind_surfing"
translation_description="When entering the Activity Type, an option for wind surfing.">
wind surfing
</string>
<!-- Chart Settings -->
<string name="chart_settings_by_distance"
translation_description="In the Chart Settings, under the 'X Axis' section, the radio option
@@ -1012,7 +1285,7 @@ limitations under the License.
Paired with: %d
</string>
<string name="settings_sensor_bluetooth_options"
translation_description="In the Sensor settings, the section title to configure the Bluetooth
translation_description="In the Sensor settings, the section title to configure the Bluetooth
options.">
Bluetooth Options
</string>
@@ -1466,6 +1739,91 @@ limitations under the License.
W
</string>
<!-- Value -->
<string name="value_adapt_accuracy"
translation_description="In a setting picker, the value to adapt for accuracy.">
adapt for accuracy
</string>
<string name="value_adapt_battery_life"
translation_description="In a setting picker, the value to adapt for battery life.">
adapt for battery life
</string>
<string name="value_always"
translation_description="In a setting picker, the value to always enable the option.">
Always
</string>
<string name="value_float_mile"
translation_description="In a setting picker, a float value in miles. E.g., '2.2 mi'.">
%.1f mi
</string>
<string name="value_float_mile_poor_gps"
translation_description="In a setting picker, a float value in miles, recommended when having
poor GPS signal. E.g., '2.2 mi (poor GPS)'.">
%.1f mi (poor GPS)
</string>
<string name="value_integer_feet"
translation_description="In a setting picker, an integer value in feet. E.g., '2 ft'.">
%d ft
</string>
<string name="value_integer_feet_excellent_gps"
translation_description="In a setting picker, an integer value in feet, recommended when having
excellent GPS signal. E.g., '2 ft (excellent GPS)'.">
%d ft (excellent GPS)
</string>
<string name="value_integer_feet_recommended"
translation_description="In a setting picker, an integer value in feet that is recommended.
E.g., '2 ft (recommended)'.">
%d ft (recommended)
</string>
<string name="value_integer_kilometer"
translation_description="In a setting picker, an integer value in kilometers. E.g., '2 km'.">
%d km
</string>
<string name="value_integer_meter"
translation_description="In a setting picker, an integer value in meters. E.g., '2 m'.">
%d m
</string>
<string name="value_integer_meter_excellent_gps"
translation_description="In a setting picker, an integer value in meters, recommended when
having excellent GPS signal. E.g., '2 m (excellent GPS)'.">
%d m (excellent GPS)
</string>
<string name="value_integer_meter_poor_gps"
translation_description="In a setting picker, an integer value in meters, recommended when
having poor GPS signal. E.g., '2 m (poor GPS)'.">
%d m (poor GPS)
</string>
<string name="value_integer_meter_recommended"
translation_description="In a setting picker, an integer value in meters that is recommended.
E.g., '2 m (recommended)'.">
%d m (recommended)
</string>
<string name="value_integer_mile"
translation_description="In a setting picker, an integer value in miles. E.g., '2 mi'.">
%d mi
</string>
<string name="value_integer_minute"
translation_description="In a setting picker, an integer value in minutes. E.g., '2 min'.">
%d min
</string>
<string name="value_integer_second"
translation_description="In a setting picker, an integer value in seconds. E.g., '2 s'.">
%d s
</string>
<string name="value_never"
translation_description="In a setting picker, the value to never use the feature.">
Never
</string>
<string name="value_off"
translation_description="In a setting picker, the value to turn off the feature.">
Off
</string>
<string name="value_smallest_recommended"
translation_description="In a setting picker, the value to use the smallest value, also the
recommended value.">
smallest (recommended)
</string>
<!-- Voice -->
<string name="voice_hour"
translation_description="For voice announcement, to say hour like 'one hour'.">
@@ -1534,10 +1892,216 @@ limitations under the License.
%3$s: Time value (E.g., 2 hours and 30 minutes)
%4$s: Speed value (E.g., 2.2) or pace value (E.g., 2 hours and 30 minutes)
%5$s: Speed unit (miles per hour or kilometers per hour) or pace unit (per mile or per
kilometer)">
kilometer)">
My Tracks total distance %1$.2f %2$s in %3$s at %4$s %5$s
</string>
<!-- Waypoint Type -->
<string name="waypoint_type_atm"
translation_description="When entering the Marker Type, an option for an ATM.">
ATM
</string>
<string name="waypoint_type_bank"
translation_description="When entering the Marker Type, an option for a bank.">
bank
</string>
<string name="waypoint_type_bar"
translation_description="When entering the Marker Type, an option for a bar.">
bar
</string>
<string name="waypoint_type_barbeque"
translation_description="When entering the Marker Type, an option for a barbeque.">
barbeque
</string>
<string name="waypoint_type_building"
translation_description="When entering the Marker Type, an option for a building.">
building
</string>
<string name="waypoint_type_bus_stop"
translation_description="When entering the Marker Type, an option for a bus stop.">
bus stop
</string>
<string name="waypoint_type_cafe"
translation_description="When entering the Marker Type, an option for a cafe.">
cafe
</string>
<string name="waypoint_type_campfire"
translation_description="When entering the Marker Type, an option for a campfire.">
campfire
</string>
<string name="waypoint_type_campground"
translation_description="When entering the Marker Type, an option for a campground.">
campground
</string>
<string name="waypoint_type_church"
translation_description="When entering the Marker Type, an option for a church.">
church
</string>
<string name="waypoint_type_coffee_house"
translation_description="When entering the Marker Type, an option for a coffee house.">
coffee house
</string>
<string name="waypoint_type_convenience_store"
translation_description="When entering the Marker Type, an option for a convenience store.">
convenience store
</string>
<string name="waypoint_type_drinking_water"
translation_description="When entering the Marker Type, an option for a drinking water.">
drinking water
</string>
<string name="waypoint_type_falling_rocks"
translation_description="When entering the Marker Type, an option for a falling rocks.">
falling rocks
</string>
<string name="waypoint_type_ferry"
translation_description="When entering the Marker Type, an option for a ferry.">
ferry
</string>
<string name="waypoint_type_fire_place"
translation_description="When entering the Marker Type, an option for a fire place.">
fire place
</string>
<string name="waypoint_type_fire_station"
translation_description="When entering the Marker Type, an option for a fire station.">
fire station
</string>
<string name="waypoint_type_fishing"
translation_description="When entering the Marker Type, an option for a fishing location.">
fishing
</string>
<string name="waypoint_type_gas_station"
translation_description="When entering the Marker Type, an option for a gas station.">
gas station
</string>
<string name="waypoint_type_golf_course"
translation_description="When entering the Marker Type, an option for a golf course.">
golf course
</string>
<string name="waypoint_type_grocery_store"
translation_description="When entering the Marker Type, an option for a grocery store.">
grocery store
</string>
<string name="waypoint_type_hair_dresser"
translation_description="When entering the Marker Type, an option for a hair dresser.">
hair dresser
</string>
<string name="waypoint_type_harbor"
translation_description="When entering the Marker Type, an option for a harbor.">
harbor
</string>
<string name="waypoint_type_hiking_path"
translation_description="When entering the Marker Type, an option for a hiking path.">
hiking path
</string>
<string name="waypoint_type_hotel"
translation_description="When entering the Marker Type, an option for a hotel.">
hotel
</string>
<string name="waypoint_type_house"
translation_description="When entering the Marker Type, an option for a house.">
house
</string>
<string name="waypoint_type_information"
translation_description="When entering the Marker Type, an option for an information.">
information
</string>
<string name="waypoint_type_intersection"
translation_description="When entering the Marker Type, an option for an intersection.">
intersection
</string>
<string name="waypoint_type_mail_box"
translation_description="When entering the Marker Type, an option for a mail box.">
mail box
</string>
<string name="waypoint_type_market"
translation_description="When entering the Marker Type, an option for a market.">
market
</string>
<string name="waypoint_type_meeting_point"
translation_description="When entering the Marker Type, an option for a meeting point.">
meeting point
</string>
<string name="waypoint_type_opera"
translation_description="When entering the Marker Type, an option for an opera.">
opera
</string>
<string name="waypoint_type_parking"
translation_description="When entering the Marker Type, an option for a parking.">
parking
</string>
<string name="waypoint_type_police_station"
translation_description="When entering the Marker Type, an option for a police station.">
police station
</string>
<string name="waypoint_type_post_office"
translation_description="When entering the Marker Type, an option for a post office.">
post office
</string>
<string name="waypoint_type_pothole"
translation_description="When entering the Marker Type, an option for a pothole.">
pothole
</string>
<string name="waypoint_type_railway_crossing"
translation_description="When entering the Marker Type, an option for a railway crossing.">
railway crossing
</string>
<string name="waypoint_type_restaurant"
translation_description="When entering the Marker Type, an option for a restaurant.">
restaurant
</string>
<string name="waypoint_type_shopping"
translation_description="When entering the Marker Type, an option for a shopping.">
shopping
</string>
<string name="waypoint_type_sight"
translation_description="When entering the Marker Type, an option for a sight.">
sight
</string>
<string name="waypoint_type_store"
translation_description="When entering the Marker Type, an option for a store.">
store
</string>
<string name="waypoint_type_swimming_pool"
translation_description="When entering the Marker Type, an option for a swimming pool.">
swimming pool
</string>
<string name="waypoint_type_telephone"
translation_description="When entering the Marker Type, an option for a telephone.">
telephone
</string>
<string name="waypoint_type_theater"
translation_description="When entering the Marker Type, an option for a theater.">
theater
</string>
<string name="waypoint_type_toilet"
translation_description="When entering the Marker Type, an option for a toilet.">
toilet
</string>
<string name="waypoint_type_tourist_information"
translation_description="When entering the Marker Type, an option for a tourist information.">
tourist information
</string>
<string name="waypoint_type_tree"
translation_description="When entering the Marker Type, an option for a tree.">
tree
</string>
<string name="waypoint_type_tunnel"
translation_description="When entering the Marker Type, an option for a tunnel.">
tunnel
</string>
<string name="waypoint_type_waterfall"
translation_description="When entering the Marker Type, an option for a waterfall.">
waterfall
</string>
<string name="waypoint_type_water_fountain"
translation_description="When entering the Marker Type, an option for a water fountain.">
water fountain
</string>
<string name="waypoint_type_way_point"
translation_description="When entering the Marker Type, an option for a way point.">
way point
</string>
<!-- Welcome Page -->
<string name="welcome_about"
translation_description="In the 'Welcome' page, the button on the bottom to read the 'About'
-7
View File
@@ -92,7 +92,6 @@ limitations under the License.
android:key="@string/announcement_frequency_key"
android:title="@string/settings_recording_voice"
android:summary="@string/settings_recording_voice_summary"
android:entries="@array/task_frequency_options"
android:entryValues="@array/task_frequency_values"
android:defaultValue="0" />
@@ -100,7 +99,6 @@ limitations under the License.
android:key="@string/split_frequency_key"
android:title="@string/settings_recording_marker"
android:summary="@string/settings_recording_marker_summary"
android:entries="@array/task_frequency_options"
android:entryValues="@array/task_frequency_values"
android:defaultValue="0" />
@@ -108,7 +106,6 @@ limitations under the License.
android:key="@string/min_recording_interval_key"
android:title="@string/settings_recording_interval"
android:summary="@string/settings_recording_interval_summary"
android:entries="@array/min_recording_interval_options"
android:entryValues="@array/min_recording_interval_values"
android:defaultValue="0" />
@@ -116,7 +113,6 @@ limitations under the License.
android:key="@string/min_recording_distance_key"
android:title="@string/settings_recording_distance"
android:summary="@string/settings_recording_distance_summary"
android:entries="@array/min_recording_distance_options"
android:entryValues="@array/min_recording_distance_values"
android:defaultValue="5" />
@@ -124,7 +120,6 @@ limitations under the License.
android:key="@string/max_recording_distance_key"
android:title="@string/settings_recording_track_distance"
android:summary="@string/settings_recording_track_distance_summary"
android:entries="@array/max_recording_distance_options"
android:entryValues="@array/max_recording_distance_values"
android:defaultValue="200" />
@@ -132,7 +127,6 @@ limitations under the License.
android:key="@string/min_required_accuracy_key"
android:title="@string/settings_recording_gps_accuracy"
android:summary="@string/settings_recording_gps_accuracy_summary"
android:entries="@array/min_required_accuracy_options"
android:entryValues="@array/min_required_accuracy_values"
android:defaultValue="200" />
@@ -140,7 +134,6 @@ limitations under the License.
android:key="@string/auto_resume_track_timeout_key"
android:title="@string/settings_recording_auto_resume"
android:summary="@string/settings_recording_auto_resume_summary"
android:entries="@array/auto_resume_track_timeout_options"
android:entryValues="@array/auto_resume_track_timeout_values"
android:defaultValue="10" />
@@ -59,6 +59,39 @@ import java.util.Set;
*/
public class SettingsActivity extends PreferenceActivity {
// Value when the task frequency is off.
private static final String TASK_FREQUENCY_OFF = "0";
// Value when the recording interval is 'Adapt battery life'.
private static final String RECORDING_INTERVAL_ADAPT_BATTERY_LIFE = "-2";
// Value when the recording interval is 'Adapt accuracy'.
private static final String RECORDING_INTERVAL_ADAPT_ACCURACY = "-1";
// Value for the recommended recording interval.
private static final String RECORDING_INTERVAL_RECOMMENDED = "0";
// Value when the auto resume timeout is never.
private static final String AUTO_RESUME_TIMEOUT_NEVER = "0";
// Value when the auto resume timeout is always.
private static final String AUTO_RESUME_TIMEOUT_ALWAYS = "-1";
// Value for the recommended recording distance.
private static final String RECORDING_DISTANCE_RECOMMENDED = "5";
// Value for the recommended track distance.
private static final String TRACK_DISTANCE_RECOMMENDED = "200";
// Value for the recommended GPS accuracy.
private static final String GPS_ACCURACY_RECOMMENDED = "200";
// Value when the GPS accuracy is for excellent GPS signal.
private static final String GPS_ACCURACY_EXCELLENT = "10";
// Value when the GPS accuracy is for poor GPS signal.
private static final String GPS_ACCURACY_POOR = "5000";
private BackupPreferencesListener backupListener;
private SharedPreferences preferences;
@@ -86,15 +119,18 @@ public class SettingsActivity extends PreferenceActivity {
// Load the preferences to be displayed
addPreferencesFromResource(R.xml.preferences);
// Disable TTS announcement preference if not available
// Disable voice announcement if not available
if (!apiFeatures.hasTextToSpeech()) {
IntegerListPreference announcementFrequency =
(IntegerListPreference) findPreference(
getString(R.string.announcement_frequency_key));
announcementFrequency.setEnabled(false);
announcementFrequency.setValue("-1");
announcementFrequency.setValue(TASK_FREQUENCY_OFF);
announcementFrequency.setSummary(R.string.settings_recording_voice_not_available);
}
setRecordingIntervalOptions();
setAutoResumeTimeoutOptions();
// Hook up switching of displayed list entries between metric and imperial
// units
@@ -107,11 +143,11 @@ public class SettingsActivity extends PreferenceActivity {
public boolean onPreferenceChange(Preference preference,
Object newValue) {
boolean isMetric = (Boolean) newValue;
updatePreferenceUnits(isMetric);
updateDisplayOptions(isMetric);
return true;
}
});
updatePreferenceUnits(metricUnitsPreference.isChecked());
updateDisplayOptions(metricUnitsPreference.isChecked());
customizeSensorOptionsPreferences();
customizeTrackColorModePreferences();
@@ -126,7 +162,7 @@ public class SettingsActivity extends PreferenceActivity {
}
});
// Add a confirmation dialog for the "Allow access" preference.
// Add a confirmation dialog for the 'Allow access' preference.
final CheckBoxPreference allowAccessPreference = (CheckBoxPreference) findPreference(
getString(R.string.allow_access_key));
allowAccessPreference.setOnPreferenceChangeListener(new OnPreferenceChangeListener() {
@@ -154,6 +190,58 @@ public class SettingsActivity extends PreferenceActivity {
});
}
/**
* Sets the display options for the 'Time between points' option.
*/
private void setRecordingIntervalOptions() {
String[] values = getResources().getStringArray(R.array.min_recording_interval_values);
String[] options = new String[values.length];
for (int i = 0; i < values.length; i++) {
if (values[i].equals(RECORDING_INTERVAL_ADAPT_BATTERY_LIFE)) {
options[i] = getString(R.string.value_adapt_battery_life);
} else if (values[i].equals(RECORDING_INTERVAL_ADAPT_ACCURACY)) {
options[i] = getString(R.string.value_adapt_accuracy);
} else if (values[i].equals(RECORDING_INTERVAL_RECOMMENDED)) {
options[i] = getString(R.string.value_smallest_recommended);
} else {
int value = Integer.parseInt(values[i]);
String format;
if (value < 60) {
format = getString(R.string.value_integer_second);
} else {
value = value / 60;
format = getString(R.string.value_integer_minute);
}
options[i] = String.format(format, value);
}
}
ListPreference list = (ListPreference) findPreference(
getString(R.string.min_recording_interval_key));
list.setEntries(options);
}
/**
* Sets the display options for the 'Auto-resume timeout' option.
*/
private void setAutoResumeTimeoutOptions() {
String[] values = getResources().getStringArray(R.array.auto_resume_track_timeout_values);
String[] options = new String[values.length];
for (int i = 0; i < values.length; i++) {
if (values[i].equals(AUTO_RESUME_TIMEOUT_NEVER)) {
options[i] = getString(R.string.value_never);
} else if (values[i].equals(AUTO_RESUME_TIMEOUT_ALWAYS)) {
options[i] = getString(R.string.value_always);
} else {
int value = Integer.parseInt(values[i]);
String format = getString(R.string.value_integer_minute);
options[i] = String.format(format, value);
}
}
ListPreference list = (ListPreference) findPreference(
getString(R.string.auto_resume_track_timeout_key));
list.setEntries(options);
}
private void customizeSensorOptionsPreferences() {
ListPreference sensorTypePreference =
(ListPreference) findPreference(getString(R.string.sensor_type_key));
@@ -217,11 +305,13 @@ public class SettingsActivity extends PreferenceActivity {
setTrackColorModePreferenceListeners();
PreferenceCategory speedOptionsCategory =
(PreferenceCategory) findPreference(getString(R.string.track_color_mode_fixed_speed_options_key));
PreferenceCategory speedOptionsCategory = (PreferenceCategory) findPreference(
getString(R.string.track_color_mode_fixed_speed_options_key));
speedOptionsCategory.removePreference(findPreference(getString(R.string.track_color_mode_fixed_speed_slow_key)));
speedOptionsCategory.removePreference(findPreference(getString(R.string.track_color_mode_fixed_speed_medium_key)));
speedOptionsCategory.removePreference(
findPreference(getString(R.string.track_color_mode_fixed_speed_slow_key)));
speedOptionsCategory.removePreference(
findPreference(getString(R.string.track_color_mode_fixed_speed_medium_key)));
}
@Override
@@ -305,56 +395,161 @@ public class SettingsActivity extends PreferenceActivity {
}
private void updateTrackColorModeSettings(String trackColorMode) {
boolean usesFixedSpeed = trackColorMode.equals(getString(R.string.track_color_mode_value_fixed));
boolean usesDynamicSpeed = trackColorMode.equals(getString(R.string.track_color_mode_value_dynamic));
findPreference(
getString(R.string.track_color_mode_fixed_speed_slow_display_key)).setEnabled(usesFixedSpeed);
findPreference(
getString(R.string.track_color_mode_fixed_speed_medium_display_key)).setEnabled(usesFixedSpeed);
findPreference(
getString(R.string.track_color_mode_dynamic_speed_variation_key)).setEnabled(usesDynamicSpeed);
boolean usesFixedSpeed = trackColorMode.equals(
getString(R.string.track_color_mode_value_fixed));
boolean usesDynamicSpeed = trackColorMode.equals(
getString(R.string.track_color_mode_value_dynamic));
findPreference(getString(R.string.track_color_mode_fixed_speed_slow_display_key))
.setEnabled(usesFixedSpeed);
findPreference(getString(R.string.track_color_mode_fixed_speed_medium_display_key))
.setEnabled(usesFixedSpeed);
findPreference(getString(R.string.track_color_mode_dynamic_speed_variation_key))
.setEnabled(usesDynamicSpeed);
}
/**
* Updates all the preferences which give options with distance units to use
* the proper unit the user has selected.
* Updates display options that depends on the preferred distance units, metric or imperial.
*
* @param isMetric true to use metric units, false to use imperial
*/
private void updatePreferenceUnits(boolean isMetric) {
final ListPreference minRecordingDistance =
(ListPreference) findPreference(
getString(R.string.min_recording_distance_key));
final ListPreference maxRecordingDistance =
(ListPreference) findPreference(
getString(R.string.max_recording_distance_key));
final ListPreference minRequiredAccuracy =
(ListPreference) findPreference(
getString(R.string.min_required_accuracy_key));
minRecordingDistance.setEntries(isMetric
? R.array.min_recording_distance_options
: R.array.min_recording_distance_options_ft);
maxRecordingDistance.setEntries(isMetric
? R.array.max_recording_distance_options
: R.array.max_recording_distance_options_ft);
minRequiredAccuracy.setEntries(isMetric
? R.array.min_required_accuracy_options
: R.array.min_required_accuracy_options_ft);
private void updateDisplayOptions(boolean isMetric) {
setTaskOptions(isMetric, R.string.announcement_frequency_key);
setTaskOptions(isMetric, R.string.split_frequency_key);
setRecordingDistanceOptions(isMetric, R.string.min_recording_distance_key);
setTrackDistanceOptions(isMetric, R.string.max_recording_distance_key);
setGpsAccuracyOptions(isMetric, R.string.min_required_accuracy_key);
}
/**
* Set the user visible options for a periodic task.
* Sets the display options for a periodic task.
*/
private void setTaskOptions(boolean isMetric, int listId) {
final ListPreference taskFrequency =
(ListPreference) findPreference(getString(listId));
taskFrequency.setEntries(isMetric
? R.array.task_frequency_options
: R.array.task_frequency_options_ft);
String[] values = getResources().getStringArray(R.array.task_frequency_values);
String[] options = new String[values.length];
for (int i = 0; i < values.length; i++) {
if (values[i].equals(TASK_FREQUENCY_OFF)) {
options[i] = getString(R.string.value_off);
} else if (values[i].startsWith("-")) {
int value = Integer.parseInt(values[i].substring(1));
int stringId = isMetric ? R.string.value_integer_kilometer : R.string.value_integer_mile;
String format = getString(stringId);
options[i] = String.format(format, value);
} else {
int value = Integer.parseInt(values[i]);
String format = getString(R.string.value_integer_minute);
options[i] = String.format(format, value);
}
}
ListPreference list = (ListPreference) findPreference(getString(listId));
list.setEntries(options);
}
/**
* Sets the display options for 'Distance between points' option.
*/
private void setRecordingDistanceOptions(boolean isMetric, int listId) {
String[] values = getResources().getStringArray(R.array.min_recording_distance_values);
String[] options = new String[values.length];
for (int i = 0; i < values.length; i++) {
int value = Integer.parseInt(values[i]);
if (!isMetric) {
value = (int) (value * UnitConversions.M_TO_FT);
}
String format;
if (values[i].equals(RECORDING_DISTANCE_RECOMMENDED)) {
int stringId = isMetric ? R.string.value_integer_meter_recommended
: R.string.value_integer_feet_recommended;
format = getString(stringId);
} else {
int stringId = isMetric ? R.string.value_integer_meter : R.string.value_integer_feet;
format = getString(stringId);
}
options[i] = String.format(format, value);
}
ListPreference list = (ListPreference) findPreference(getString(listId));
list.setEntries(options);
}
/**
* Sets the display options for 'Distance between Tracks'.
*/
private void setTrackDistanceOptions(boolean isMetric, int listId) {
String[] values = getResources().getStringArray(R.array.max_recording_distance_values);
String[] options = new String[values.length];
for (int i = 0; i < values.length; i++) {
int value = Integer.parseInt(values[i]);
String format;
if (isMetric) {
int stringId = values[i].equals(TRACK_DISTANCE_RECOMMENDED)
? R.string.value_integer_meter_recommended : R.string.value_integer_meter;
format = getString(stringId);
options[i] = String.format(format, value);
} else {
value = (int) (value * UnitConversions.M_TO_FT);
if (value < 2000) {
int stringId = values[i].equals(TRACK_DISTANCE_RECOMMENDED)
? R.string.value_integer_feet_recommended : R.string.value_integer_feet;
format = getString(stringId);
options[i] = String.format(format, value);
} else {
double mile = value / UnitConversions.MI_TO_FEET;
format = getString(R.string.value_float_mile);
options[i] = String.format(format, mile);
}
}
}
ListPreference list = (ListPreference) findPreference(getString(listId));
list.setEntries(options);
}
/**
* Sets the display options for 'GPS accuracy'.
*/
private void setGpsAccuracyOptions(boolean isMetric, int listId) {
String[] values = getResources().getStringArray(R.array.min_required_accuracy_values);
String[] options = new String[values.length];
for (int i = 0; i < values.length; i++) {
int value = Integer.parseInt(values[i]);
String format;
if (isMetric) {
if (values[i].equals(GPS_ACCURACY_RECOMMENDED)) {
format = getString(R.string.value_integer_meter_recommended);
} else if (values[i].equals(GPS_ACCURACY_EXCELLENT)) {
format = getString(R.string.value_integer_meter_excellent_gps);
} else if (values[i].equals(GPS_ACCURACY_POOR)) {
format = getString(R.string.value_integer_meter_poor_gps);
} else {
format = getString(R.string.value_integer_meter);
}
options[i] = String.format(format, value);
} else {
value = (int) (value * UnitConversions.M_TO_FT);
if (value < 2000) {
if (values[i].equals(GPS_ACCURACY_RECOMMENDED)) {
format = getString(R.string.value_integer_feet_recommended);
} else if (values[i].equals(GPS_ACCURACY_EXCELLENT)) {
format = getString(R.string.value_integer_feet_excellent_gps);
} else {
format = getString(R.string.value_integer_feet);
}
options[i] = String.format(format, value);
} else {
double mile = value / UnitConversions.MI_TO_FEET;
if (values[i].equals(GPS_ACCURACY_POOR)) {
format = getString(R.string.value_float_mile_poor_gps);
} else {
format = getString(R.string.value_float_mile);
}
options[i] = String.format(format, mile);
}
}
}
ListPreference list = (ListPreference) findPreference(getString(listId));
list.setEntries(options);
}
/**
@@ -478,7 +673,8 @@ public class SettingsActivity extends PreferenceActivity {
if(!metricUnitsPreference.isChecked()) {
// Convert miles/h to km/h
try {
metricspeed = String.valueOf((int) (Double.parseDouble(newValue) * UnitConversions.MPH_TO_KMH) + 1);
metricspeed = String.valueOf(
(int) (Double.parseDouble(newValue) * UnitConversions.MPH_TO_KMH) + 1);
} catch (NumberFormatException e) {
metricspeed = "0";
}