forked from upstream-mirrors/OpenTracks
Merge heads
This commit is contained in:
@@ -17,8 +17,8 @@ limitations under the License.
|
||||
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
package="com.google.android.maps.mytracks"
|
||||
android:installLocation="auto"
|
||||
android:versionCode="35"
|
||||
android:versionName="1.1.12">
|
||||
android:versionCode="36"
|
||||
android:versionName="1.1.13">
|
||||
<application android:icon="@drawable/arrow_icon"
|
||||
android:label="@string/my_tracks_app_name"
|
||||
android:name="com.google.android.apps.mytracks.MyTracksApplication"
|
||||
|
||||
Binary file not shown.
|
Before Width: | Height: | Size: 279 B After Width: | Height: | Size: 286 B |
Binary file not shown.
|
Before Width: | Height: | Size: 274 B After Width: | Height: | Size: 275 B |
@@ -17,87 +17,91 @@ limitations under the License.
|
||||
<ScrollView
|
||||
xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_width="wrap_content">
|
||||
<TableLayout
|
||||
android:layout_width="fill_parent">
|
||||
<LinearLayout
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_width="wrap_content"
|
||||
android:padding="2dp"
|
||||
android:shrinkColumns="0"
|
||||
android:stretchColumns="1">
|
||||
<TableRow style="@style/AboutTableRow">
|
||||
<ImageView
|
||||
android:layout_column="0"
|
||||
android:scaleType="center"
|
||||
android:src="@drawable/arrow_icon"/>
|
||||
<LinearLayout
|
||||
android:layout_column="1"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_width="wrap_content"
|
||||
android:orientation="vertical">
|
||||
<TextView
|
||||
android:layout_width="fill_parent"
|
||||
android:orientation="vertical"
|
||||
android:padding="10dp">
|
||||
|
||||
<!-- Title -->
|
||||
<TableLayout
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_width="fill_parent"
|
||||
android:padding="2dp"
|
||||
android:shrinkColumns="0"
|
||||
android:stretchColumns="1">
|
||||
<TableRow>
|
||||
<ImageView
|
||||
android:layout_column="0"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_width="wrap_content"
|
||||
android:text="@string/my_tracks_app_name"
|
||||
android:textSize="30sp" />
|
||||
<TextView
|
||||
android:scaleType="center"
|
||||
android:src="@drawable/arrow_icon"/>
|
||||
<LinearLayout
|
||||
android:layout_column="1"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_width="wrap_content"
|
||||
android:text="@string/about_copyright_notice"
|
||||
android:textSize="15sp" />
|
||||
</LinearLayout>
|
||||
</TableRow>
|
||||
<TableRow style="@style/AboutTableRow">
|
||||
<TextView
|
||||
android:text="@string/about_team"
|
||||
style="@style/AboutTextView.Column0"/>
|
||||
<LinearLayout
|
||||
android:layout_column="1"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_width="wrap_content"
|
||||
android:orientation="vertical">
|
||||
<TextView
|
||||
android:text="@string/about_bart"
|
||||
style="@style/AboutTextView"/>
|
||||
<TextView
|
||||
android:text="@string/about_dylan"
|
||||
style="@style/AboutTextView"/>
|
||||
<TextView
|
||||
android:text="@string/about_jimmy"
|
||||
style="@style/AboutTextView"/>
|
||||
<TextView
|
||||
android:text="@string/about_leif"
|
||||
style="@style/AboutTextView"/>
|
||||
<TextView
|
||||
android:text="@string/about_rodrigo"
|
||||
style="@style/AboutTextView"/>
|
||||
<TextView
|
||||
android:text="@string/about_sandor"
|
||||
style="@style/AboutTextView"/>
|
||||
</LinearLayout>
|
||||
</TableRow>
|
||||
<TableRow style="@style/AboutTableRow">
|
||||
<TextView
|
||||
android:text="@string/about_version"
|
||||
style="@style/AboutTextView.Column0"/>
|
||||
<TextView
|
||||
android:id="@+id/about_version"
|
||||
style="@style/AboutTextView"/>
|
||||
</TableRow>
|
||||
<TableRow style="@style/AboutTableRow">
|
||||
<TextView
|
||||
android:text="@string/about_support"
|
||||
style="@style/AboutTextView.Column0"/>
|
||||
<TextView
|
||||
android:text="@string/my_tracks_web_url"
|
||||
style="@style/AboutTextView.Url"/>
|
||||
</TableRow>
|
||||
<TableRow style="@style/AboutTableRow">
|
||||
<TextView
|
||||
android:text="@string/about_privacy"
|
||||
style="@style/AboutTextView.Column0"/>
|
||||
<TextView
|
||||
android:text="@string/my_tracks_privacy_url"
|
||||
style="@style/AboutTextView.Url"/>
|
||||
</TableRow>
|
||||
</TableLayout>
|
||||
android:orientation="vertical">
|
||||
<TextView
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_width="wrap_content"
|
||||
android:text="@string/my_tracks_app_name"
|
||||
android:textSize="30sp"/>
|
||||
<TextView
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_width="wrap_content"
|
||||
android:text="@string/about_copyright_notice"
|
||||
android:textSize="15sp"/>
|
||||
</LinearLayout>
|
||||
</TableRow>
|
||||
</TableLayout>
|
||||
|
||||
<!-- Team -->
|
||||
<TextView
|
||||
android:text="@string/about_team"
|
||||
style="@style/AboutLabel"/>
|
||||
<TextView
|
||||
android:text="@string/about_bart"
|
||||
style="@style/AboutItem"/>
|
||||
<TextView
|
||||
android:text="@string/about_dylan"
|
||||
style="@style/AboutItem"/>
|
||||
<TextView
|
||||
android:text="@string/about_jimmy"
|
||||
style="@style/AboutItem"/>
|
||||
<TextView
|
||||
android:text="@string/about_leif"
|
||||
style="@style/AboutItem"/>
|
||||
<TextView
|
||||
android:text="@string/about_rodrigo"
|
||||
style="@style/AboutItem"/>
|
||||
<TextView
|
||||
android:text="@string/about_sandor"
|
||||
style="@style/AboutItem"/>
|
||||
|
||||
<!-- Version -->
|
||||
<TextView
|
||||
android:text="@string/about_version"
|
||||
style="@style/AboutLabel"/>
|
||||
<TextView
|
||||
android:id="@+id/about_version"
|
||||
style="@style/AboutItem"/>
|
||||
|
||||
<!-- Support -->
|
||||
<TextView
|
||||
android:text="@string/about_support"
|
||||
style="@style/AboutLabel"/>
|
||||
<TextView
|
||||
android:text="@string/my_tracks_web_url"
|
||||
style="@style/AboutUrl"/>
|
||||
|
||||
<!-- Privacy -->
|
||||
<TextView
|
||||
android:text="@string/about_privacy"
|
||||
style="@style/AboutLabel"/>
|
||||
<TextView
|
||||
android:text="@string/my_tracks_privacy_url"
|
||||
style="@style/AboutUrl"/>
|
||||
</LinearLayout>
|
||||
</ScrollView>
|
||||
@@ -17,120 +17,90 @@ limitations under the License.
|
||||
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:layout_height="fill_parent"
|
||||
android:layout_width="fill_parent"
|
||||
android:minWidth="300dp"
|
||||
android:orientation="vertical">
|
||||
<LinearLayout
|
||||
android:background="@drawable/list_bar"
|
||||
<TableLayout
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_width="fill_parent">
|
||||
<TextView
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginLeft="10dp"
|
||||
android:layout_width="fill_parent"
|
||||
android:text="@string/menu_chart_view_chart_settings"
|
||||
android:textColor="#fff"
|
||||
android:textSize="20sp"/>
|
||||
</LinearLayout>
|
||||
android:layout_width="fill_parent"
|
||||
android:shrinkColumns="0"
|
||||
android:stretchColumns="0">
|
||||
<TableRow>
|
||||
<TextView
|
||||
android:background="@drawable/list_bar"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_width="fill_parent"
|
||||
android:paddingLeft="10dp"
|
||||
android:text="@string/menu_chart_view_chart_settings"
|
||||
android:textColor="@color/white"
|
||||
android:textSize="20sp"/>
|
||||
</TableRow>
|
||||
</TableLayout>
|
||||
<ScrollView
|
||||
android:layout_height="0dp"
|
||||
android:layout_weight="1"
|
||||
android:layout_width="fill_parent">
|
||||
<TableLayout
|
||||
<LinearLayout
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginLeft="5dp"
|
||||
android:layout_marginTop="5dp"
|
||||
android:layout_width="fill_parent"
|
||||
android:stretchColumns="1">
|
||||
<TableRow>
|
||||
<LinearLayout
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginLeft="10dp"
|
||||
android:layout_width="fill_parent"
|
||||
android:orientation="vertical">
|
||||
<LinearLayout
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_width="fill_parent"
|
||||
android:orientation="horizontal">
|
||||
<ImageView
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_width="wrap_content"
|
||||
android:src="@drawable/x_axis"/>
|
||||
<TextView
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_width="fill_parent"
|
||||
android:text="@string/chart_settings_x_axis"
|
||||
android:textSize="20sp"/>
|
||||
</LinearLayout>
|
||||
<RadioGroup
|
||||
android:id="@+id/chart_settings_x"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_width="fill_parent">
|
||||
<RadioButton
|
||||
android:id="@+id/chart_settings_by_distance"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_width="fill_parent"
|
||||
android:text="@string/chart_settings_by_distance"/>
|
||||
<RadioButton
|
||||
android:id="@+id/chart_settings_by_time"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_width="fill_parent"
|
||||
android:text="@string/chart_settings_by_time"/>
|
||||
</RadioGroup>
|
||||
</LinearLayout>
|
||||
</TableRow>
|
||||
<TableRow>
|
||||
<LinearLayout
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginLeft="10dp"
|
||||
android:layout_width="fill_parent"
|
||||
android:orientation="vertical">
|
||||
<LinearLayout
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_width="fill_parent"
|
||||
android:orientation="horizontal">
|
||||
<ImageView
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_width="wrap_content"
|
||||
android:src="@drawable/y_axis"/>
|
||||
<TextView
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_width="fill_parent"
|
||||
android:text="@string/chart_settings_y_axis"
|
||||
android:textSize="20sp" />
|
||||
</LinearLayout>
|
||||
<CheckBox
|
||||
android:id="@+id/chart_settings_elevation"
|
||||
android:checked="true"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_width="fill_parent"
|
||||
android:text="@string/stat_elevation"/>
|
||||
<CheckBox
|
||||
android:id="@+id/chart_settings_speed"
|
||||
android:checked="true"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_width="fill_parent"
|
||||
android:text="@string/stat_speed"/>
|
||||
<CheckBox
|
||||
android:id="@+id/chart_settings_power"
|
||||
android:checked="true"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_width="fill_parent"
|
||||
android:text="@string/sensor_state_power"/>
|
||||
<CheckBox
|
||||
android:id="@+id/chart_settings_cadence"
|
||||
android:checked="true"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_width="fill_parent"
|
||||
android:text="@string/sensor_state_cadence"/>
|
||||
<CheckBox
|
||||
android:id="@+id/chart_settings_heart_rate"
|
||||
android:checked="true"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_width="fill_parent"
|
||||
android:text="@string/sensor_state_heart_rate"/>
|
||||
</LinearLayout>
|
||||
</TableRow>
|
||||
</TableLayout>
|
||||
android:orientation="vertical"
|
||||
android:padding="10dp">
|
||||
|
||||
<!-- X axis -->
|
||||
<LinearLayout style="@style/ChartSettingsAxisLayout">
|
||||
<ImageView
|
||||
android:src="@drawable/x_axis"
|
||||
style="@style/ChartSettingsAxisImage"/>
|
||||
<TextView
|
||||
android:text="@string/chart_settings_x_axis"
|
||||
style="@style/ChartSettingsAxisText"/>
|
||||
</LinearLayout>
|
||||
|
||||
<RadioGroup
|
||||
android:id="@+id/chart_settings_x"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_width="fill_parent">
|
||||
<RadioButton
|
||||
android:id="@+id/chart_settings_by_distance"
|
||||
android:text="@string/chart_settings_by_distance"
|
||||
style="@style/ChartSettingsRadioButton"/>
|
||||
<RadioButton
|
||||
android:id="@+id/chart_settings_by_time"
|
||||
android:text="@string/chart_settings_by_time"
|
||||
style="@style/ChartSettingsRadioButton"/>
|
||||
</RadioGroup>
|
||||
|
||||
<!-- Y axis -->
|
||||
<LinearLayout
|
||||
android:paddingTop="10dp"
|
||||
style="@style/ChartSettingsAxisLayout">
|
||||
<ImageView
|
||||
android:src="@drawable/y_axis"
|
||||
style="@style/ChartSettingsAxisImage"/>
|
||||
<TextView
|
||||
android:text="@string/chart_settings_y_axis"
|
||||
style="@style/ChartSettingsAxisText"/>
|
||||
</LinearLayout>
|
||||
|
||||
<CheckBox
|
||||
android:id="@+id/chart_settings_elevation"
|
||||
android:text="@string/stat_elevation"
|
||||
style="@style/ChartSettingsCheckbox"/>
|
||||
<CheckBox
|
||||
android:id="@+id/chart_settings_speed"
|
||||
android:text="@string/stat_speed"
|
||||
style="@style/ChartSettingsCheckbox"/>
|
||||
<CheckBox
|
||||
android:id="@+id/chart_settings_power"
|
||||
android:text="@string/sensor_state_power"
|
||||
style="@style/ChartSettingsCheckbox"/>
|
||||
<CheckBox
|
||||
android:id="@+id/chart_settings_cadence"
|
||||
android:text="@string/sensor_state_cadence"
|
||||
style="@style/ChartSettingsCheckbox"/>
|
||||
<CheckBox
|
||||
android:id="@+id/chart_settings_heart_rate"
|
||||
android:text="@string/sensor_state_heart_rate"
|
||||
style="@style/ChartSettingsCheckbox"/>
|
||||
</LinearLayout>
|
||||
</ScrollView>
|
||||
<LinearLayout style="@style/ButtonLayout">
|
||||
<LinearLayout style="@style/ButtonSpacer"/>
|
||||
|
||||
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@@ -22,6 +22,9 @@ limitations under the License.
|
||||
<string name="about_leif">Leif Wilden</string>
|
||||
<string name="about_rodrigo">Rodrigo Damazio</string>
|
||||
<string name="about_sandor">Sandor Dornbush</string>
|
||||
<string name="color_mode_dynamic_percentage_default">25</string>
|
||||
<string name="color_mode_fixed_medium_default">15</string>
|
||||
<string name="color_mode_fixed_slow_default">9</string>
|
||||
<string name="display_track_color_value_dynamic">DYNAMIC</string>
|
||||
<string name="display_track_color_value_fixed">FIXED</string>
|
||||
<string name="display_track_color_value_none">NONE</string>
|
||||
|
||||
@@ -420,11 +420,17 @@ limitations under the License.
|
||||
\n
|
||||
http://mytracks.googlecode.com\n
|
||||
</string>
|
||||
<string name="android_market_recent_changes_text"
|
||||
translation_description="For the Android Market (not used in the app), the recent changes text.
|
||||
|
||||
Character limit: 500.">
|
||||
Please see the English version for more information.
|
||||
</string>
|
||||
<string name="android_market_promo_text"
|
||||
translation_description="For the Android Market (not used in the app), the promotion text.
|
||||
|
||||
Character limit: 80.">
|
||||
My Tracks allows you to record and share your GPS tracks, including statistics.
|
||||
Record and share your GPS tracks with My Tracks.
|
||||
</string>
|
||||
|
||||
<!-- Chart Settings -->
|
||||
@@ -477,6 +483,11 @@ limitations under the License.
|
||||
http://m.google.com/toscountry.">
|
||||
By using Google\'s mobile products and services ("Services"), you:
|
||||
</string>
|
||||
<string name="eula_message_copyright"
|
||||
translation_description="The copyright in the Google mobile terms of service. See
|
||||
http://m.google.com/toscountry.">
|
||||
©2011
|
||||
</string>
|
||||
<string name="eula_message_date"
|
||||
translation_description="The date in the Google mobile terms of service. See
|
||||
http://m.google.com/toscountry.">
|
||||
@@ -583,7 +594,7 @@ limitations under the License.
|
||||
<string name="generic_progress_title"
|
||||
translation_description="The title on a progress dialog asking the user to wait.
|
||||
|
||||
Screenshot: sc_card_progress_write_file.png">
|
||||
Screenshot: sd_card_progress_write_file.png">
|
||||
Please wait...
|
||||
</string>
|
||||
<string name="generic_save"
|
||||
@@ -593,7 +604,7 @@ limitations under the License.
|
||||
<string name="generic_success_title"
|
||||
translation_description="The title on an alert dialog indicating success.
|
||||
|
||||
Screenshot: sc_card_success_write_file.png">
|
||||
Screenshot: sd_card_success_write_file.png">
|
||||
Success
|
||||
</string>
|
||||
<string name="generic_yes"
|
||||
@@ -966,7 +977,7 @@ limitations under the License.
|
||||
|
||||
Character limit: ~23 (1 line)
|
||||
Screenshot: my_tracks_recording_service.png">
|
||||
Track recording service
|
||||
Recording service
|
||||
</string>
|
||||
|
||||
<!-- Permission -->
|
||||
@@ -1076,7 +1087,7 @@ limitations under the License.
|
||||
translation_description="When reading from the SD card, the success message when finish reading
|
||||
from the SD card.
|
||||
|
||||
Screenshot: sc_card_success_read_file.png">
|
||||
Screenshot: sd_card_success_read_file.png">
|
||||
Finished reading from the SD card.
|
||||
</string>
|
||||
<string name="sd_card_success_write_file"
|
||||
@@ -1118,8 +1129,9 @@ limitations under the License.
|
||||
translation_description="When sending a track to Google Maps, the radio option to use an
|
||||
existing map as opposed to create a new map.
|
||||
|
||||
Character limit: ~21 (1 line)
|
||||
Screenshot: send_google_choose_service.png">
|
||||
Use an existing map
|
||||
Use existing map
|
||||
</string>
|
||||
<string name="send_google_fusion_tables"
|
||||
translation_description="When sending a track to Google, under the 'Send to...' dialog, the
|
||||
@@ -1139,8 +1151,9 @@ limitations under the License.
|
||||
translation_description="When sending a track to Google Maps, the radio option to create a
|
||||
new map as opposed to use an existing map.
|
||||
|
||||
Character limit: ~21 (1 line)
|
||||
Screenshot: send_google_choose_service.png">
|
||||
Create a new map
|
||||
Create new map
|
||||
</string>
|
||||
<string name="send_google_no_account_message"
|
||||
translation_description="When sending to Google, the dialog message when no Google account is
|
||||
@@ -1294,7 +1307,7 @@ limitations under the License.
|
||||
<string name="sensor_state_heart_rate_value"
|
||||
translation_description="In the 'Sensor state' page, the value for the 'Heart rate'. E.g.,
|
||||
'Hear rate: 100 bpm'.
|
||||
|
||||
|
||||
%1$d: a number. E.g., '100'.">
|
||||
%1$d bpm
|
||||
</string>
|
||||
@@ -1337,7 +1350,7 @@ limitations under the License.
|
||||
Backup
|
||||
</string>
|
||||
<string name="settings_backup_now"
|
||||
translation_description="In the 'Backup' settings, under the 'SD card backup' section, the
|
||||
translation_description="In the 'Backup' settings, under the 'SD card' section, the
|
||||
option to backup to the SD card now.
|
||||
|
||||
Character limit: ~26 (1 line)
|
||||
@@ -1353,7 +1366,7 @@ limitations under the License.
|
||||
Writing all tracks and settings to the SD card. This may take a while...
|
||||
</string>
|
||||
<string name="settings_backup_now_summary"
|
||||
translation_description="In the 'Backup' settings, under the 'SD card backup' section, the
|
||||
translation_description="In the 'Backup' settings, under the 'SD card' section, the
|
||||
summary for the 'Backup now' option explaining that all tracks and settings will be written to
|
||||
the SD card.
|
||||
|
||||
@@ -1361,7 +1374,7 @@ limitations under the License.
|
||||
Write a full copy of all your tracks and settings to the SD card.
|
||||
</string>
|
||||
<string name="settings_backup_restore"
|
||||
translation_description="In the 'Backup' settings, under the 'SD card backup' section, the
|
||||
translation_description="In the 'Backup' settings, under the 'SD card' section, the
|
||||
option to restore everything from the SD card.
|
||||
|
||||
Character limit: ~26 (1 line)
|
||||
@@ -1400,11 +1413,10 @@ limitations under the License.
|
||||
Select a backup to restore
|
||||
</string>
|
||||
<string name="settings_backup_restore_summary"
|
||||
translation_description="In the 'Backup' settings, under the 'SD card backup' section, the
|
||||
translation_description="In the 'Backup' settings, under the 'SD card' section, the
|
||||
summary for the 'Restore now' option explaining that it restores all tracks and settings from
|
||||
the SD card.
|
||||
|
||||
Character limit: ~26 (1 line)
|
||||
Screenshot: settings_backup.png">
|
||||
Restore all tracks and settings from the SD card.
|
||||
</string>
|
||||
@@ -1414,7 +1426,7 @@ limitations under the License.
|
||||
|
||||
Character limit: ~40 (1 line)
|
||||
Screenshot: settings_backup.png">
|
||||
SD card backup
|
||||
SD card
|
||||
</string>
|
||||
<string name="settings_display"
|
||||
translation_description="In the 'Settings' page, the option to change the display related
|
||||
@@ -1429,17 +1441,17 @@ limitations under the License.
|
||||
|
||||
Character limit: ~23 (1 line)
|
||||
Screenshot: settings_display.png">
|
||||
Use metric units
|
||||
Use metric
|
||||
</string>
|
||||
<string name="settings_display_metric_summary_off"
|
||||
translation_description="In the 'Display' settings, the summary for the 'Use metric units'
|
||||
translation_description="In the 'Display' settings, the summary for the 'Use metric'
|
||||
checkbox when it is unchecked explaining using the imperial units to display distances.
|
||||
|
||||
Screenshot: settings_display_unchecked.png">
|
||||
Use imperial units to display distances.
|
||||
</string>
|
||||
<string name="settings_display_metric_summary_on"
|
||||
translation_description="In the 'Display' settings, the summary for the 'Use metric units'
|
||||
translation_description="In the 'Display' settings, the summary for the 'Use metric'
|
||||
checkbox when it is checked explaining using the metric units to display distances.
|
||||
|
||||
Screenshot: settings_display.png">
|
||||
@@ -1475,10 +1487,10 @@ limitations under the License.
|
||||
|
||||
Character limit: ~23 (1 line)
|
||||
Screenshot: settings_display.png">
|
||||
Track color mode
|
||||
Color mode
|
||||
</string>
|
||||
<string name="settings_display_track_color_dynamic"
|
||||
translation_description="In the 'Display' settings, for the 'Track color mode' dropdown, the
|
||||
translation_description="In the 'Display' settings, for the 'Color mode' dropdown, the
|
||||
option to use different colors to color a track based on dynamically determined speed
|
||||
thresholds. E.g., use one color when the speed is below the slow speed threshold.
|
||||
|
||||
@@ -1489,17 +1501,17 @@ limitations under the License.
|
||||
<string name="settings_display_track_color_dynamic_medium"
|
||||
translation_description="In the 'Display' settings, under the 'Dynamic thresholds'
|
||||
configurations, the option for configuring the percentage from the average speed for the
|
||||
medium speed range. The track color mode will use different colors to color a track depending
|
||||
medium speed range. The color mode will use different colors to color a track depending
|
||||
on whether the speed is above, in, or below the medium speed range.
|
||||
|
||||
Character limit: ~23 (1 line)
|
||||
Screenshot: settings_display.png">
|
||||
Percentage from average
|
||||
Percentage
|
||||
</string>
|
||||
<string name="settings_display_track_color_dynamic_medium_summary"
|
||||
translation_description="In the 'Display' settings, under the 'Dynamic thresholds'
|
||||
configurations, the summary for the 'Percentage from average' option explaining that it sets
|
||||
the percentage from the average speed for the medium speed range. The track color mode will
|
||||
configurations, the summary for the 'Percentage' option explaining that it sets
|
||||
the percentage from the average speed for the medium speed range. The color mode will
|
||||
use different colors to color a track depending on whether the speed is above, in, or below
|
||||
the medium speed range.
|
||||
|
||||
@@ -1507,7 +1519,7 @@ limitations under the License.
|
||||
Percentage from the average speed for the medium speed range.
|
||||
</string>
|
||||
<string name="settings_display_track_color_fixed"
|
||||
translation_description="In the 'Display' settings, for the 'Track color mode' dropdown, the
|
||||
translation_description="In the 'Display' settings, for the 'Color mode' dropdown, the
|
||||
option to use different colors to color a track based on fixed speed thresholds. E.g., use
|
||||
one color when the speed is below the slow speed threshold.
|
||||
|
||||
@@ -1523,11 +1535,11 @@ limitations under the License.
|
||||
|
||||
Character limit: ~23 (1 line)
|
||||
Screenshot: settings_display.png">
|
||||
Medium speed threshold
|
||||
Medium speed
|
||||
</string>
|
||||
<string name="settings_display_track_color_fixed_medium_summary"
|
||||
translation_description="In the 'Display' settings, under the 'Fixed thresholds' configurations,
|
||||
the summary for the 'Medium speed threshold' option explaining that it sets a cutoff speed
|
||||
the summary for the 'Medium speed' option explaining that it sets a cutoff speed
|
||||
for the medium speed color.
|
||||
|
||||
Screenshot: settings_display.png">
|
||||
@@ -1540,18 +1552,18 @@ limitations under the License.
|
||||
|
||||
Character limit: ~23 (1 line)
|
||||
Screenshot: settings_display.png">
|
||||
Slow speed threshold
|
||||
Slow speed
|
||||
</string>
|
||||
<string name="settings_display_track_color_fixed_slow_summary"
|
||||
translation_description="In the 'Display' settings, under the 'Fixed thresholds' configurations,
|
||||
the summary for the 'Slow speed threshold' option explaining that it sets a cutoff speed for
|
||||
the summary for the 'Slow speed' option explaining that it sets a cutoff speed for
|
||||
the slow speed color.
|
||||
|
||||
Screenshot: settings_display.png">
|
||||
Slow speed top value.
|
||||
</string>
|
||||
<string name="settings_display_track_color_single"
|
||||
translation_description="In the 'Display' settings, for the 'Track color mode' dropdown, the
|
||||
translation_description="In the 'Display' settings, for the 'Color mode' dropdown, the
|
||||
option to use a single color for all speeds.
|
||||
|
||||
Character limit: ~21 (1 line)
|
||||
@@ -1559,7 +1571,7 @@ limitations under the License.
|
||||
Single color
|
||||
</string>
|
||||
<string name="settings_display_track_color_summary"
|
||||
translation_description="In the 'Display' settings, the summary for the 'Track color mode'
|
||||
translation_description="In the 'Display' settings, the summary for the 'Color mode'
|
||||
dropdown explaining that it configures how colors are used to color a track based on
|
||||
slow, medium, and fast speed.
|
||||
|
||||
@@ -1587,10 +1599,10 @@ limitations under the License.
|
||||
|
||||
Character limit: ~23 (1 line)
|
||||
Screenshot: settings_recording_bottom.png">
|
||||
Auto-resume timeout
|
||||
Auto-resume
|
||||
</string>
|
||||
<string name="settings_recording_auto_resume_summary"
|
||||
translation_description="In the 'Recording' settings, the summary for the 'Auto-resume timeout'
|
||||
translation_description="In the 'Recording' settings, the summary for the 'Auto-resume'
|
||||
dropdown option explaining that it configures the maximum time after which a previous
|
||||
recording will not be resumed after phone reboot.
|
||||
|
||||
@@ -1603,11 +1615,11 @@ limitations under the License.
|
||||
|
||||
Character limit: ~23 (1 line)
|
||||
Screenshot: settings_recording_bottom.png">
|
||||
Default activity type
|
||||
Default activity
|
||||
</string>
|
||||
<string name="settings_recording_default_activity_summary"
|
||||
translation_description="In the 'Recording' settings, the summary for the 'Default activity
|
||||
type' option explaining that it sets the default activity type for a new track.
|
||||
translation_description="In the 'Recording' settings, the summary for the 'Default activity'
|
||||
option explaining that it sets the default activity type for a new track.
|
||||
|
||||
Screenshot: settings_recording_bottom.png">
|
||||
Default activity type for a new track.
|
||||
@@ -1618,11 +1630,11 @@ limitations under the License.
|
||||
|
||||
Character limit: ~23 (1 line)
|
||||
Screenshot: settings_recording_top.png">
|
||||
Distance between points
|
||||
Distance interval
|
||||
</string>
|
||||
<string name="settings_recording_distance_summary"
|
||||
translation_description="In the 'Recording' settings, the summary for the 'Distance between
|
||||
points' dropdown option explaining that it configures the smallest distance between two
|
||||
translation_description="In the 'Recording' settings, the summary for the 'Distance interval'
|
||||
dropdown option explaining that it configures the smallest distance between two
|
||||
recordings of your position.
|
||||
|
||||
Screenshot: settings_recording_top.png">
|
||||
@@ -1651,10 +1663,10 @@ limitations under the License.
|
||||
|
||||
Character limit: ~23 (1 line)
|
||||
Screenshot: settings_recording_top.png">
|
||||
Time between points
|
||||
Time interval
|
||||
</string>
|
||||
<string name="settings_recording_interval_summary"
|
||||
translation_description="In the 'Recording' settings, the summary for the 'Time between points'
|
||||
translation_description="In the 'Recording' settings, the summary for the 'Time interval'
|
||||
dropdown option explaining that it configures the smallest time interval between two
|
||||
recordings of your position.
|
||||
|
||||
@@ -1667,10 +1679,10 @@ limitations under the License.
|
||||
|
||||
Character limit: ~23 (1 line)
|
||||
Screenshot: settings_recording_top.png">
|
||||
Marker frequency
|
||||
Marker
|
||||
</string>
|
||||
<string name="settings_recording_marker_summary"
|
||||
translation_description="In the 'Recording' settings, the summary for the 'Marker frequency'
|
||||
translation_description="In the 'Recording' settings, the summary for the 'Marker'
|
||||
dropdown option explaining that it configures the time or distance after which a new marker
|
||||
will be inserted.
|
||||
|
||||
@@ -1683,19 +1695,18 @@ limitations under the License.
|
||||
|
||||
Character limit: ~23 (1 line)
|
||||
Screenshot: settings_recording_bottom.png">
|
||||
Use time for track name
|
||||
Use timestamp
|
||||
</string>
|
||||
<string name="settings_recording_name_summary_off"
|
||||
translation_description="In the 'Recording' settings, the summary for the 'Use time for track
|
||||
name' checkbox when it is unchecked explaining using a number as the default track name.
|
||||
translation_description="In the 'Recording' settings, the summary for the 'Use timestamp'
|
||||
checkbox when it is unchecked explaining using a number as the default track name.
|
||||
|
||||
Screenshot: settings_recording_bottom_unchecked.png">
|
||||
Use a number as the default track name.
|
||||
</string>
|
||||
<string name="settings_recording_name_summary_on"
|
||||
translation_description="In the 'Recording' settings, the summary for the 'Use time for track
|
||||
name' checkbox when it is checked explaining using the track's start time as the default track
|
||||
name.
|
||||
translation_description="In the 'Recording' settings, the summary for the 'Use timestamp'
|
||||
checkbox when it is checked explaining using the track's start time as the default track name.
|
||||
|
||||
Screenshot: settings_recording_bottom.png">
|
||||
Use the track\'s start time as the default track name.
|
||||
@@ -1706,15 +1717,16 @@ limitations under the License.
|
||||
|
||||
Character limit: ~23 (1 line)
|
||||
Screenshot: settings_recording_top.png">
|
||||
Distance between tracks
|
||||
Max interval
|
||||
</string>
|
||||
<string name="settings_recording_track_distance_summary"
|
||||
translation_description="In the 'Recording' settings, the summary for the 'Distance between
|
||||
tracks' dropdown option explaining that it configures the maximum distance for two recorded
|
||||
translation_description="In the 'Recording' settings, the summary for the 'Max interval'
|
||||
dropdown option explaining that it configures the maximum distance for two recorded
|
||||
points for them to be still considered as the same track.
|
||||
|
||||
Screenshot: settings_recording_top.png">
|
||||
Track will be split if two recordings of your position are further than this.
|
||||
Maximum distance between two recordings of your position. If two positions are further than
|
||||
this, the track will be split.
|
||||
</string>
|
||||
<string name="settings_recording_voice"
|
||||
translation_description="In the 'Recording' settings, the dropdown option to configure the voice
|
||||
@@ -1722,17 +1734,17 @@ limitations under the License.
|
||||
|
||||
Character limit: ~23 (1 line)
|
||||
Screenshot: settings_recording_top.png">
|
||||
Voice frequency
|
||||
Voice
|
||||
</string>
|
||||
<string name="settings_recording_voice_not_available"
|
||||
translation_description="In the 'Recording' settings, the summary for the 'Voice frequency'
|
||||
translation_description="In the 'Recording' settings, the summary for the 'Voice'
|
||||
explaining that this option is not available on your Android phone.
|
||||
|
||||
Screenshot: settings_recording_voice_not_available.png">
|
||||
Voice announcement is not available on your Android phone.
|
||||
</string>
|
||||
<string name="settings_recording_voice_summary"
|
||||
translation_description="In the 'Recording' settings, the summary for the 'Voice frequency'
|
||||
translation_description="In the 'Recording' settings, the summary for the 'Voice'
|
||||
dropdown option explaining that it configures the time or distance between two voice
|
||||
announcements.
|
||||
|
||||
@@ -1744,10 +1756,10 @@ limitations under the License.
|
||||
|
||||
Character limit: ~26 (1 line)
|
||||
Screenshot: settings.png">
|
||||
Reset to defaults
|
||||
Reset
|
||||
</string>
|
||||
<string name="settings_reset_dialog_message"
|
||||
translation_description="In the 'Settings' page, after pressing the 'Reset to defaults' option,
|
||||
translation_description="In the 'Settings' page, after pressing the 'Reset' option,
|
||||
the confirmation dialog asking the user to confirm reverting all settings to defaults. But
|
||||
the saved tracks will be preserved.
|
||||
|
||||
@@ -1756,7 +1768,7 @@ limitations under the License.
|
||||
preserved. Are you sure?
|
||||
</string>
|
||||
<string name="settings_reset_done"
|
||||
translation_description="In the 'Settings' page, after pressing the 'Reset to defaults' option,
|
||||
translation_description="In the 'Settings' page, after pressing the 'Reset' option,
|
||||
the confirmation dialog informing the user that all settings have been reverted to their
|
||||
defaults.
|
||||
|
||||
@@ -1764,7 +1776,7 @@ limitations under the License.
|
||||
All settings have been reverted to their defaults.
|
||||
</string>
|
||||
<string name="settings_reset_summary"
|
||||
translation_description="In the 'Settings' page, the summary for the 'Reset to defaults' option
|
||||
translation_description="In the 'Settings' page, the summary for the 'Reset' option
|
||||
explaining reverting all the settings to the default values.
|
||||
|
||||
Screenshot: settings.png">
|
||||
@@ -1854,7 +1866,7 @@ limitations under the License.
|
||||
|
||||
Character limit: ~21 (1 line)
|
||||
Screenshot: settings_sensor_type.png">
|
||||
ANT+ heart rate sensor
|
||||
ANT+ heart rate
|
||||
</string>
|
||||
<string name="settings_sensor_type_none"
|
||||
translation_description="In the 'Sensor' settings, for the 'Sensor type' dropdown, the option to
|
||||
@@ -1875,7 +1887,7 @@ limitations under the License.
|
||||
</string>
|
||||
<string name="settings_sensor_type_srm"
|
||||
translation_description="In the 'Sensor' settings, for the 'Sensor type' dropdown, the option to
|
||||
connect to a SRM ANT+ bridge. Do not trasnlate SRM, the company name, but can translate
|
||||
connect to a SRM ANT+ bridge. Do not translate SRM, the company name, but can translate
|
||||
ANT+, the radio standard, and bridge (network bridge).
|
||||
|
||||
Character limit: ~21 (1 line)
|
||||
@@ -1904,11 +1916,11 @@ limitations under the License.
|
||||
|
||||
Character limit: ~26 (1 line)
|
||||
Screenshot: settings_sensor.png">
|
||||
Unpair ANT+ heart rate sensor
|
||||
Unpair ANT+ heart rate
|
||||
</string>
|
||||
<string name="settings_sensor_unpair_srm"
|
||||
translation_description="In the 'Sensor' settings, under the 'ANT+ options' configurations, the
|
||||
option to unpair a SRM ANT+ bridge. Do not trasnlate SRM, the company name, but can translate
|
||||
option to unpair a SRM ANT+ bridge. Do not translate SRM, the company name, but can translate
|
||||
ANT+, the radio standard, and bridge (network bridge).
|
||||
|
||||
Character limit: ~26 (1 line)
|
||||
@@ -1963,10 +1975,10 @@ limitations under the License.
|
||||
|
||||
Character limit: ~23 (1 line)
|
||||
Screenshot: settings_sharing.png">
|
||||
Make new maps public
|
||||
New maps public
|
||||
</string>
|
||||
<string name="settings_sharing_map_public_summary_off"
|
||||
translation_description="In the 'Sharing' settings, the summary for the 'Make new maps public'
|
||||
translation_description="In the 'Sharing' settings, the summary for the 'New maps public'
|
||||
checkbox option when it is unchecked explaining that new maps created in Google Maps will
|
||||
be unlisted, as opposed to public.
|
||||
|
||||
@@ -1974,7 +1986,7 @@ limitations under the License.
|
||||
Make new maps created in Google Maps unlisted.
|
||||
</string>
|
||||
<string name="settings_sharing_map_public_summary_on"
|
||||
translation_description="In the 'Sharing' settings, the summary for the 'Make new maps public'
|
||||
translation_description="In the 'Sharing' settings, the summary for the 'New maps public'
|
||||
checkbox option when it is checked explaining that new maps created in Google Maps will
|
||||
be public, as opposed to unlisted.
|
||||
|
||||
@@ -2711,7 +2723,7 @@ limitations under the License.
|
||||
%2$s: time string. E.g., '1 hour and 30 minutes' or '20 minutes 1 second'
|
||||
%3$s: speed/pace string. For speed, e.g., '2.2 miles per hour', '1 kilometer per hour'. For
|
||||
pace, e.g., '2 hours 1 minute per mile', '30 minutes 1 second per kilometer'.">
|
||||
My Tracks total distance %1$s in %2$s at %3$s.
|
||||
My Tracks %1$s in %2$s at %3$s.
|
||||
</string>
|
||||
<string name="voice_total_distance_kilometers_few"
|
||||
translation_description="For voice announcement, to say total distance 'few' kilometers.
|
||||
|
||||
@@ -15,33 +15,33 @@ See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
-->
|
||||
<resources>
|
||||
|
||||
<!-- About dialog TableRow -->
|
||||
<style name="AboutTableRow">
|
||||
<item name="android:paddingBottom">2dp</item>
|
||||
</style>
|
||||
|
||||
<!-- About dialog TextView -->
|
||||
<style name="AboutTextView">
|
||||
<!-- About page label -->
|
||||
<style name="AboutLabel">
|
||||
<item name="android:layout_height">wrap_content</item>
|
||||
<item name="android:layout_width">wrap_content</item>
|
||||
<item name="android:textSize">20sp</item>
|
||||
<item name="android:layout_width">fill_parent</item>
|
||||
<item name="android:paddingBottom">2dp</item>
|
||||
<item name="android:textSize">20sp</item>
|
||||
</style>
|
||||
|
||||
<!-- About dialog TextView column 0 -->
|
||||
<style name="AboutTextView.Column0">
|
||||
<item name="android:gravity">right</item>
|
||||
<item name="android:layout_column">0</item>
|
||||
<item name="android:paddingLeft">10dp</item>
|
||||
<item name="android:paddingRight">10dp</item>
|
||||
<!-- About page item -->
|
||||
<style name="AboutItem">
|
||||
<item name="android:layout_height">wrap_content</item>
|
||||
<item name="android:layout_width">fill_parent</item>
|
||||
<item name="android:paddingBottom">2dp</item>
|
||||
<item name="android:paddingLeft">20dp</item>
|
||||
<item name="android:textSize">18sp</item>
|
||||
</style>
|
||||
|
||||
<!-- About dialog TextView Url -->
|
||||
<style name="AboutTextView.Url">
|
||||
|
||||
<!-- About page url -->
|
||||
<style name="AboutUrl">
|
||||
<item name="android:autoLink">web</item>
|
||||
<item name="android:textSize">18sp</item>
|
||||
<item name="android:layout_height">wrap_content</item>
|
||||
<item name="android:layout_width">fill_parent</item>
|
||||
<item name="android:paddingBottom">2dp</item>
|
||||
<item name="android:paddingLeft">20dp</item>
|
||||
<item name="android:textSize">18sp</item>
|
||||
</style>
|
||||
|
||||
|
||||
<!-- Button -->
|
||||
<style name="Button">
|
||||
<item name="android:layout_height">fill_parent</item>
|
||||
@@ -50,7 +50,7 @@ limitations under the License.
|
||||
<item name="android:maxLines">2</item>
|
||||
<item name="android:textSize">14dip</item>
|
||||
</style>
|
||||
|
||||
|
||||
<!-- Button layout -->
|
||||
<style name="ButtonLayout">
|
||||
<item name="android:background">@drawable/list_bar</item>
|
||||
@@ -61,7 +61,7 @@ limitations under the License.
|
||||
<item name="android:paddingRight">2dip</item>
|
||||
<item name="android:paddingTop">4dip</item>
|
||||
</style>
|
||||
|
||||
|
||||
<!-- Button spacer -->
|
||||
<style name="ButtonSpacer">
|
||||
<item name="android:layout_height">wrap_content</item>
|
||||
@@ -70,7 +70,42 @@ limitations under the License.
|
||||
<item name="android:orientation">horizontal</item>
|
||||
<item name="android:visibility">gone</item>
|
||||
</style>
|
||||
|
||||
|
||||
<!-- Chart settings axis image -->
|
||||
<style name="ChartSettingsAxisImage">
|
||||
<item name="android:layout_height">fill_parent</item>
|
||||
<item name="android:layout_width">wrap_content</item>
|
||||
</style>
|
||||
|
||||
<!-- Chart settings axis layout -->
|
||||
<style name="ChartSettingsAxisLayout">
|
||||
<item name="android:layout_height">wrap_content</item>
|
||||
<item name="android:layout_width">fill_parent</item>
|
||||
<item name="android:orientation">horizontal</item>
|
||||
</style>
|
||||
|
||||
<!-- Chart settings axis text -->
|
||||
<style name="ChartSettingsAxisText">
|
||||
<item name="android:gravity">bottom</item>
|
||||
<item name="android:layout_height">fill_parent</item>
|
||||
<item name="android:layout_width">wrap_content</item>
|
||||
<item name="android:paddingLeft">10dp</item>
|
||||
<item name="android:textSize">20sp</item>
|
||||
</style>
|
||||
|
||||
<!-- Chart settings checkbox -->
|
||||
<style name="ChartSettingsCheckbox">
|
||||
<item name="android:checked">true</item>
|
||||
<item name="android:layout_height">wrap_content</item>
|
||||
<item name="android:layout_width">wrap_content</item>
|
||||
</style>
|
||||
|
||||
<!-- Chart settings radio button -->
|
||||
<style name="ChartSettingsRadioButton">
|
||||
<item name="android:layout_height">wrap_content</item>
|
||||
<item name="android:layout_width">wrap_content</item>
|
||||
</style>
|
||||
|
||||
<style name="SensorStateLabel">
|
||||
<item name="android:layout_height">wrap_content</item>
|
||||
<item name="android:layout_width">fill_parent</item>
|
||||
@@ -95,7 +130,7 @@ limitations under the License.
|
||||
<item name="android:layout_height">3dip</item>
|
||||
<item name="android:layout_width">fill_parent</item>
|
||||
</style>
|
||||
|
||||
|
||||
<!-- The style for a text view for displaying a value on the statistics activity. -->
|
||||
<style name="StatsRegister" parent="@android:Widget.TextView">
|
||||
<item name="android:gravity">right</item>
|
||||
@@ -130,7 +165,7 @@ limitations under the License.
|
||||
<item name="android:layout_width">5dip</item>
|
||||
<item name="android:textSize">40sp</item>
|
||||
</style>
|
||||
|
||||
|
||||
<!-- The style for the unit on the statistics activity. -->
|
||||
<style name="StatsUnit" parent="@android:Widget.TextView">
|
||||
<item name="android:gravity">bottom</item>
|
||||
@@ -147,8 +182,8 @@ limitations under the License.
|
||||
<item name="android:layout_marginBottom">-9dip</item>
|
||||
<item name="android:layout_marginTop">-9dip</item>
|
||||
<item name="android:textColor">@color/stat_label_text</item>
|
||||
</style>
|
||||
|
||||
</style>
|
||||
|
||||
<!-- Welcome page TextView -->
|
||||
<style name="WelcomeTextView">
|
||||
<item name="android:layout_height">wrap_content</item>
|
||||
@@ -157,13 +192,13 @@ limitations under the License.
|
||||
<item name="android:paddingRight">10sp</item>
|
||||
<item name="android:textColor">@color/black</item>
|
||||
<item name="android:textSize">16sp</item>
|
||||
</style>
|
||||
|
||||
</style>
|
||||
|
||||
<!-- Welcome page TextView question -->
|
||||
<style name="WelcomeTextView.Question">
|
||||
<item name="android:paddingTop">10sp</item>
|
||||
<item name="android:textStyle">bold</item>
|
||||
</style>
|
||||
</style>
|
||||
|
||||
<!-- Widget TextView -->
|
||||
<style name="WidgetTextView">
|
||||
@@ -172,9 +207,9 @@ limitations under the License.
|
||||
<item name="android:textColor">@color/appwidget_text</item>
|
||||
<item name="android:textSize">14sp</item>
|
||||
</style>
|
||||
|
||||
|
||||
<!-- Widget TextView value -->
|
||||
<style name="WidgetTextView.Value">
|
||||
<item name="android:width">160px</item>
|
||||
</style>
|
||||
</resources>
|
||||
</resources>
|
||||
|
||||
@@ -32,7 +32,7 @@ limitations under the License.
|
||||
android:summaryOn="@string/settings_display_speed_summary_on"
|
||||
android:summaryOff="@string/settings_display_speed_summary_off"
|
||||
android:defaultValue="true" />
|
||||
|
||||
|
||||
<ListPreference android:key="@string/track_color_mode_key"
|
||||
android:title="@string/settings_display_track_color"
|
||||
android:summary="@string/settings_display_track_color_summary"
|
||||
@@ -40,46 +40,46 @@ limitations under the License.
|
||||
android:entryValues="@array/display_track_color_values"
|
||||
android:defaultValue="@string/display_track_color_value_none"/>
|
||||
|
||||
<PreferenceCategory android:title="@string/settings_display_track_color_fixed"
|
||||
<PreferenceCategory android:title="@string/settings_display_track_color_fixed"
|
||||
android:key="@string/track_color_mode_fixed_speed_options_key">
|
||||
<EditTextPreference android:key="@string/track_color_mode_fixed_speed_slow_key"
|
||||
android:title="@string/settings_display_track_color_fixed_slow"
|
||||
android:summary="@string/settings_display_track_color_fixed_slow_summary"
|
||||
android:defaultValue="9"
|
||||
<EditTextPreference android:key="@string/track_color_mode_fixed_speed_slow_key"
|
||||
android:title="@string/settings_display_track_color_fixed_slow"
|
||||
android:summary="@string/settings_display_track_color_fixed_slow_summary"
|
||||
android:defaultValue="@string/color_mode_fixed_slow_default"
|
||||
android:inputType="number"
|
||||
android:maxLength="3">
|
||||
</EditTextPreference>
|
||||
|
||||
<EditTextPreference android:key="@string/track_color_mode_fixed_speed_slow_display_key"
|
||||
android:title="@string/settings_display_track_color_fixed_slow"
|
||||
android:summary="@string/settings_display_track_color_fixed_slow_summary"
|
||||
android:defaultValue="9"
|
||||
|
||||
<EditTextPreference android:key="@string/track_color_mode_fixed_speed_slow_display_key"
|
||||
android:title="@string/settings_display_track_color_fixed_slow"
|
||||
android:summary="@string/settings_display_track_color_fixed_slow_summary"
|
||||
android:defaultValue="@string/color_mode_fixed_slow_default"
|
||||
android:inputType="number"
|
||||
android:maxLength="3">
|
||||
</EditTextPreference>
|
||||
|
||||
<EditTextPreference android:key="@string/track_color_mode_fixed_speed_medium_key"
|
||||
android:title="@string/settings_display_track_color_fixed_medium"
|
||||
android:summary="@string/settings_display_track_color_fixed_medium_summary"
|
||||
android:defaultValue="15"
|
||||
|
||||
<EditTextPreference android:key="@string/track_color_mode_fixed_speed_medium_key"
|
||||
android:title="@string/settings_display_track_color_fixed_medium"
|
||||
android:summary="@string/settings_display_track_color_fixed_medium_summary"
|
||||
android:defaultValue="@string/color_mode_fixed_medium_default"
|
||||
android:inputType="number"
|
||||
android:maxLength="3">
|
||||
</EditTextPreference>
|
||||
|
||||
<EditTextPreference android:key="@string/track_color_mode_fixed_speed_medium_display_key"
|
||||
android:title="@string/settings_display_track_color_fixed_medium"
|
||||
android:summary="@string/settings_display_track_color_fixed_medium_summary"
|
||||
android:defaultValue="15"
|
||||
|
||||
<EditTextPreference android:key="@string/track_color_mode_fixed_speed_medium_display_key"
|
||||
android:title="@string/settings_display_track_color_fixed_medium"
|
||||
android:summary="@string/settings_display_track_color_fixed_medium_summary"
|
||||
android:defaultValue="@string/color_mode_fixed_medium_default"
|
||||
android:inputType="number"
|
||||
android:maxLength="3">
|
||||
</EditTextPreference>
|
||||
</PreferenceCategory>
|
||||
|
||||
<PreferenceCategory android:title="@string/settings_display_track_color_dynamic">
|
||||
<EditTextPreference android:key="@string/track_color_mode_dynamic_speed_variation_key"
|
||||
android:title="@string/settings_display_track_color_dynamic_medium"
|
||||
android:summary="@string/settings_display_track_color_dynamic_medium_summary"
|
||||
android:defaultValue="25"
|
||||
<EditTextPreference android:key="@string/track_color_mode_dynamic_speed_variation_key"
|
||||
android:title="@string/settings_display_track_color_dynamic_medium"
|
||||
android:summary="@string/settings_display_track_color_dynamic_medium_summary"
|
||||
android:defaultValue="@string/color_mode_dynamic_percentage_default"
|
||||
android:inputType="number"
|
||||
android:maxLength="2">
|
||||
</EditTextPreference>
|
||||
@@ -143,7 +143,7 @@ limitations under the License.
|
||||
android:summaryOn="@string/settings_recording_name_summary_on"
|
||||
android:summaryOff="@string/settings_recording_name_summary_off"
|
||||
android:defaultValue="true" />
|
||||
|
||||
|
||||
<com.google.android.apps.mytracks.AutoCompleteTextPreference
|
||||
android:key="@string/default_activity_key"
|
||||
android:title="@string/settings_recording_default_activity"
|
||||
@@ -167,7 +167,7 @@ limitations under the License.
|
||||
<ListPreference android:key="@string/bluetooth_sensor_key"
|
||||
android:title="@string/settings_sensor_bluetooth_sensor"
|
||||
android:summary="@string/settings_sensor_bluetooth_sensor_summary"
|
||||
android:defaultValue="any" />
|
||||
android:defaultValue="" />
|
||||
|
||||
<Preference android:key="@string/bluetooth_pairing_key"
|
||||
android:title="@string/settings_sensor_bluetooth_pairing"
|
||||
|
||||
@@ -77,8 +77,8 @@ public class ChartActivity extends Activity implements TrackDataListener {
|
||||
private double trackMaxSpeed;
|
||||
|
||||
// Modes of operation
|
||||
private boolean metricUnits;
|
||||
private boolean reportSpeed;
|
||||
private boolean metricUnits = true;
|
||||
private boolean reportSpeed = true;
|
||||
|
||||
/*
|
||||
* UI elements:
|
||||
@@ -240,6 +240,7 @@ public class ChartActivity extends Activity implements TrackDataListener {
|
||||
|
||||
private void prepareSettingsDialog(ChartSettingsDialog settingsDialog) {
|
||||
settingsDialog.setMode(chartView.getMode());
|
||||
settingsDialog.setDisplaySpeed(reportSpeed);
|
||||
for (int i = 0; i < ChartView.NUM_SERIES; i++) {
|
||||
settingsDialog.setSeriesEnabled(i, chartView.isChartValueSeriesEnabled(i));
|
||||
}
|
||||
@@ -452,26 +453,33 @@ public class ChartActivity extends Activity implements TrackDataListener {
|
||||
|
||||
@Override
|
||||
public boolean onUnitsChanged(boolean metric) {
|
||||
boolean changed = metric != this.metricUnits;
|
||||
if (!changed) return false;
|
||||
|
||||
this.metricUnits = metric;
|
||||
|
||||
chartView.setMetricUnits(metric);
|
||||
|
||||
return true; // Reload data
|
||||
if (metricUnits == metric) {
|
||||
return false;
|
||||
}
|
||||
metricUnits = metric;
|
||||
chartView.setMetricUnits(metricUnits);
|
||||
runOnUiThread(new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
chartView.requestLayout();
|
||||
}
|
||||
});
|
||||
return true;
|
||||
}
|
||||
|
||||
@SuppressWarnings("hiding")
|
||||
@Override
|
||||
public boolean onReportSpeedChanged(boolean reportSpeed) {
|
||||
boolean changed = reportSpeed != this.reportSpeed;
|
||||
if (!changed) return false;
|
||||
|
||||
this.reportSpeed = reportSpeed;
|
||||
|
||||
chartView.setReportSpeed(reportSpeed, this);
|
||||
|
||||
return true; // Reload data
|
||||
public boolean onReportSpeedChanged(boolean speed) {
|
||||
if (reportSpeed == speed) {
|
||||
return false;
|
||||
}
|
||||
reportSpeed = speed;
|
||||
chartView.setReportSpeed(speed, this);
|
||||
runOnUiThread(new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
chartView.requestLayout();
|
||||
}
|
||||
});
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -89,6 +89,15 @@ public class ChartSettingsDialog extends Dialog {
|
||||
? R.id.chart_settings_by_distance
|
||||
: R.id.chart_settings_by_time);
|
||||
}
|
||||
|
||||
/**
|
||||
* Sets whether to display speed or pace.
|
||||
*
|
||||
* @param displaySpeed true to display speed
|
||||
*/
|
||||
public void setDisplaySpeed(boolean displaySpeed) {
|
||||
series[ChartView.SPEED_SERIES].setText(displaySpeed ? R.string.stat_speed : R.string.stat_pace);
|
||||
}
|
||||
|
||||
public void setSeriesEnabled(int seriesIdx, boolean enabled) {
|
||||
series[seriesIdx].setChecked(enabled);
|
||||
|
||||
@@ -91,7 +91,7 @@ public class ChartView extends View {
|
||||
*/
|
||||
private int bottomBorder;
|
||||
|
||||
private static final int RIGHT_BORDER = 17;
|
||||
private static final int RIGHT_BORDER = 40;
|
||||
|
||||
/** Space to leave for drawing the unit labels */
|
||||
private static final int UNIT_BORDER = 15;
|
||||
|
||||
@@ -116,7 +116,7 @@ public class ImportAllTracks {
|
||||
Log.i(Constants.TAG, "ImportAllTracks: Releasing wake lock.");
|
||||
}
|
||||
|
||||
activity.runOnUiThread(new Thread() {
|
||||
activity.runOnUiThread(new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
showDoneDialog();
|
||||
@@ -219,7 +219,7 @@ public class ImportAllTracks {
|
||||
* Attempts to import a GPX file. Returns true on success, issues error
|
||||
* notifications and returns false on failure.
|
||||
*/
|
||||
private boolean importFile(File gpxFile, MyTracksProviderUtils providerUtils) {
|
||||
private boolean importFile(final File gpxFile, MyTracksProviderUtils providerUtils) {
|
||||
Log.i(Constants.TAG, "ImportAllTracks: importing: " + gpxFile.getName());
|
||||
try {
|
||||
importedTrackIds = GpxImporter.importGPXFile(new FileInputStream(gpxFile), providerUtils);
|
||||
@@ -234,8 +234,13 @@ public class ImportAllTracks {
|
||||
} catch (IOException e) {
|
||||
Log.w(Constants.TAG, "Error reading file: " + gpxFile.getAbsolutePath(), e);
|
||||
}
|
||||
Toast.makeText(activity, activity.getString(R.string.import_error, gpxFile.getName()),
|
||||
Toast.LENGTH_LONG).show();
|
||||
activity.runOnUiThread(new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
Toast.makeText(activity, activity.getString(R.string.import_error, gpxFile.getName()),
|
||||
Toast.LENGTH_LONG).show();
|
||||
}
|
||||
});
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
@@ -118,7 +118,8 @@ public class StatsActivity extends Activity implements TrackDataListener {
|
||||
sv.setScrollBarStyle(ScrollView.SCROLLBARS_OUTSIDE_INSET);
|
||||
|
||||
showUnknownLocation();
|
||||
|
||||
updateLabels();
|
||||
|
||||
DisplayMetrics metrics = new DisplayMetrics();
|
||||
getWindowManager().getDefaultDisplay().getMetrics(metrics);
|
||||
if (metrics.heightPixels > 600) {
|
||||
@@ -153,24 +154,22 @@ public class StatsActivity extends Activity implements TrackDataListener {
|
||||
|
||||
@Override
|
||||
public boolean onUnitsChanged(boolean metric) {
|
||||
// Ignore if unchanged.
|
||||
if (metric == utils.isMetricUnits()) return false;
|
||||
|
||||
if (utils.isMetricUnits() == metric) {
|
||||
return false;
|
||||
}
|
||||
utils.setMetricUnits(metric);
|
||||
updateLabels();
|
||||
|
||||
return true; // Reload data
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean onReportSpeedChanged(boolean displaySpeed) {
|
||||
// Ignore if unchanged.
|
||||
if (displaySpeed == utils.isReportSpeed()) return false;
|
||||
|
||||
utils.setReportSpeed(displaySpeed);
|
||||
public boolean onReportSpeedChanged(boolean speed) {
|
||||
if (utils.isReportSpeed() == speed) {
|
||||
return false;
|
||||
}
|
||||
utils.setReportSpeed(speed);
|
||||
updateLabels();
|
||||
|
||||
return true; // Reload data
|
||||
return true;
|
||||
}
|
||||
|
||||
private void updateLabels() {
|
||||
|
||||
+21
-11
@@ -36,27 +36,40 @@ import android.util.Log;
|
||||
*/
|
||||
public class DynamicSpeedTrackPathDescriptor
|
||||
implements TrackPathDescriptor, OnSharedPreferenceChangeListener {
|
||||
|
||||
private int slowSpeed;
|
||||
private int normalSpeed;
|
||||
private int speedMargin;
|
||||
private final int speedMarginDefault;
|
||||
private double averageMovingSpeed;
|
||||
private final Context context;
|
||||
|
||||
public DynamicSpeedTrackPathDescriptor(Context context){
|
||||
this.context = context;
|
||||
speedMarginDefault = Integer.parseInt(
|
||||
context.getString(R.string.color_mode_dynamic_percentage_default));
|
||||
SharedPreferences prefs = context.getSharedPreferences(
|
||||
Constants.SETTINGS_NAME, Context.MODE_PRIVATE);
|
||||
|
||||
if (prefs == null) {
|
||||
speedMargin = 25;
|
||||
speedMargin = speedMarginDefault;
|
||||
return;
|
||||
}
|
||||
prefs.registerOnSharedPreferenceChangeListener(this);
|
||||
|
||||
speedMargin = Integer.parseInt(prefs.getString(
|
||||
context.getString(R.string.track_color_mode_dynamic_speed_variation_key), "25"));
|
||||
speedMargin = getSpeedMargin(prefs);
|
||||
}
|
||||
|
||||
|
||||
private int getSpeedMargin(SharedPreferences sharedPreferences) {
|
||||
try {
|
||||
return Integer.parseInt(sharedPreferences.getString(
|
||||
context.getString(R.string.track_color_mode_dynamic_speed_variation_key),
|
||||
Integer.toString(speedMarginDefault)));
|
||||
} catch (NumberFormatException e) {
|
||||
return speedMarginDefault;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the slow speed calculated based on the % below the average speed.
|
||||
* @return The speed limit considered as slow.
|
||||
@@ -88,15 +101,12 @@ public class DynamicSpeedTrackPathDescriptor
|
||||
Constants.SETTINGS_NAME, Context.MODE_PRIVATE);
|
||||
|
||||
if (prefs == null) {
|
||||
speedMargin = 25;
|
||||
speedMargin = speedMarginDefault;
|
||||
return;
|
||||
}
|
||||
|
||||
speedMargin =
|
||||
Integer.parseInt(
|
||||
prefs.getString(
|
||||
context.getString(R.string.track_color_mode_dynamic_speed_variation_key), "25"));
|
||||
}
|
||||
|
||||
speedMargin = getSpeedMargin(prefs);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean needsRedraw() {
|
||||
|
||||
+17
-12
@@ -34,32 +34,37 @@ import android.util.Log;
|
||||
public class FixedSpeedTrackPathDescriptor implements TrackPathDescriptor, OnSharedPreferenceChangeListener {
|
||||
private int slowSpeed;
|
||||
private int normalSpeed;
|
||||
private final int slowDefault;
|
||||
private final int normalDefault;
|
||||
private final Context context;
|
||||
|
||||
public FixedSpeedTrackPathDescriptor(Context context) {
|
||||
|
||||
this.context = context;
|
||||
slowDefault = Integer.parseInt(context.getString(R.string.color_mode_fixed_slow_default));
|
||||
normalDefault = Integer.parseInt(context.getString(R.string.color_mode_fixed_medium_default));
|
||||
|
||||
SharedPreferences prefs = context.getSharedPreferences(
|
||||
Constants.SETTINGS_NAME, Context.MODE_PRIVATE);
|
||||
if (prefs == null) {
|
||||
slowSpeed = 9;
|
||||
normalSpeed = 17;
|
||||
slowSpeed = slowDefault;
|
||||
normalSpeed = normalDefault;
|
||||
return;
|
||||
}
|
||||
prefs.registerOnSharedPreferenceChangeListener(this);
|
||||
|
||||
try {
|
||||
slowSpeed = Integer.parseInt(prefs.getString(context.getString(
|
||||
R.string.track_color_mode_fixed_speed_slow_key), "9"));
|
||||
R.string.track_color_mode_fixed_speed_slow_key), Integer.toString(slowDefault)));
|
||||
} catch (NumberFormatException e) {
|
||||
slowSpeed = 9;
|
||||
slowSpeed = slowDefault;
|
||||
}
|
||||
|
||||
try {
|
||||
normalSpeed = Integer.parseInt(prefs.getString(context.getString(
|
||||
R.string.track_color_mode_fixed_speed_medium_key), "17"));
|
||||
R.string.track_color_mode_fixed_speed_medium_key), Integer.toString(normalDefault)));
|
||||
} catch (NumberFormatException e) {
|
||||
normalSpeed = 17;
|
||||
normalSpeed = normalDefault;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -90,22 +95,22 @@ public class FixedSpeedTrackPathDescriptor implements TrackPathDescriptor, OnSha
|
||||
SharedPreferences prefs = context.getSharedPreferences(
|
||||
Constants.SETTINGS_NAME, Context.MODE_PRIVATE);
|
||||
if (prefs == null) {
|
||||
slowSpeed = 9;
|
||||
normalSpeed = 17;
|
||||
slowSpeed = slowDefault;
|
||||
normalSpeed = normalDefault;
|
||||
return;
|
||||
}
|
||||
|
||||
try {
|
||||
slowSpeed = Integer.parseInt(prefs.getString(context.getString(
|
||||
R.string.track_color_mode_fixed_speed_slow_key), "9"));
|
||||
R.string.track_color_mode_fixed_speed_slow_key), Integer.toString(slowDefault)));
|
||||
} catch (NumberFormatException e) {
|
||||
slowSpeed = 9;
|
||||
slowSpeed = slowDefault;
|
||||
}
|
||||
try {
|
||||
normalSpeed = Integer.parseInt(prefs.getString(context.getString(
|
||||
R.string.track_color_mode_fixed_speed_medium_key), "17"));
|
||||
R.string.track_color_mode_fixed_speed_medium_key), Integer.toString(normalDefault)));
|
||||
} catch (NumberFormatException e) {
|
||||
normalSpeed = 17;
|
||||
normalSpeed = normalDefault;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
+2
-2
@@ -130,8 +130,8 @@ public class BluetoothSensorManager extends SensorManager {
|
||||
SharedPreferences prefs = context.getSharedPreferences(
|
||||
Constants.SETTINGS_NAME, Context.MODE_PRIVATE);
|
||||
String address =
|
||||
prefs.getString(context.getString(R.string.bluetooth_sensor_key), null);
|
||||
if (address == null) {
|
||||
prefs.getString(context.getString(R.string.bluetooth_sensor_key), "");
|
||||
if (address.isEmpty()) {
|
||||
return;
|
||||
}
|
||||
Log.w(Constants.TAG, "Connecting to bluetooth sensor: " + address);
|
||||
|
||||
@@ -30,7 +30,6 @@ public class EulaUtil {
|
||||
// Accepting Google mobile terms of service
|
||||
private static final String EULA_PREFERENCE_KEY = "eula.google_mobile_tos_accepted";
|
||||
|
||||
private static final String COPYRIGHT = "©2011";
|
||||
private static final String HOST_NAME = "m.google.com";
|
||||
|
||||
private EulaUtil() {}
|
||||
@@ -71,6 +70,6 @@ public class EulaUtil {
|
||||
+ "\n\n"
|
||||
+ footer
|
||||
+ "\n\n"
|
||||
+ COPYRIGHT;
|
||||
+ context.getString(R.string.eula_message_copyright);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user