forked from upstream-mirrors/OpenTracks
merge from main
This commit is contained in:
@@ -36,7 +36,7 @@ limitations under the License.
|
|||||||
<TextView
|
<TextView
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:layout_width="wrap_content"
|
android:layout_width="wrap_content"
|
||||||
android:text="@string/about_copyright_message"
|
android:text="@string/about_copyright_notice"
|
||||||
android:textSize="15sp" />
|
android:textSize="15sp" />
|
||||||
</LinearLayout>
|
</LinearLayout>
|
||||||
</TableRow>
|
</TableRow>
|
||||||
|
|||||||
@@ -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>
|
<item>TCX</item>
|
||||||
</array>
|
</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>
|
</resources>
|
||||||
|
|
||||||
|
|||||||
@@ -16,6 +16,8 @@ limitations under the License.
|
|||||||
-->
|
-->
|
||||||
<resources>
|
<resources>
|
||||||
<!-- DO NOT TRANSLATE ANY STRINGS IN THIS FILE. -->
|
<!-- DO NOT TRANSLATE ANY STRINGS IN THIS FILE. -->
|
||||||
|
|
||||||
|
<!-- Application Name -->
|
||||||
<string name="app_name">My Tracks</string>
|
<string name="app_name">My Tracks</string>
|
||||||
<string name="track_recording_service_name">Track Recording Service</string>
|
<string name="track_recording_service_name">Track Recording Service</string>
|
||||||
|
|
||||||
@@ -24,21 +26,20 @@ limitations under the License.
|
|||||||
<!-- About Dialog -->
|
<!-- About Dialog -->
|
||||||
<string name="about_googlegroups">mytracks@googlegroups.com</string>
|
<string name="about_googlegroups">mytracks@googlegroups.com</string>
|
||||||
<string name="about_privacy_weburl">m.google.com/privacy</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_bart">Bartłomiej Niechwiej</string>
|
||||||
<string name="about_dylan">Dylan Casey</string>
|
<string name="about_dylan">Dylan Casey</string>
|
||||||
<string name="about_leif">Leif Hendrik Wilden</string>
|
<string name="about_leif">Leif Hendrik Wilden</string>
|
||||||
<string name="about_rdamazio">Rodrigo Damazio Bovendorp</string>
|
<string name="about_rdamazio">Rodrigo Damazio Bovendorp</string>
|
||||||
<string name="about_sandor">Sandor Dornbush</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_none">NONE</string>
|
||||||
<string name="sensor_type_value_ant">ANT</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_srm_ant_bridge">SRM_ANT_BRIDGE</string>
|
||||||
<string name="sensor_type_value_polar">POLAR</string>
|
<string name="sensor_type_value_polar">POLAR</string>
|
||||||
<string name="sensor_type_value_zephyr">ZEPHYR</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_none">NONE</string>
|
||||||
<string name="track_color_mode_value_fixed">FIXED</string>
|
<string name="track_color_mode_value_fixed">FIXED</string>
|
||||||
<string name="track_color_mode_value_dynamic">DYNAMIC</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_my_maps_url">maps.google.com</string>
|
||||||
<string name="send_google_docs_url">docs.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>
|
<string name="google_analytics_id">UA-7222692-2</string>
|
||||||
|
|
||||||
<!-- Symbols -->
|
<!-- Symbols -->
|
||||||
<string name="percent">%</string>
|
<string name="percent">%</string>
|
||||||
|
|
||||||
<!-- Intent actions -->
|
<!-- Intent Actions -->
|
||||||
<string name="save_intent_action">android.intent.action.SAVE</string>
|
<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="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 name="end_current_track_action">
|
||||||
</string>
|
com.google.android.apps.mytracks.END_CURRENT_TRACK
|
||||||
|
</string>
|
||||||
|
|
||||||
<!-- Permissions -->
|
<!--My Tracks Notifications Permission. -->
|
||||||
<!-- Permission for MyTracks notifications. -->
|
<string name="mytracks_notifications_permission">
|
||||||
<string name="mytracks_notifications_permission">com.google.android.apps.mytracks.MYTRACKS_NOTIFICATIONS</string>
|
com.google.android.apps.mytracks.MYTRACKS_NOTIFICATIONS
|
||||||
|
</string>
|
||||||
</resources>
|
</resources>
|
||||||
|
|||||||
@@ -19,10 +19,8 @@ limitations under the License.
|
|||||||
<string name="allow_access_key">allowAccess</string>
|
<string name="allow_access_key">allowAccess</string>
|
||||||
<string name="announcement_frequency_key">announcementFrequency</string>
|
<string name="announcement_frequency_key">announcementFrequency</string>
|
||||||
<string name="ant_heart_rate_sensor_id_key">antHeartRateSensorId</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="ant_srm_bridge_sensor_id_key">antSRMBridgeSensorId</string>
|
||||||
<string name="auto_resume_track_timeout_key">autoResumeTrackTimeout</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_pairing_key">bluetoothPairing</string>
|
||||||
<string name="bluetooth_sensor_key">bluetoothSensor</string>
|
<string name="bluetooth_sensor_key">bluetoothSensor</string>
|
||||||
<string name="default_activity_key">defaultActivity</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_distance_key">minRecordingDistance</string>
|
||||||
<string name="min_recording_interval_key">minRecordingInterval</string>
|
<string name="min_recording_interval_key">minRecordingInterval</string>
|
||||||
<string name="min_required_accuracy_key">minRequiredAccuracy</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="pick_existing_map_key">pickExistingMap</string>
|
||||||
<string name="report_speed_key">reportSpeed</string>
|
<string name="report_speed_key">reportSpeed</string>
|
||||||
<string name="send_to_docs_key">sendToDocs</string>
|
<string name="send_to_docs_key">sendToDocs</string>
|
||||||
|
|||||||
@@ -17,9 +17,13 @@ limitations under the License.
|
|||||||
<resources>
|
<resources>
|
||||||
|
|
||||||
<!-- About Page -->
|
<!-- 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"
|
<string name="about_license"
|
||||||
translation_description="In the 'About' page, the button on the bottom to view the terms
|
translation_description="In the 'About' page, the button on the bottom to view the terms of
|
||||||
of service agreement.">
|
service agreement.">
|
||||||
License
|
License
|
||||||
</string>
|
</string>
|
||||||
<string name="about_privacy"
|
<string name="about_privacy"
|
||||||
@@ -43,6 +47,275 @@ limitations under the License.
|
|||||||
Version:
|
Version:
|
||||||
</string>
|
</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 -->
|
<!-- Chart Settings -->
|
||||||
<string name="chart_settings_by_distance"
|
<string name="chart_settings_by_distance"
|
||||||
translation_description="In the Chart Settings, under the 'X Axis' section, the radio option
|
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
|
Paired with: %d
|
||||||
</string>
|
</string>
|
||||||
<string name="settings_sensor_bluetooth_options"
|
<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.">
|
options.">
|
||||||
Bluetooth Options
|
Bluetooth Options
|
||||||
</string>
|
</string>
|
||||||
@@ -1466,6 +1739,91 @@ limitations under the License.
|
|||||||
W
|
W
|
||||||
</string>
|
</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 -->
|
<!-- Voice -->
|
||||||
<string name="voice_hour"
|
<string name="voice_hour"
|
||||||
translation_description="For voice announcement, to say hour like 'one 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)
|
%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)
|
%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
|
%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
|
My Tracks total distance %1$.2f %2$s in %3$s at %4$s %5$s
|
||||||
</string>
|
</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 -->
|
<!-- Welcome Page -->
|
||||||
<string name="welcome_about"
|
<string name="welcome_about"
|
||||||
translation_description="In the 'Welcome' page, the button on the bottom to read the 'About'
|
translation_description="In the 'Welcome' page, the button on the bottom to read the 'About'
|
||||||
|
|||||||
@@ -92,7 +92,6 @@ limitations under the License.
|
|||||||
android:key="@string/announcement_frequency_key"
|
android:key="@string/announcement_frequency_key"
|
||||||
android:title="@string/settings_recording_voice"
|
android:title="@string/settings_recording_voice"
|
||||||
android:summary="@string/settings_recording_voice_summary"
|
android:summary="@string/settings_recording_voice_summary"
|
||||||
android:entries="@array/task_frequency_options"
|
|
||||||
android:entryValues="@array/task_frequency_values"
|
android:entryValues="@array/task_frequency_values"
|
||||||
android:defaultValue="0" />
|
android:defaultValue="0" />
|
||||||
|
|
||||||
@@ -100,7 +99,6 @@ limitations under the License.
|
|||||||
android:key="@string/split_frequency_key"
|
android:key="@string/split_frequency_key"
|
||||||
android:title="@string/settings_recording_marker"
|
android:title="@string/settings_recording_marker"
|
||||||
android:summary="@string/settings_recording_marker_summary"
|
android:summary="@string/settings_recording_marker_summary"
|
||||||
android:entries="@array/task_frequency_options"
|
|
||||||
android:entryValues="@array/task_frequency_values"
|
android:entryValues="@array/task_frequency_values"
|
||||||
android:defaultValue="0" />
|
android:defaultValue="0" />
|
||||||
|
|
||||||
@@ -108,7 +106,6 @@ limitations under the License.
|
|||||||
android:key="@string/min_recording_interval_key"
|
android:key="@string/min_recording_interval_key"
|
||||||
android:title="@string/settings_recording_interval"
|
android:title="@string/settings_recording_interval"
|
||||||
android:summary="@string/settings_recording_interval_summary"
|
android:summary="@string/settings_recording_interval_summary"
|
||||||
android:entries="@array/min_recording_interval_options"
|
|
||||||
android:entryValues="@array/min_recording_interval_values"
|
android:entryValues="@array/min_recording_interval_values"
|
||||||
android:defaultValue="0" />
|
android:defaultValue="0" />
|
||||||
|
|
||||||
@@ -116,7 +113,6 @@ limitations under the License.
|
|||||||
android:key="@string/min_recording_distance_key"
|
android:key="@string/min_recording_distance_key"
|
||||||
android:title="@string/settings_recording_distance"
|
android:title="@string/settings_recording_distance"
|
||||||
android:summary="@string/settings_recording_distance_summary"
|
android:summary="@string/settings_recording_distance_summary"
|
||||||
android:entries="@array/min_recording_distance_options"
|
|
||||||
android:entryValues="@array/min_recording_distance_values"
|
android:entryValues="@array/min_recording_distance_values"
|
||||||
android:defaultValue="5" />
|
android:defaultValue="5" />
|
||||||
|
|
||||||
@@ -124,7 +120,6 @@ limitations under the License.
|
|||||||
android:key="@string/max_recording_distance_key"
|
android:key="@string/max_recording_distance_key"
|
||||||
android:title="@string/settings_recording_track_distance"
|
android:title="@string/settings_recording_track_distance"
|
||||||
android:summary="@string/settings_recording_track_distance_summary"
|
android:summary="@string/settings_recording_track_distance_summary"
|
||||||
android:entries="@array/max_recording_distance_options"
|
|
||||||
android:entryValues="@array/max_recording_distance_values"
|
android:entryValues="@array/max_recording_distance_values"
|
||||||
android:defaultValue="200" />
|
android:defaultValue="200" />
|
||||||
|
|
||||||
@@ -132,7 +127,6 @@ limitations under the License.
|
|||||||
android:key="@string/min_required_accuracy_key"
|
android:key="@string/min_required_accuracy_key"
|
||||||
android:title="@string/settings_recording_gps_accuracy"
|
android:title="@string/settings_recording_gps_accuracy"
|
||||||
android:summary="@string/settings_recording_gps_accuracy_summary"
|
android:summary="@string/settings_recording_gps_accuracy_summary"
|
||||||
android:entries="@array/min_required_accuracy_options"
|
|
||||||
android:entryValues="@array/min_required_accuracy_values"
|
android:entryValues="@array/min_required_accuracy_values"
|
||||||
android:defaultValue="200" />
|
android:defaultValue="200" />
|
||||||
|
|
||||||
@@ -140,7 +134,6 @@ limitations under the License.
|
|||||||
android:key="@string/auto_resume_track_timeout_key"
|
android:key="@string/auto_resume_track_timeout_key"
|
||||||
android:title="@string/settings_recording_auto_resume"
|
android:title="@string/settings_recording_auto_resume"
|
||||||
android:summary="@string/settings_recording_auto_resume_summary"
|
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:entryValues="@array/auto_resume_track_timeout_values"
|
||||||
android:defaultValue="10" />
|
android:defaultValue="10" />
|
||||||
|
|
||||||
|
|||||||
@@ -59,6 +59,39 @@ import java.util.Set;
|
|||||||
*/
|
*/
|
||||||
public class SettingsActivity extends PreferenceActivity {
|
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 BackupPreferencesListener backupListener;
|
||||||
private SharedPreferences preferences;
|
private SharedPreferences preferences;
|
||||||
|
|
||||||
@@ -86,16 +119,19 @@ public class SettingsActivity extends PreferenceActivity {
|
|||||||
// Load the preferences to be displayed
|
// Load the preferences to be displayed
|
||||||
addPreferencesFromResource(R.xml.preferences);
|
addPreferencesFromResource(R.xml.preferences);
|
||||||
|
|
||||||
// Disable TTS announcement preference if not available
|
// Disable voice announcement if not available
|
||||||
if (!apiFeatures.hasTextToSpeech()) {
|
if (!apiFeatures.hasTextToSpeech()) {
|
||||||
IntegerListPreference announcementFrequency =
|
IntegerListPreference announcementFrequency =
|
||||||
(IntegerListPreference) findPreference(
|
(IntegerListPreference) findPreference(
|
||||||
getString(R.string.announcement_frequency_key));
|
getString(R.string.announcement_frequency_key));
|
||||||
announcementFrequency.setEnabled(false);
|
announcementFrequency.setEnabled(false);
|
||||||
announcementFrequency.setValue("-1");
|
announcementFrequency.setValue(TASK_FREQUENCY_OFF);
|
||||||
announcementFrequency.setSummary(R.string.settings_recording_voice_not_available);
|
announcementFrequency.setSummary(R.string.settings_recording_voice_not_available);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
setRecordingIntervalOptions();
|
||||||
|
setAutoResumeTimeoutOptions();
|
||||||
|
|
||||||
// Hook up switching of displayed list entries between metric and imperial
|
// Hook up switching of displayed list entries between metric and imperial
|
||||||
// units
|
// units
|
||||||
CheckBoxPreference metricUnitsPreference =
|
CheckBoxPreference metricUnitsPreference =
|
||||||
@@ -107,11 +143,11 @@ public class SettingsActivity extends PreferenceActivity {
|
|||||||
public boolean onPreferenceChange(Preference preference,
|
public boolean onPreferenceChange(Preference preference,
|
||||||
Object newValue) {
|
Object newValue) {
|
||||||
boolean isMetric = (Boolean) newValue;
|
boolean isMetric = (Boolean) newValue;
|
||||||
updatePreferenceUnits(isMetric);
|
updateDisplayOptions(isMetric);
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
updatePreferenceUnits(metricUnitsPreference.isChecked());
|
updateDisplayOptions(metricUnitsPreference.isChecked());
|
||||||
|
|
||||||
customizeSensorOptionsPreferences();
|
customizeSensorOptionsPreferences();
|
||||||
customizeTrackColorModePreferences();
|
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(
|
final CheckBoxPreference allowAccessPreference = (CheckBoxPreference) findPreference(
|
||||||
getString(R.string.allow_access_key));
|
getString(R.string.allow_access_key));
|
||||||
allowAccessPreference.setOnPreferenceChangeListener(new OnPreferenceChangeListener() {
|
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() {
|
private void customizeSensorOptionsPreferences() {
|
||||||
ListPreference sensorTypePreference =
|
ListPreference sensorTypePreference =
|
||||||
(ListPreference) findPreference(getString(R.string.sensor_type_key));
|
(ListPreference) findPreference(getString(R.string.sensor_type_key));
|
||||||
@@ -217,11 +305,13 @@ public class SettingsActivity extends PreferenceActivity {
|
|||||||
|
|
||||||
setTrackColorModePreferenceListeners();
|
setTrackColorModePreferenceListeners();
|
||||||
|
|
||||||
PreferenceCategory speedOptionsCategory =
|
PreferenceCategory speedOptionsCategory = (PreferenceCategory) findPreference(
|
||||||
(PreferenceCategory) findPreference(getString(R.string.track_color_mode_fixed_speed_options_key));
|
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(
|
||||||
speedOptionsCategory.removePreference(findPreference(getString(R.string.track_color_mode_fixed_speed_medium_key)));
|
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
|
@Override
|
||||||
@@ -305,56 +395,161 @@ public class SettingsActivity extends PreferenceActivity {
|
|||||||
}
|
}
|
||||||
|
|
||||||
private void updateTrackColorModeSettings(String trackColorMode) {
|
private void updateTrackColorModeSettings(String trackColorMode) {
|
||||||
boolean usesFixedSpeed = trackColorMode.equals(getString(R.string.track_color_mode_value_fixed));
|
boolean usesFixedSpeed = trackColorMode.equals(
|
||||||
boolean usesDynamicSpeed = trackColorMode.equals(getString(R.string.track_color_mode_value_dynamic));
|
getString(R.string.track_color_mode_value_fixed));
|
||||||
|
boolean usesDynamicSpeed = trackColorMode.equals(
|
||||||
|
getString(R.string.track_color_mode_value_dynamic));
|
||||||
|
|
||||||
findPreference(
|
findPreference(getString(R.string.track_color_mode_fixed_speed_slow_display_key))
|
||||||
getString(R.string.track_color_mode_fixed_speed_slow_display_key)).setEnabled(usesFixedSpeed);
|
.setEnabled(usesFixedSpeed);
|
||||||
findPreference(
|
findPreference(getString(R.string.track_color_mode_fixed_speed_medium_display_key))
|
||||||
getString(R.string.track_color_mode_fixed_speed_medium_display_key)).setEnabled(usesFixedSpeed);
|
.setEnabled(usesFixedSpeed);
|
||||||
findPreference(
|
findPreference(getString(R.string.track_color_mode_dynamic_speed_variation_key))
|
||||||
getString(R.string.track_color_mode_dynamic_speed_variation_key)).setEnabled(usesDynamicSpeed);
|
.setEnabled(usesDynamicSpeed);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Updates all the preferences which give options with distance units to use
|
* Updates display options that depends on the preferred distance units, metric or imperial.
|
||||||
* the proper unit the user has selected.
|
|
||||||
*
|
*
|
||||||
* @param isMetric true to use metric units, false to use imperial
|
* @param isMetric true to use metric units, false to use imperial
|
||||||
*/
|
*/
|
||||||
private void updatePreferenceUnits(boolean isMetric) {
|
private void updateDisplayOptions(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);
|
|
||||||
setTaskOptions(isMetric, R.string.announcement_frequency_key);
|
setTaskOptions(isMetric, R.string.announcement_frequency_key);
|
||||||
setTaskOptions(isMetric, R.string.split_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) {
|
private void setTaskOptions(boolean isMetric, int listId) {
|
||||||
final ListPreference taskFrequency =
|
String[] values = getResources().getStringArray(R.array.task_frequency_values);
|
||||||
(ListPreference) findPreference(getString(listId));
|
String[] options = new String[values.length];
|
||||||
taskFrequency.setEntries(isMetric
|
for (int i = 0; i < values.length; i++) {
|
||||||
? R.array.task_frequency_options
|
if (values[i].equals(TASK_FREQUENCY_OFF)) {
|
||||||
: R.array.task_frequency_options_ft);
|
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()) {
|
if(!metricUnitsPreference.isChecked()) {
|
||||||
// Convert miles/h to km/h
|
// Convert miles/h to km/h
|
||||||
try {
|
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) {
|
} catch (NumberFormatException e) {
|
||||||
metricspeed = "0";
|
metricspeed = "0";
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user