Rename SD card to external storage.

Rename phone to device.
This commit is contained in:
Jimmy Shih
2012-09-21 15:33:59 -07:00
parent 07053d270d
commit 29d44d45b6
13 changed files with 176 additions and 168 deletions
+2 -2
View File
@@ -103,10 +103,10 @@ limitations under the License.
android:text="@string/help_saved_files_answer" android:text="@string/help_saved_files_answer"
style="@style/HelpAnswer" /> style="@style/HelpAnswer" />
<TextView <TextView
android:text="@string/help_sd_card_access_question" android:text="@string/help_external_storage_access_question"
style="@style/HelpQuestion" /> style="@style/HelpQuestion" />
<TextView <TextView
android:text="@string/help_sd_card_access_answer" android:text="@string/help_external_storage_access_answer"
style="@style/HelpAnswer" /> style="@style/HelpAnswer" />
<TextView <TextView
android:text="@string/help_marker_question" android:text="@string/help_marker_question"
+129 -128
View File
@@ -602,6 +602,70 @@ limitations under the License.
Terms of Service Terms of Service
</string> </string>
<!-- External Storage -->
<string name="external_storage_canceled"
translation_description="When importing/saving to the external storage, the message indicating
that the operation was canceled.">
The operation was canceled.
</string>
<string name="external_storage_error_no_storage"
translation_description="When importing/saving to the external storage, the error message
indicating that no external storage is found.">
No external storage is found.
</string>
<string name="external_storage_import_error"
translation_description="When importing from the external storage, the error message indicating
not able to import.">
Unable to import from external storage.
</string>
<string name="external_storage_import_error_no_file"
translation_description="When importing from the external storage, the error message indicating
that no file is found on an external storage directory.
%1$s: the external storage directory. E.g., '/storage/sdcard0/MyTracks/gpx/'.">
No file found in %1$s.
</string>
<string name="external_storage_import_progress_message"
translation_description="When importing from the external storage, the progress message.">
Importing from external storage&#8230;
</string>
<string name="external_storage_import_success"
translation_description="When importing from the external storage, the success message.">
Finished importing from external storage.
</string>
<string name="external_storage_import_success_count"
translation_description="When importing from the external storage, the success message with a
count of the imported files.
%1$d the number of successfully imported tracks. E.g., '1'.
%2$s the number of files in the external storage directory. E.g., '2 GPX files'.
%3$s the external storage directory. E.g., '/storage/sdcard0/MyTracks/gpx/'.">
Imported %1$d of %2$s from %3$s.
</string>
<string name="external_storage_save_error"
translation_description="When saving to the external storage, the error message indicating not
able to save.">
Unable to save to external storage.
</string>
<string name="external_storage_save_error_create_dir"
translation_description="When saving to the external storage, the error message indicating not
able to create a directory.">
Unable to create a directory on the external storage.
</string>
<string name="external_storage_save_error_no_track"
translation_description="When saving to the external storage, the error message indicating that
no track is saved.">
No track is saved to the external storage.
</string>
<string name="external_storage_save_progress_message"
translation_description="When saving to the external storage, the progress message.">
Saving to external storage&#8230;
</string>
<string name="external_storage_save_success"
translation_description="When saving to the external storage, the success message">
Finished saving to external storage.
</string>
<!-- Generic Strings --> <!-- Generic Strings -->
<string name="generic_add" <string name="generic_add"
translation_description="The text on a button to say add."> translation_description="The text on a button to say add.">
@@ -712,8 +776,8 @@ limitations under the License.
translation_description="In the 'Help' page, the answer on battery life."> translation_description="In the 'Help' page, the answer on battery life.">
The GPS receiver draws a relatively high amount of power, so a fully charged battery typically The GPS receiver draws a relatively high amount of power, so a fully charged battery typically
survives less than 5 hours. Battery life depends on many factors, including signal strength, survives less than 5 hours. Battery life depends on many factors, including signal strength,
battery freshness, and tasks running in parallel. Switching off some or all of the phone\'s battery freshness, and tasks running in parallel. Switching off some or all of the device\'s
radios will lengthen battery life. Putting the phone into Airplane mode will yield the best radios will lengthen battery life. Putting the device into Airplane mode will yield the best
results. results.
</string> </string>
<string name="help_battery_life_question" <string name="help_battery_life_question"
@@ -734,19 +798,20 @@ limitations under the License.
<string name="help_delete_tracks_answer" <string name="help_delete_tracks_answer"
translation_description="In the 'Help' page, the answer on delete tracks."> translation_description="In the 'Help' page, the answer on delete tracks.">
From the track list, select &#8220;Delete all&#8221; when not recording. This permanently From the track list, select &#8220;Delete all&#8221; when not recording. This permanently
deletes the recorded tracks from memory. If you have saved tracks or backups on the SD card, you deletes the recorded tracks from the device memory. If you have saved tracks or backups on the
must delete them separately. You can access the SD card using any file manager app from the Play external storage, you must delete them separately. You can access the external storage using
Store or using a USB cable to connect your phone to your computer. Tracks uploaded to Google any file manager app from the Play Store or using a USB cable to connect your device to your
Maps, Google Fusion Tables, and Google Docs must also be deleted separately. computer. Tracks uploaded to Google Maps, Google Fusion Tables, and Google Docs must also be
deleted separately.
</string> </string>
<string name="help_delete_tracks_question" <string name="help_delete_tracks_question"
translation_description="In the 'Help' page, the question on delete tracks."> translation_description="In the 'Help' page, the question on delete tracks.">
How do I delete all the tracks from the phone? How do I delete all the tracks from the device?
</string> </string>
<string name="help_edit_tracks_answer" <string name="help_edit_tracks_answer"
translation_description="In the 'Help' page, the answer on edit tracks."> translation_description="In the 'Help' page, the answer on edit tracks.">
Currently, you can\'t with My Tracks. But you can upload your tracks to Google or save them to Currently, you can\'t with My Tracks. But you can upload your tracks to Google or save them to
the SD card to modify them there. the external storage to modify them there.
</string> </string>
<string name="help_edit_tracks_question" <string name="help_edit_tracks_question"
translation_description="In the 'Help' page, the question on edit tracks."> translation_description="In the 'Help' page, the question on edit tracks.">
@@ -763,9 +828,18 @@ limitations under the License.
translation_description="In the 'Help' page, the question on elevation precision."> translation_description="In the 'Help' page, the question on elevation precision.">
How precise is the elevation measurement? How precise is the elevation measurement?
</string> </string>
<string name="help_external_storage_access_answer"
translation_description="In the 'Help' page, the answer on external storage access.">
Tracks saved on the external storage are not encrypted. Any application on the device can access
them.
</string>
<string name="help_external_storage_access_question"
translation_description="In the 'Help' page, the question on external storage access.">
Who can access the tracks saved on the external storage?
</string>
<string name="help_gps_signal_answer" <string name="help_gps_signal_answer"
translation_description="In the 'Help' page, the answer on the GPS signal message."> translation_description="In the 'Help' page, the answer on the GPS signal message.">
For My Tracks to work, your phone needs to be in line-of-sight contact with the GPS satellites. For My Tracks to work, your device needs to be in line-of-sight contact with the GPS satellites.
If the line-of-sight is obstructed by trees, buildings or canyon walls, you may not get an If the line-of-sight is obstructed by trees, buildings or canyon walls, you may not get an
accurate signal. If you see the message, wait a minute or two. If your device still does not accurate signal. If you see the message, wait a minute or two. If your device still does not
find a signal, move to an area clear of obstructions and try again. find a signal, move to an area clear of obstructions and try again.
@@ -792,7 +866,7 @@ limitations under the License.
See %1$s. See %1$s.
</string> </string>
<string name="help_maps_public_unlisted_question" <string name="help_maps_public_unlisted_question"
translation_description="In the 'Help' page, the question on public versus unlsited maps."> translation_description="In the 'Help' page, the question on public versus unlisted maps.">
What is the difference between public and unlisted when sending a track to Google Maps? What is the difference between public and unlisted when sending a track to Google Maps?
</string> </string>
<string name="help_marker_answer" <string name="help_marker_answer"
@@ -820,15 +894,8 @@ limitations under the License.
</string> </string>
<string name="help_saved_files_question" <string name="help_saved_files_question"
translation_description="In the 'Help' page, the question on saved files."> translation_description="In the 'Help' page, the question on saved files.">
What can I do with tracks after saving them to the SD card or sharing such files with friends? What can I do with tracks after saving them to the external storage or sharing such files with
</string> friends?
<string name="help_sd_card_access_answer"
translation_description="In the 'Help' page, the answer on sd card access.">
Tracks saved on the SD card are not encrypted. Any application on the phone can access them.
</string>
<string name="help_sd_card_access_question"
translation_description="In the 'Help' page, the question on sd card access.">
Who can access the tracks saved on the SD card?
</string> </string>
<string name="help_send_track_answer" <string name="help_send_track_answer"
translation_description="In the 'Help' page, the answer on sending a track. translation_description="In the 'Help' page, the answer on sending a track.
@@ -886,8 +953,8 @@ limitations under the License.
<!-- Icon --> <!-- Icon -->
<string name="icon_application" <string name="icon_application"
translation_description="When sharing a track, we display a list of Android applications on the translation_description="When sharing a track, we display a list of Android applications on the
phone that can be used. In the list, we display an application icon for each application. This device that can be used. This is the generic accessibility description for any application
is the accessibility description for the icon."> icon.">
Application Application
</string> </string>
<string name="icon_marker" <string name="icon_marker"
@@ -992,8 +1059,8 @@ limitations under the License.
</string> </string>
<string name="marker_delete_one_marker_confirm_message" <string name="marker_delete_one_marker_confirm_message"
translation_description="When deleting a marker, the confirmation dialog message informing the translation_description="When deleting a marker, the confirmation dialog message informing the
user that the marker will be permanently deleted from the phone."> user that the marker will be permanently deleted from the device.">
The marker will be permanently deleted from the phone. The marker will be permanently deleted from the device.
</string> </string>
<string name="marker_detail_statistics_title" <string name="marker_detail_statistics_title"
translation_description="In the marker detail page, the title for the statistics section translation_description="In the marker detail page, the title for the statistics section
@@ -1079,10 +1146,10 @@ limitations under the License.
Help Help
</string> </string>
<string name="menu_import" <string name="menu_import"
translation_description="In the menu, to import tracks from the SD card. translation_description="In the menu, to import tracks from the external storage.
Character limit: ~20 (1 line)"> Character limit: ~20 (1 line)">
Import from SD card Import from external storage
</string> </string>
<string name="menu_insert_marker" <string name="menu_insert_marker"
translation_description="In the menu, to insert a marker. translation_description="In the menu, to insert a marker.
@@ -1115,22 +1182,20 @@ limitations under the License.
Satellite Satellite
</string> </string>
<string name="menu_save" <string name="menu_save"
translation_description="In the menu, to save a track to the SD card. This menu item has a translation_description="In the menu, to save a track to the external storage.
submenu.
Character limit: ~20 (1 line)"> Character limit: ~20 (1 line)">
Save to SD card Save to external storage
</string> </string>
<string name="menu_save_all" <string name="menu_save_all"
translation_description="In the menu, to save all the tracks to the SD card. This menu item has translation_description="In the menu, to save all the tracks to the external storage.
a submenu.
Character limit: ~20 (1 line)"> Character limit: ~20 (1 line)">
Save all to SD card Save all to external storage
</string> </string>
<string name="menu_save_format" <string name="menu_save_format"
translation_description="Under the save to SD card menu option, the option to save a track as a translation_description="Under the save to external storage menu option, the option to save a
certain file format. track as a certain file format.
%1$s: file format. 'GPX', 'KML', 'CSV', or 'TCX'. %1$s: file format. 'GPX', 'KML', 'CSV', or 'TCX'.
Character limit: ~20 (1 line)"> Character limit: ~20 (1 line)">
@@ -1180,13 +1245,13 @@ limitations under the License.
Split frequency Split frequency
</string> </string>
<string name="menu_start_gps" <string name="menu_start_gps"
translation_description="In the menu, to start the GPS receiver on the phone. translation_description="In the menu, to start the GPS receiver on the device.
Character limit: ~20 (1 line)"> Character limit: ~20 (1 line)">
Start GPS Start GPS
</string> </string>
<string name="menu_stop_gps" <string name="menu_stop_gps"
translation_description="In the menu, to stop the GPS receiver on the phone. translation_description="In the menu, to stop the GPS receiver on the device.
Character limit: ~20 (1 line)"> Character limit: ~20 (1 line)">
Stop GPS Stop GPS
@@ -1230,7 +1295,7 @@ limitations under the License.
<!-- Permission --> <!-- Permission -->
<string name="permission_notification_description" <string name="permission_notification_description"
translation_description="The permission description the Google Play Store shows during app translation_description="The permission description the Google Play Store shows during app
installtion when the app wants to receive Google My Tracks notifications."> installation when the app wants to receive Google My Tracks notifications.">
Allows the application to receive notifications when Google My Tracks starts or stops a Allows the application to receive notifications when Google My Tracks starts or stops a
recording. recording.
</string> </string>
@@ -1241,7 +1306,7 @@ limitations under the License.
</string> </string>
<string name="permission_read_description" <string name="permission_read_description"
translation_description="The permission description the Google Play Store shows during app translation_description="The permission description the Google Play Store shows during app
installtion when the app wants to read Google My Tracks data."> installation when the app wants to read Google My Tracks data.">
Allows the application to read Google My Tracks data. Allows the application to read Google My Tracks data.
</string> </string>
<string name="permission_read_label" <string name="permission_read_label"
@@ -1251,7 +1316,7 @@ limitations under the License.
</string> </string>
<string name="permission_write_description" <string name="permission_write_description"
translation_description="The permission description the Google Play Store shows during app translation_description="The permission description the Google Play Store shows during app
installtion when the app wants to write data to My Tracks."> installation when the app wants to write data to My Tracks.">
Allows the application to write data to Google My Tracks and start/stop Google My Tracks Allows the application to write data to Google My Tracks and start/stop Google My Tracks
recording. recording.
</string> </string>
@@ -1261,70 +1326,6 @@ limitations under the License.
write data to Google My Tracks and start/stop Google My Tracks recording write data to Google My Tracks and start/stop Google My Tracks recording
</string> </string>
<!-- SD Card -->
<string name="sd_card_canceled"
translation_description="When importing/saving to the SD card, the message indicating that the
operation was canceled.">
The operation was canceled.
</string>
<string name="sd_card_error_no_storage"
translation_description="When importing/saving to the SD card, the error message indicating that
no SD card is found.">
No SD card is found.
</string>
<string name="sd_card_import_error"
translation_description="When importing from the SD card, the error message indicating not able
to import.">
Unable to import from SD card.
</string>
<string name="sd_card_import_error_no_file"
translation_description="When importing from the SD card, the error message indicating that no
file is found on a SD card directory.
%1$s: the SD card directory. E.g., '/mnt/sdcard/MyTracks/gpx/'.">
No file found in %1$s.
</string>
<string name="sd_card_import_progress_message"
translation_description="When importing from the SD card, the progress message.">
Importing from SD card&#8230;
</string>
<string name="sd_card_import_success"
translation_description="When importing from the SD card, the success message.">
Finished importing from SD card.
</string>
<string name="sd_card_import_success_count"
translation_description="When importing from the SD card, the success message with a count of
the imported files.
%1$d the number of successfully imported tracks. E.g., '1'.
%2$s the number of files in the SD card. E.g., '1 GPX file' or '2 GPX files'.
%3$s the SD card directory. E.g., '/mnt/sdcard/MyTracks/gpx/'.">
Imported %1$d of %2$s from %3$s.
</string>
<string name="sd_card_save_error"
translation_description="When saving to the SD card, the error message indicating not able to
save.">
Unable to save to SD card.
</string>
<string name="sd_card_save_error_create_dir"
translation_description="When saving to the SD card, the error message indicating not able to
create a directory on the SD card.">
Unable to create a directory on SD card.
</string>
<string name="sd_card_save_error_no_track"
translation_description="When saving to the SD card, the error message indicating that no track
is available.">
You have no track to save to SD card.
</string>
<string name="sd_card_save_progress_message"
translation_description="When saving to the SD card, the progress message.">
Saving to SD card&#8230;
</string>
<string name="sd_card_save_success"
translation_description="When saving to the SD card, the success message">
Finished saving to SD card.
</string>
<!-- Search --> <!-- Search -->
<string name="search_global_description" <string name="search_global_description"
translation_description="Description of what is searched in My Tracks, to be displayed in the translation_description="Description of what is searched in My Tracks, to be displayed in the
@@ -1537,26 +1538,26 @@ limitations under the License.
Backup Backup
</string> </string>
<string name="settings_backup_now" <string name="settings_backup_now"
translation_description="In the 'Backup' settings, under the 'SD card' section, the option to translation_description="In the 'Backup' settings, the option to backup to the external storage
backup to the SD card now. now.
Character limit: ~26 (1 line)"> Character limit: ~26 (1 line)">
Backup now Backup now
</string> </string>
<string name="settings_backup_now_progress_message" <string name="settings_backup_now_progress_message"
translation_description="In the 'Backup' settings, after pressing the 'Backup now' option, the translation_description="In the 'Backup' settings, after pressing the 'Backup now' option, the
progress message telling the user that it is writing all tracks and settings to the SD card."> progress message telling the user that it is writing all tracks and settings to the external
storage.">
Writing all tracks and settings&#8230; Writing all tracks and settings&#8230;
</string> </string>
<string name="settings_backup_now_summary" <string name="settings_backup_now_summary"
translation_description="In the 'Backup' settings, under the 'SD card' section, the summary for translation_description="In the 'Backup' settings, the summary for the 'Backup now' option
the 'Backup now' option explaining that all tracks and settings will be written to the SD explaining that all tracks and settings will be written to the external storage.">
card."> Write a full copy of all your tracks and settings to the external storage.
Write a full copy of all your tracks and settings to the SD card.
</string> </string>
<string name="settings_backup_restore" <string name="settings_backup_restore"
translation_description="In the 'Backup' settings, under the 'SD card' section, the option to translation_description="In the 'Backup' settings, the option to restore from the external
restore everything from the SD card. storage.
Character limit: ~26 (1 line)"> Character limit: ~26 (1 line)">
Restore now Restore now
@@ -1565,7 +1566,8 @@ limitations under the License.
translation_description="In the 'Backup' settings, after pressing the 'Restore now' option, the translation_description="In the 'Backup' settings, after pressing the 'Restore now' option, the
message in the alert dialog asking the user to confirm that he wants to restore from a backup message in the alert dialog asking the user to confirm that he wants to restore from a backup
and it will overwrite all the current tracks and settings."> and it will overwrite all the current tracks and settings.">
Restoring a backup from the SD card will overwrite all your current tracks and settings. Restoring a backup from the external storage will overwrite all your current tracks and
settings.
</string> </string>
<string name="settings_backup_restore_no_backup" <string name="settings_backup_restore_no_backup"
translation_description="In the 'Backup' settings, after pressing the 'Restore now' option, the translation_description="In the 'Backup' settings, after pressing the 'Restore now' option, the
@@ -1575,7 +1577,7 @@ limitations under the License.
<string name="settings_backup_restore_progress_message" <string name="settings_backup_restore_progress_message"
translation_description="In the 'Backup' settings, after pressing the 'Restore now' option, the translation_description="In the 'Backup' settings, after pressing the 'Restore now' option, the
progress message informing that My Tracks is reading all tracks and settings from the backup progress message informing that My Tracks is reading all tracks and settings from the backup
on the SD card."> on the external storage.">
Reading all tracks and settings&#8230; Reading all tracks and settings&#8230;
</string> </string>
<string name="settings_backup_restore_select_title" <string name="settings_backup_restore_select_title"
@@ -1584,10 +1586,9 @@ limitations under the License.
Select a backup to restore Select a backup to restore
</string> </string>
<string name="settings_backup_restore_summary" <string name="settings_backup_restore_summary"
translation_description="In the 'Backup' settings, under the 'SD card' section, the summary for translation_description="In the 'Backup' settings, the summary for the 'Restore now' option
the 'Restore now' option explaining that it restores all tracks and settings from the SD explaining that it restores all tracks and settings from the external storage.">
card."> Restore all tracks and settings from the external storage.
Restore all tracks and settings from the SD card.
</string> </string>
<!-- Settings Chart --> <!-- Settings Chart -->
@@ -1690,7 +1691,7 @@ limitations under the License.
</string> </string>
<string name="settings_recording_auto_resume" <string name="settings_recording_auto_resume"
translation_description="In the 'Recording' settings, the dropdown option to configure the translation_description="In the 'Recording' settings, the dropdown option to configure the
timeout after which a recorded track will not be continued after phone reboot. timeout after which a recorded track will not be continued after device reboot.
Character limit: ~23 (1 line)"> Character limit: ~23 (1 line)">
Auto-resume Auto-resume
@@ -1698,8 +1699,8 @@ limitations under the License.
<string name="settings_recording_auto_resume_summary" <string name="settings_recording_auto_resume_summary"
translation_description="In the 'Recording' settings, the summary for the 'Auto-resume' dropdown 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 option explaining that it configures the maximum time after which a previous recording will
not be resumed after phone reboot."> not be resumed after device reboot.">
Maximum time after which a previously recording track will not be resumed after phone reboot. Maximum time after which a previously recording track will not be resumed after device reboot.
</string> </string>
<string name="settings_recording_default_activity" <string name="settings_recording_default_activity"
translation_description="In the 'Recording' settings, the option to specify a new track's translation_description="In the 'Recording' settings, the option to specify a new track's
@@ -1855,7 +1856,7 @@ limitations under the License.
%1$d: device id number. E.g., '1'."> %1$d: device id number. E.g., '1'.">
Paired with: %1$d Paired with: %1$d
</string> </string>
<string name="settings_sensor_ant_reset_bike_candence_sensor" <string name="settings_sensor_ant_reset_bike_cadence_sensor"
translation_description="In the 'Sensor' settings, under the 'ANT+ options', the option to reset translation_description="In the 'Sensor' settings, under the 'ANT+ options', the option to reset
an ANT+ bike cadence sensor. Note that ANT+ is a radio standard. an ANT+ bike cadence sensor. Note that ANT+ is a radio standard.
@@ -2113,8 +2114,8 @@ limitations under the License.
Select an application Select an application
</string> </string>
<string name="share_track_share_file" <string name="share_track_share_file"
translation_description="After saving a track to the SD card, the button on the result dialog to translation_description="After saving a track to the external storage, the button on the result
share the saved track file with friends."> dialog to share the saved track file with friends.">
Share track file Share track file
</string> </string>
<string name="share_track_share_file_body" <string name="share_track_share_file_body"
@@ -2234,8 +2235,8 @@ limitations under the License.
</string> </string>
<string name="track_detail_delete_confirm_message" <string name="track_detail_delete_confirm_message"
translation_description="When deleting a track, the confirmation message informing the user that translation_description="When deleting a track, the confirmation message informing the user that
the track and its markers will be permanently deleted from the phone."> the track and its markers will be permanently deleted from the device.">
The track and its markers will be permanently deleted from the phone. The track and its markers will be permanently deleted from the device.
</string> </string>
<string name="track_detail_install_earth_message" <string name="track_detail_install_earth_message"
translation_description="When playing a track, the message informing the user that he needs translation_description="When playing a track, the message informing the user that he needs
@@ -2246,7 +2247,7 @@ limitations under the License.
<string name="track_detail_install_earth_error" <string name="track_detail_install_earth_error"
translation_description="Message informing the user not able to install Google Earth from the translation_description="Message informing the user not able to install Google Earth from the
Play Store."> Play Store.">
Unalbe to install Google Earth from the Play Store. Unable to install Google Earth from the Play Store.
</string> </string>
<string name="track_detail_map_tab" <string name="track_detail_map_tab"
translation_description="In the track detail page, the title of the tab showing the map."> translation_description="In the track detail page, the title of the tab showing the map.">
@@ -2272,8 +2273,8 @@ limitations under the License.
</string> </string>
<string name="track_list_delete_all_confirm_message" <string name="track_list_delete_all_confirm_message"
translation_description="When deleting all the tracks, the confirmation dialog message informing translation_description="When deleting all the tracks, the confirmation dialog message informing
the user that all tracks and markers will be permanently deleted from the phone."> the user that all tracks and markers will be permanently deleted from the device.">
All tracks and markers will be permanently deleted from the phone. All tracks and markers will be permanently deleted from the device.
</string> </string>
<string name="track_list_empty_message" <string name="track_list_empty_message"
translation_description="When the track list is empty, the message informing the user to click translation_description="When the track list is empty, the message informing the user to click
+1 -1
View File
@@ -50,7 +50,7 @@ limitations under the License.
<Preference <Preference
android:key="@string/settings_sensor_ant_reset_bike_cadence_sensor_key" android:key="@string/settings_sensor_ant_reset_bike_cadence_sensor_key"
android:persistent="false" android:persistent="false"
android:title="@string/settings_sensor_ant_reset_bike_candence_sensor" /> android:title="@string/settings_sensor_ant_reset_bike_cadence_sensor" />
<Preference <Preference
android:key="@string/settings_sensor_ant_reset_combined_bike_sensor_key" android:key="@string/settings_sensor_ant_reset_combined_bike_sensor_key"
android:persistent="false" android:persistent="false"
@@ -111,9 +111,10 @@ public class ImportActivity extends Activity {
protected Dialog onCreateDialog(int id) { protected Dialog onCreateDialog(int id) {
switch (id) { switch (id) {
case DIALOG_PROGRESS_ID: case DIALOG_PROGRESS_ID:
progressDialog = DialogUtils.createHorizontalProgressDialog( progressDialog = DialogUtils.createHorizontalProgressDialog(this,
this, R.string.sd_card_import_progress_message, new DialogInterface.OnCancelListener() { R.string.external_storage_import_progress_message,
@Override new DialogInterface.OnCancelListener() {
@Override
public void onCancel(DialogInterface dialog) { public void onCancel(DialogInterface dialog) {
importAsyncTask.cancel(true); importAsyncTask.cancel(true);
finish(); finish();
@@ -123,12 +124,12 @@ public class ImportActivity extends Activity {
case DIALOG_RESULT_ID: case DIALOG_RESULT_ID:
String message; String message;
if (successCount == 0) { if (successCount == 0) {
message = getString(R.string.sd_card_import_error_no_file, path); message = getString(R.string.external_storage_import_error_no_file, path);
} else { } else {
String totalFiles = getResources() String totalFiles = getResources()
.getQuantityString(R.plurals.importGpxFiles, totalCount, totalCount); .getQuantityString(R.plurals.importGpxFiles, totalCount, totalCount);
message = getString( message = getString(
R.string.sd_card_import_success_count, successCount, totalFiles, path); R.string.external_storage_import_success_count, successCount, totalFiles, path);
} }
return new AlertDialog.Builder(this) return new AlertDialog.Builder(this)
.setCancelable(true) .setCancelable(true)
@@ -175,7 +176,7 @@ public class ImportActivity extends Activity {
if (success) { if (success) {
showDialog(DIALOG_RESULT_ID); showDialog(DIALOG_RESULT_ID);
} else { } else {
Toast.makeText(this, R.string.sd_card_import_error, Toast.LENGTH_LONG).show(); Toast.makeText(this, R.string.external_storage_import_error, Toast.LENGTH_LONG).show();
finish(); finish();
} }
} }
@@ -56,7 +56,7 @@ public class BackupAsyncTask extends AsyncTask<Void, Integer, Boolean> {
this.externalFileBackup = new ExternalFileBackup(backupActivity); this.externalFileBackup = new ExternalFileBackup(backupActivity);
success = false; success = false;
completed = false; completed = false;
messageId = R.string.sd_card_save_error; messageId = R.string.external_storage_save_error;
} }
/** /**
@@ -81,18 +81,18 @@ public class BackupAsyncTask extends AsyncTask<Void, Integer, Boolean> {
@Override @Override
protected Boolean doInBackground(Void... params) { protected Boolean doInBackground(Void... params) {
if (!FileUtils.isSdCardAvailable()) { if (!FileUtils.isSdCardAvailable()) {
messageId = R.string.sd_card_error_no_storage; messageId = R.string.external_storage_error_no_storage;
return false; return false;
} }
if (!externalFileBackup.isBackupsDirectoryAvailable(true)) { if (!externalFileBackup.isBackupsDirectoryAvailable(true)) {
messageId = R.string.sd_card_save_error_create_dir; messageId = R.string.external_storage_save_error_create_dir;
return false; return false;
} }
try { try {
externalFileBackup.writeToDefaultFile(); externalFileBackup.writeToDefaultFile();
messageId = R.string.sd_card_save_success; messageId = R.string.external_storage_save_success;
return true; return true;
} catch (IOException e) { } catch (IOException e) {
Log.d(TAG, "IO exception", e); Log.d(TAG, "IO exception", e);
@@ -59,7 +59,7 @@ public class RestoreAsyncTask extends AsyncTask<Void, Integer, Boolean> {
this.externalFileBackup = new ExternalFileBackup(restoreActivity); this.externalFileBackup = new ExternalFileBackup(restoreActivity);
success = false; success = false;
completed = false; completed = false;
messageId = R.string.sd_card_import_error; messageId = R.string.external_storage_import_error;
} }
/** /**
@@ -85,7 +85,7 @@ public class RestoreAsyncTask extends AsyncTask<Void, Integer, Boolean> {
protected Boolean doInBackground(Void... params) { protected Boolean doInBackground(Void... params) {
try { try {
externalFileBackup.restoreFromDate(date); externalFileBackup.restoreFromDate(date);
messageId = R.string.sd_card_import_success; messageId = R.string.external_storage_import_success;
return true; return true;
} catch (IOException e) { } catch (IOException e) {
Log.d(TAG, "IO exception", e); Log.d(TAG, "IO exception", e);
@@ -58,7 +58,7 @@ public class RestoreChooserActivity extends Activity {
// Get the list of existing backups // Get the list of existing backups
if (!FileUtils.isSdCardAvailable()) { if (!FileUtils.isSdCardAvailable()) {
Toast.makeText(this, R.string.sd_card_error_no_storage, Toast.LENGTH_LONG).show(); Toast.makeText(this, R.string.external_storage_error_no_storage, Toast.LENGTH_LONG).show();
finish(); finish();
return; return;
} }
@@ -100,9 +100,10 @@ public class SaveActivity extends Activity {
protected Dialog onCreateDialog(int id) { protected Dialog onCreateDialog(int id) {
switch (id) { switch (id) {
case DIALOG_PROGRESS_ID: case DIALOG_PROGRESS_ID:
progressDialog = DialogUtils.createHorizontalProgressDialog( progressDialog = DialogUtils.createHorizontalProgressDialog(this,
this, R.string.sd_card_save_progress_message, new DialogInterface.OnCancelListener() { R.string.external_storage_save_progress_message,
@Override new DialogInterface.OnCancelListener() {
@Override
public void onCancel(DialogInterface dialog) { public void onCancel(DialogInterface dialog) {
saveAsyncTask.cancel(true); saveAsyncTask.cancel(true);
finish(); finish();
@@ -91,7 +91,7 @@ public class SaveAsyncTask extends AsyncTask<Void, Integer, Boolean> {
trackWriter = null; trackWriter = null;
success = false; success = false;
completed = false; completed = false;
messageId = R.string.sd_card_save_error; messageId = R.string.external_storage_save_error;
savedPath = null; savedPath = null;
} }
@@ -170,12 +170,12 @@ public class SaveAsyncTask extends AsyncTask<Void, Integer, Boolean> {
try { try {
cursor = myTracksProviderUtils.getTrackCursor(null, null, TracksColumns._ID); cursor = myTracksProviderUtils.getTrackCursor(null, null, TracksColumns._ID);
if (cursor == null) { if (cursor == null) {
messageId = R.string.sd_card_save_error_no_track; messageId = R.string.external_storage_save_error_no_track;
return false; return false;
} }
int count = cursor.getCount(); int count = cursor.getCount();
if (count == 0) { if (count == 0) {
messageId = R.string.sd_card_save_error_no_track; messageId = R.string.external_storage_save_error_no_track;
return false; return false;
} }
int idIndex = cursor.getColumnIndexOrThrow(TracksColumns._ID); int idIndex = cursor.getColumnIndexOrThrow(TracksColumns._ID);
@@ -190,7 +190,7 @@ public class SaveAsyncTask extends AsyncTask<Void, Integer, Boolean> {
} }
publishProgress(i + 1, count); publishProgress(i + 1, count);
} }
messageId = R.string.sd_card_save_success; messageId = R.string.external_storage_save_success;
return true; return true;
} finally { } finally {
if (cursor != null) { if (cursor != null) {
@@ -53,7 +53,7 @@ class TrackWriterImpl implements TrackWriter {
private final Track track; private final Track track;
private final TrackFormatWriter writer; private final TrackFormatWriter writer;
private boolean success = false; private boolean success = false;
private int errorMessage = R.string.sd_card_save_error; private int errorMessage = R.string.external_storage_save_error;
private File directory = null; private File directory = null;
private File file = null; private File file = null;
private OnWriteListener onWriteListener; private OnWriteListener onWriteListener;
@@ -105,7 +105,7 @@ class TrackWriterImpl implements TrackWriter {
private void doWriteTrack() { private void doWriteTrack() {
// Open the input and output // Open the input and output
success = false; success = false;
errorMessage = R.string.sd_card_save_error; errorMessage = R.string.external_storage_save_error;
if (track != null) { if (track != null) {
if (openFile()) { if (openFile()) {
try { try {
@@ -118,7 +118,7 @@ class TrackWriterImpl implements TrackWriter {
} }
} }
success = false; success = false;
errorMessage = R.string.sd_card_canceled; errorMessage = R.string.external_storage_canceled;
} }
} }
} }
@@ -186,7 +186,7 @@ class TrackWriterImpl implements TrackWriter {
writer.prepare(track, newOutputStream(fileName)); writer.prepare(track, newOutputStream(fileName));
} catch (FileNotFoundException e) { } catch (FileNotFoundException e) {
Log.e(Constants.TAG, "Failed to open output file.", e); Log.e(Constants.TAG, "Failed to open output file.", e);
errorMessage = R.string.sd_card_save_error; errorMessage = R.string.external_storage_save_error;
return false; return false;
} }
return true; return true;
@@ -204,12 +204,12 @@ class TrackWriterImpl implements TrackWriter {
if (!FileUtils.isSdCardAvailable()) { if (!FileUtils.isSdCardAvailable()) {
Log.i(Constants.TAG, "Could not find SD card."); Log.i(Constants.TAG, "Could not find SD card.");
errorMessage = R.string.sd_card_error_no_storage; errorMessage = R.string.external_storage_error_no_storage;
return false; return false;
} }
if (!FileUtils.ensureDirectoryExists(directory)) { if (!FileUtils.ensureDirectoryExists(directory)) {
Log.i(Constants.TAG, "Could not create export directory."); Log.i(Constants.TAG, "Could not create export directory.");
errorMessage = R.string.sd_card_save_error_create_dir; errorMessage = R.string.external_storage_save_error_create_dir;
return false; return false;
} }
@@ -283,7 +283,7 @@ class TrackWriterImpl implements TrackWriter {
writer.close(); writer.close();
success = true; success = true;
Log.d(Constants.TAG, "Done writing track."); Log.d(Constants.TAG, "Done writing track.");
errorMessage = R.string.sd_card_save_success; errorMessage = R.string.external_storage_save_success;
} }
private void writeLocations() throws InterruptedException { private void writeLocations() throws InterruptedException {
@@ -76,7 +76,7 @@ public class DeleteTest extends ActivityInstrumentationTestCase2<TrackListActivi
.clickOnText(String.format(activityMyTracks.getString(R.string.menu_save_format), .clickOnText(String.format(activityMyTracks.getString(R.string.menu_save_format),
EndToEndTestUtils.GPX.toUpperCase())); EndToEndTestUtils.GPX.toUpperCase()));
assertTrue(EndToEndTestUtils.SOLO.waitForText(activityMyTracks assertTrue(EndToEndTestUtils.SOLO.waitForText(activityMyTracks
.getString(R.string.sd_card_save_error_no_track))); .getString(R.string.external_storage_save_error_no_track)));
EndToEndTestUtils EndToEndTestUtils
.getButtonOnScreen(activityMyTracks.getString(R.string.generic_ok), true, true); .getButtonOnScreen(activityMyTracks.getString(R.string.generic_ok), true, true);
} }
@@ -109,7 +109,8 @@ public class ExportAndImportTest extends ActivityInstrumentationTestCase2<TrackL
// No file to imported. // No file to imported.
EndToEndTestUtils.findMenuItem(activityMyTracks.getString(R.string.menu_import), true); EndToEndTestUtils.findMenuItem(activityMyTracks.getString(R.string.menu_import), true);
EndToEndTestUtils.SOLO.waitForText(activityMyTracks.getString(R.string.sd_card_import_error_no_file, EndToEndTestUtils.SOLO.waitForText(activityMyTracks.getString(
R.string.external_storage_import_error_no_file,
FileUtils.buildExternalDirectoryPath(EndToEndTestUtils.GPX))); FileUtils.buildExternalDirectoryPath(EndToEndTestUtils.GPX)));
EndToEndTestUtils.getButtonOnScreen(activityMyTracks.getString(R.string.generic_ok), true, true); EndToEndTestUtils.getButtonOnScreen(activityMyTracks.getString(R.string.generic_ok), true, true);
@@ -118,8 +119,10 @@ public class ExportAndImportTest extends ActivityInstrumentationTestCase2<TrackL
EndToEndTestUtils.SOLO EndToEndTestUtils.SOLO
.clickOnText(String.format(activityMyTracks.getString(R.string.menu_save_format), .clickOnText(String.format(activityMyTracks.getString(R.string.menu_save_format),
EndToEndTestUtils.GPX.toUpperCase())); EndToEndTestUtils.GPX.toUpperCase()));
EndToEndTestUtils.SOLO.waitForText(activityMyTracks.getString(R.string.sd_card_save_success)); EndToEndTestUtils.SOLO.waitForText(
EndToEndTestUtils.getButtonOnScreen(activityMyTracks.getString(R.string.generic_ok), true, true); activityMyTracks.getString(R.string.external_storage_save_success));
EndToEndTestUtils.getButtonOnScreen(
activityMyTracks.getString(R.string.generic_ok), true, true);
// Check export file. // Check export file.
assertEquals(gpxFilesNumber + trackNumber, assertEquals(gpxFilesNumber + trackNumber,
EndToEndTestUtils.getExportedFiles(EndToEndTestUtils.GPX).length); EndToEndTestUtils.getExportedFiles(EndToEndTestUtils.GPX).length);
@@ -133,8 +136,8 @@ public class ExportAndImportTest extends ActivityInstrumentationTestCase2<TrackL
EndToEndTestUtils.rotateAllActivities(); EndToEndTestUtils.rotateAllActivities();
// Wait for the prefix of import success string is much faster than wait // Wait for the prefix of import success string is much faster than wait
// the whole string. // the whole string.
EndToEndTestUtils.SOLO.waitForText(activityMyTracks.getString(R.string.sd_card_import_success_count).split( EndToEndTestUtils.SOLO.waitForText(
"%")[0]); activityMyTracks.getString(R.string.external_storage_import_success_count).split("%")[0]);
// Check import tracks should be equal with the sum of trackNumber and // Check import tracks should be equal with the sum of trackNumber and
// gpxFilesNumber; // gpxFilesNumber;
EndToEndTestUtils.getButtonOnScreen(activityMyTracks.getString(R.string.generic_ok), true, true); EndToEndTestUtils.getButtonOnScreen(activityMyTracks.getString(R.string.generic_ok), true, true);
@@ -150,8 +153,10 @@ public class ExportAndImportTest extends ActivityInstrumentationTestCase2<TrackL
EndToEndTestUtils.SOLO EndToEndTestUtils.SOLO
.clickOnText(String.format(activityMyTracks.getString(R.string.menu_save_format), .clickOnText(String.format(activityMyTracks.getString(R.string.menu_save_format),
EndToEndTestUtils.KML.toUpperCase())); EndToEndTestUtils.KML.toUpperCase()));
EndToEndTestUtils.SOLO.waitForText(activityMyTracks.getString(R.string.sd_card_save_success)); EndToEndTestUtils.SOLO.waitForText(
EndToEndTestUtils.getButtonOnScreen(activityMyTracks.getString(R.string.generic_ok), true, true); activityMyTracks.getString(R.string.external_storage_save_success));
EndToEndTestUtils.getButtonOnScreen(
activityMyTracks.getString(R.string.generic_ok), true, true);
// Check export files. // Check export files.
assertEquals(gpxFilesNumber, EndToEndTestUtils.getExportedFiles(EndToEndTestUtils.GPX).length); assertEquals(gpxFilesNumber, EndToEndTestUtils.getExportedFiles(EndToEndTestUtils.GPX).length);
assertEquals(trackNumber, EndToEndTestUtils.getExportedFiles(EndToEndTestUtils.KML).length); assertEquals(trackNumber, EndToEndTestUtils.getExportedFiles(EndToEndTestUtils.KML).length);
@@ -243,7 +243,7 @@ public class SettingTest extends ActivityInstrumentationTestCase2<TrackListActiv
EndToEndTestUtils.SOLO.clickOnText(activityMyTracks.getString(R.string.settings_backup)); EndToEndTestUtils.SOLO.clickOnText(activityMyTracks.getString(R.string.settings_backup));
EndToEndTestUtils.SOLO.clickOnText(activityMyTracks.getString(R.string.settings_backup_now)); EndToEndTestUtils.SOLO.clickOnText(activityMyTracks.getString(R.string.settings_backup_now));
assertTrue(EndToEndTestUtils.SOLO.waitForText( assertTrue(EndToEndTestUtils.SOLO.waitForText(
activityMyTracks.getString(R.string.sd_card_save_success), 0, activityMyTracks.getString(R.string.external_storage_save_success), 0,
EndToEndTestUtils.SUPER_LONG_WAIT_TIME)); EndToEndTestUtils.SUPER_LONG_WAIT_TIME));
instrumentation.waitForIdleSync(); instrumentation.waitForIdleSync();
@@ -261,7 +261,7 @@ public class SettingTest extends ActivityInstrumentationTestCase2<TrackListActiv
EndToEndTestUtils EndToEndTestUtils
.getButtonOnScreen(activityMyTracks.getString(R.string.generic_ok), true, true); .getButtonOnScreen(activityMyTracks.getString(R.string.generic_ok), true, true);
assertTrue(EndToEndTestUtils.SOLO.waitForText( assertTrue(EndToEndTestUtils.SOLO.waitForText(
activityMyTracks.getString(R.string.sd_card_import_success), 0, activityMyTracks.getString(R.string.external_storage_import_success), 0,
EndToEndTestUtils.SUPER_LONG_WAIT_TIME)); EndToEndTestUtils.SUPER_LONG_WAIT_TIME));
// Check restore track. // Check restore track.
assertTrue(EndToEndTestUtils.SOLO.searchText(EndToEndTestUtils.trackName)); assertTrue(EndToEndTestUtils.SOLO.searchText(EndToEndTestUtils.trackName));