Fixed some tests by using the application context.
Fixed some tests by using the application context.
Fixed some tests by using the application context.
This was actually done blocking in the main UI thread and (as Internet is usually used for this) was actually introducing weird random delay after ending a recording.
If showing a marker, after rotation, will zoom to the marker.
If showing a track, after rotation, will zoom to the current location
if is recording and is in tracking mode, else will zoom to the track.
TrackWriter = handle writing a track to an outputstream
SaveAsyncTask = handle saving to external storage
SaveActivity = handle all UI messages when saving to external storage
In SearchList, update icon based on recording or paused state.
In TrackDetail, do not show insert waypoint if paused.
In TrackDetail, always show voice frequency and split marker settings.
- Different messages for no gps signal and need better gps signal.
- Add debug line when location is not inserted due to accuracy issue
and min recording distance requirement.
Voice announcements were always reporting 0 minutes 0 seconds if system was
configured for Pace. Bug was caused by an incorrect cast of variable
'speed' to long (speed is a double). The casting was resulting in the variable
'speed' being changed to 0.
http://code.google.com/p/mytracks/issues/detail?id=1087
Thus the default is creating new unlisted maps.
- Toggle the title of the "defaultMapPublic" setting between
"Make new maps public" and "Make new maps unlisted".
- Fix bug in TrackNameUtil to check if startTime is -1L.
- adjust margins
- display speed or pace
- display total time or total moving time
- use km intead of m when distance is greater than 1 km
- use mi instead ft when distance is greater than 1 mi
- MenuItem.collapseActionView is only availble for API level >=14.
- Rename the dialog variable in UploadResultActivity so it doesn't
conflict with the dialog variable in the callback.
- close contextual menu after an item is selected
- collapse the search widget after a search request is sent
- show keyboard by default for the editors
- in the search list, if edit or delete is selected in the contextual
menu, close the search list since its content will get changed.
- enable QueryRefinement in search widget
- do not call super.onNewIntent
- update search.xml to include imeOptions, queryAfterZeroResults, and
set searchSuggestionThreshold to 1.
- move chart settings above settings
- remove My Tracks Importer, thus just using My Tracks
- rename to Save all to SD card...
- rename to Import from SD card
- remember the last chosen marker type
- auto increment the default marker name
- fix IME option when toggling between marker type
- add more spacing between items in the editor
- rename WaypointType to WAYPOINT and STATISTICS
- rename to ListItemUtils
- remove unused appwidget_text color
- new welcome dialog message.
- new check units text.
- for US and UK, default to imperial.
- for fragments, fix handling of onCancel. No need
to handle onCancel at the dialog level.
- use fill_parent since we are still supporting api level 7.
- on the TrackListActivity, hide the empty view content
until the check unit dialog has been showned.
- fix the ChartView height. ChartView is no longer displayed
on the full canvas. The new design has a tab bar and a
zoom control.
- In TrackDetailActivity, only call methods of a tab fragment
if it is the current tab.
- for TrackEdit and MarkerEdit, use windowSoftInputMode=stateHidden
- improve layout for the map in MapFragment.
- fix text size for API level < 14.
- fix bug when inserting a statistics marker with a modified name
- update string in CsvTrackWriter, CsvTrackWriterTest, and DescriptionGeneratorImplTest
- with Solo, UploadResultActivity can run by itself, but cannot run as
part of the unit test. Modify the test to not use Solo.
- remove ANT+ tests in SensorManagerFactoryTest and replace them with
bluetooth tests since most of the phones do not have ANT+.
- remove TrackDetailActivityTest since we are no longer using it to
start the app. Will replace this with end-to-end smoke tests.
consists of three dialogs.
Rename to HelpActivity.
Fix activity button styles.
Reuse EulaDialogFragment when invoked from the AboutDialogFragment.
Only hide the title bar on the TrackDetailPage.
API 4+ Support Demos)
- move to MapFragment, ChartFragment, and StatsFragment
- use android-support-v4-r7-googlemaps.jar to support a map view
in a fragment.
With proguard "-optimizationpasses 5", not able to
obfuscate the CursorLoader. A known issue.
Remove
- AndoridMockRuntime.jar
- googleloginclient-helper.jar
AndoridMockRuntime.jar was included twice, preventing unit tests
from running.
Clean up classpath to not include jar files in the lib directory.
Else the jar files will get included twice.
Move jar files in MyTracks/lib/google-api-client/ to MyTracks/lib
so that proguard can pick up the jar files.
Clean up proguard.cfg into three sections.
- update the config from the default project
- update the config from the Google APIs client library
- remove unnecessary My Tracks specific "-dontwarn"
- When starting an activity, always use FLAG_ACTIVITY_CLEAR_TOP and FLAG_ACTIVITY_NEW_TASK together.
- TrackDetailActivity should handle events for a specific trackId, not
handling events for the current recording track.
- In TrackListActivity, to support screen rotation, make sure the EULA dialog
is not shown before creating another one.
- Do not need to bind service in onStart. OnResume will bind the service
if a recording is happening.
For API level >= 11, use the search widget.
For API level < 11, use the search dialog.
For API level >=14, the search button will expand the search widget.
For API level < 14, the search button will invoke the search dialog.
- record_track
- stop_recording
- search
- settings
- help
Note that the record_track icon is a temporary placeholder until the
actual icon is available.
Change AndroidManifest so that splitActionBarWhenNarrow is
not applied to all activities in the application.
Rename menu strings so they are more consistent.
operation like closing network connection on
the UI thread.
Thus move operations in onPostExecute to doInBackground.
In SendFusionTablesAsyncTask, close the content after
reading the content.
In MapsGDataConverter, don't write the entire kml file
to the log.
Replace DeleteAllTracks and DeleteTrack with
confirmation dialogs.
Currently, for DeleteTrack, the listener code in
repeated twice in MapActivity and TrackList. But in the
ICS design, DeleteTrack will only be available in
one place.
- if an error occurs, the toast should display the error messageId from
trackWriter.getErrorMessage() if available
- when user cancels export, onPostExecute is not invoked, thus need to
release the wake lock in doInBackground
http://code.google.com/r/rdamazio-mytracks-staging2/
- 7781a7c23cf1
- 883427ab11f8
- d801f8f7c16b
- Use Halo them for api level 11 or higher.
- Use action bar for api level 11 or higher.
- Move all menu items for the 3 tabs to MenuManager.
Move FileUtils.FILE_TIMSTAMP_FORMAT to StringUtils.java
Clean up StringUtils.java
- add formatDateTimeIso8601
- add formatDistance
- add formatSpeed
- rename all methods to either formatXXX or getXXX
- remove xml-stylesheet (not used)
- remove the "<number>" tag (do not want to expose internally used track id)
- add <metadata> for name and description
- change the text for the "creator" attribute
- change KmlTrackWriter to use FileUtils.FILE_TIMESTAMP_FORMAT
Add field: CriticalDifference
Add helper method isDifferenceSignificant to test needsRedraw
Add getSpeedMargin,setAverageMovingSpeed getAverageMovingSpeed methods
Change some code style of DynamicSpeedTrackPathDescriptor
Add test cases for FixedSpeedTrackPathDescriptor and DynamicSpeedTrackPathDescriptor
- if the results contained a track and a waypoint with the same ID, one would be missing from results
- disregarding very old timestamps
- Moved lowercasing of the query inside the search engine
Also fixed:
- In ChooseMapActivity and SendFusionTablesActivity, check that the intent
inputs are valid.
- In ChooseMapAsyncTask, close the GDataParser in the finally block.
- In SendFusionTablesAsyncTask, check that a segment has more than 2
points and that the segment stop time is set in prepareTrackSegment.
Additional fixes:
- In SendDocsAsyncTask, check that the activity is not null before
using it.
- In SendDocsUtils, close the GDataParser in the finally block.
- When catching an exception, always log it.
to show progress bar and an AysncTask to send
to Google Docs.
Future plan:
Plan to place common code across SendDocs, SendFusionTables,
and SendMaps in abstract classes.
Also fixed the following:
in uploadAllTrackPoints, introduce a "readCount" variable
rather than using the zero based index "i".
in prepareAndUploadPoints, add a lastBatch parameter
so can include the (Part 1) marker if there is more than
one segment.
in prepareTrackSegment, set a new segment's stop time
to the last location's time.
to send to Google Fusion Tables.
Use an AsyncTask to send a track to Google Fusion Tables.
Fix bugs with retry logic, screen rotation, sending
results back to SendActivity.
Benefits of the refactor:
- can support screen rotation when choosing an account
- reduce complexity in SendActivity
Also change the minSdkVersion to 7 so that
- in AccountChooserActivity, can just use the Android AccountManager
- in SendActivity, can use Account
- in SendActivity, can remove the Constants.GET_LOGIN callback
from the legacy AuthManager (AuthManagerOld)
to pick the Google services to send a track to.
Benefits of the refactor:
- ServicePickerActivity can easily handle screen rotation
- Reduce complexity in SendActivity
Note using the "yyyy-MM-dd HH:mm" format so it is readable
for users. However, the colon, ":", is not a valid
FAT32 filename character. So when saving to the SD card,
the filename becomes "yyyy-MM-dd HH_mm".
- typography warnings should be just informational (too many of them)
- unused IDs/resources make no sense for the library project
- layout errors should be errors
- typography warnings should be just informational (too many of them)
- unused IDs/resources make no sense for the library project
- layout errors should be errors
In StringsUtils, add formatDateTime, formatTime, formatElapsedTime.
Note that verified when sending to Google Docs, no longer need
to always show the hours when displaying total time and moving time.
or pace when calling onPrepareDialog.
Change the x_axis.png and y_axis.png to white foreground
so they show up on the black background.
Clean up chart_settings.xml
- no need to specify minWidth by placing the title
inside a TableLayout
- align text to the bottom of the image
first app launch and when changing the display unit.
In ChartActivity, set the default to true to match the default
in ChartView.
When display unit changes, on the UI thread, request a layout so the
axises can be redrawn.
- Clarify that Zephyr, Polar, SRM are company names and should not get
translated.
- Clarify that Bluetooth and ANT+ are radio standards and can be
translated if possible.
- Clarify that bridge is a network bridge.
- use MyTracksProviderUtils to update a track
- define TRACK_ID and SHOW_CANCEL in TrackDetails
- log error if track doesn't exit
- add a scrollview
- add padding
- update version name and version code in AndroidManifest.xml
- delete values-es-rES/strings.xml (locale not supported by translation)
- remove escaped html characters in values/strings.xml
- all strings.xml in other locales are auto-generated. We will not
modify these files directly.
by calling ApiFeatures.getInstance().getApiAdapter().applyPreferenceChanges.
The only exception is using commit (synchronous) when resetting all settings.
because when open a GPX file using
the Linda File Manager, three My Tracks
activities show up.
ImportActivity (My Tracks Importer)
MyTracks (My Tracks)
WaypointDetails (Marker details)
mytracks_send_to_google.xml
- remove unused ids.
- rename id variables.
- set textSize to 18dip to fit "Google Fusion Tables".
- set margin in ScrollView because its height is 0dip
and settings margins in its children have no effect.
SendDialog.java
- use ApiFeature.applyPreferenceChanges to commit preference changes.
- set myMapsGroup View to GONE when 'Google My Maps' is not checked.
- use Context.MODE_PRIVATE.
- onStop, call super.onStop first.
- add period when appropriate
- remove capitalization (only capitalize first word)
- add a 'title' suffix to title strings
- for Dynamic thresholds, rename to 'Medium Speed Percentage'
because the value is a percentage.
- tranlstate 'my_tracks_service_name' string.
Convention:
Use "option" to indicate a display string like "sensor_type_option_ant".
Use "value" to indicate a stored value like "sensor_type_value_ant".
Additional proposals not in this changeset:
- rename "Sensor Options" to "Sensor"?
- rename "Track Color Mode" to "Track color"?
DocsHelper_AddTrackRowTest is using a MockContext, which
cannot be used to call DateFormat.getDateFormat(context).
Refactor a getDisplayDate method in DocsHelper and allow the
test to override the method.
Also update .hgignore to AnnotationProcessor.log.
- MyTrack app should export google-common.jar, common-logging-1.1.1.jar,
protobuf-java-2.3.0-lite.jar and the MyTracksLib library.
- A test should only depend on its app. E.g., it should not need to
reference the MyTracksLib library again.
and the negative button on the right to match the alert dialog.
- If an alert dialog only needs one button, assign it as the PostiveButton.
- If an alert dialog needs two buttons, assign one Positive and another
Negative.
- for CheckUnits, change the message to
"Do you want to use metrics as your default units?" so that
"yes" corresponds to the default case of using metrics as
the default units.
Clean up menu items.
- change "Record track" to "Record Track"
- change "Stop recording" to "Stop Recording"
- remove "Delete all tracks", "Please select the track to view",
"Current track", and "Last segment".
- move "Elevation" to the stat label section.
- Fix AntSensorManager.onDestroy, check antReceiver is not null.
- In AntSensorManager.onDestroy, log info rather than log error
for AntServiceNotConnectedException.
- ApiFeatures.isAudioFocusSupported
- ApiFeatures.hasBackup
- ApiFeatures.useNetHttpTransport
into the appropriate ApiLevelAdapter.
Do not plan to move
- ApiFeatures.hasBluetoothDeviceCreateInsecureRfcommSocketToServiceRecord
- ApiFeatures.canReuseSQLiteQueryBuilder
- ApiFeatures.hasTextToSpeech
Rename CupcakePlatformAdapter to ApiLevel3Adapter.
Rename EclairPlatformAdapter to ApiLevel5Adapter.
Rename GingerbreadPlatformAdapter to ApiLevel9Adapter.
Rename ApiPlatformAdapter to ApiLevelAdapter.
- Use DecimalFormatSymbols getInstance for API level 9 or above.
- Use Arrays copyOfRange for API level 9 or above.
- Remove ApiFeatures hasStrictMode.
- Fix comment on MapOverlay to indicate that the two methods should only be
used during testing.
- Use android.text.format.DateFormat to format date and time in DocsHelper.
This DateFormat uses the same locale format as the phone configuration.
Fix DecimalFormat
In MapOverlay, for testing, expose a getter and a setter
for TrackPathDescriptor instead of newPath and getLastPath.
In SingleColorTrackPathPainter, refactor "new Path" to a
newPath method so that tests can override the newPath method
to provide a mockPath.
- in ControlRecordingService, unbind right after handling an intent
to prevent leaking ServiceConnection before handling the next intent.
- update comment in TrackRecordingService
Only sends broadcast notifications if allowed by the settings bit.
Introduces a permission for internal MyTracks communication.
Thus the MyTracks app widget can use this permission to
always receive broadcast notifications when a track starts
and stops.
Move MyTracksProvider to DatabaseProvider and protect the DatabaseProvider
using the AndroidManifest.xml.
Create a MyTracksProviderUtilFactory to create an instance of
MyTracksProviderUtils that accesses the DatabaseProvider.
Recreate MyTracksProvider by extending DatabaseProvider.
The recreated provider checks access, changes the authority,
and invokes the DatabaseProvider methods.
external applications access based on the
sharing settings.
Protect all RPCs calls using the caller's
process id.
When the service is started, we cannot
tell whether the caller is MyTracks or
another app. Thus when the service
is started, we cannot access MyTracks
database or start/stop a recording.
Previsouly, only the MyTracks app
widget is using the service's start method
to start and stop a recording. Thus
create a private service, ControlRecordingService,
that only the MyTracks app widget can access and delegate
starting/stopping a recording to
TrackRecordingService.
Fusion table depends on google-api-client-1.2.2.alpha.jar.
Proguard needs to be set correctly for the google-api-client library.
Tested a release version and is able to send a track to fusion table.
CheckUnits and SettingsActivity classes for use with intents.
* In SettingsActivity split onCreate() code into initActivityCommons() and
initActivitySpecifics() methods for easier maintaining of code required
for all screens and code require for only some screens.
- removing inner class, and recording of heartbeat timestamps
- fixing issue with rollover by replacing % operator with modulo operation
- comparing problematic firmware id against byte[] instead of String
- removing zephyr packet debug loggin
- not reassigning protobuffers Builders
- moving decision to use workaround into setCadence function
- license and javadoc author for testcase class
- proposal: using introspection to access private fields in testcase in order to determine expected availablity of values from getCadence, alternatively modify access to protected.
- modifying rollover test, hopefully more clear now.
- adding asserts during the loop in this test case.
- Cadence before Extensions
- Adding BuildMajor and BuildMinor to Version since it seems to be required by http://connect.garmin.com
- Version Values now only contain integers by splitting mytracks version code at dots, allows correct XML validation.
With this there's no need to manually import the xml files.
Downside is that if we decide to change something, we need import it in all projects (e.g. change in one, save as a template, then select that template on others).
Reverted .classpath. (Oops)
Moved move the old strings from arrays.xml to strings.xml.
Created sensor_type_options string for "None" for language support.
- Not trying to show dialogs if activity is going away
- Properly handling when the user doesn't select an account
- Handling unwritable database (due to memory full?)
- Handling NPE from fusion tables upload
- Not trying to touch dialogs when we're about to restart the whole app
This is a non-trivial step: I decentralized dialog creation (since it made no sense to have a single place creating a lot of completely unrelated dialogs), made invisible activities just for sending/saving, and changed menu handling a bit, all to decentralize those functions from MyTracks.
There's still a TODO to handle GET_LOGIN more nicely instead of returning from the depths of auth management into the current activity.
Addressed all comments. Cleaned up Polar parser mostly.
Added decaying heart rate algo for now.
Tried to reach out to joni to work on merging projects. No response yet.
- new methods to calculate the CRC8 checksum
- in ZephyrMessageParser the CRC8 now is used in isValid() and the cadence and power values are written to the SensorData objects
* Making registration finer-grained so we only listen to the data we really need.
* Moving the system listener registration to an external class (for testability and readability)
* Adding a unit test (not yet complete)
* Adding documention and cleaning up comments
Still many things TODO:
* Allow pausing of registrations
* Add pause/resume to onPause/onResume of activities
* Move sampling logic out of the hub
* Optimize data reloading when display preferences change
* (maybe) move the data hub and related classes to the "content" package
Since this is a first proposal, I'm not yet modifying the xml files to pass validation, except for a small example.
Also keep in mind that the annotations in the XML (rev in a string tag, or KEEP_PARENT) would be inserted automatically by the "translate" module.
This moves all data source connections into the TrackDataHub.
There are still many things to (re)do here:
- Optimizations about when the listeners are registered
- Optimizations about what data each TrackDataListener is interested in
- When activities are restarting, send new data since they were stopped (instead of doing a full reload)
- Proper double-buffering of Location objects (some listeners are interested in double-buffering all points, while others are only interested in double-buffering sampled points)
- etc.
to have a problem with TRS and Context. When it tries to mock either class, it ends up trying
(and failing) to mock DatabaseErrorHandler, which for some reason always fails.
Fix style issues pointed out in code review. Move acquireWakeLock method into
MyTracksUtils and call that from ImportAllTracks and ExportAllTracks. Replace
important Toast messages with dialogs.
Handle the case where the first track point does not have a time
without segfaulting. (issue #316, #192)
Don't throw an exception on a negative time change. It isn't the end
of the world, just put a warning in the log and move on (without
updating the speed, since we really don't have a clue now). (issue #186)
Reset the element content even when we aren't in a track element. GPX
can have elements outside of the <trk>. This was causing problems
such as content in a <metadata> element before the <trk> being
included in the track name.
There could still be weirdness in the stats if some of the points have
a time element while others don't. Hard to say what the best course
of action is in that case though, and may involve changes to the
TripStatisticsBuilder.
ImportAllTracks is essentially just a modification of ExportAllTracks that
uses the existing GpxImporter to import all GPX files found in
/sdcard/MyTracks/gpx. So that the import functionality can always be accessed,
the MyTracks Activity's MenuManager is altered so that the Tracks button shows
regardless of whether there are any tracks in the database (ImportAllTracks is
launched by a button in the lower right of the MyTracksList activity).
A Toast message shows if no GPX files are found; this serves as a hint to
users on where to put GPX files for import so that this addition should be
discoverable and useable without documentation.
Im
Instead of producing the comparison strings in the tester just as they
are produced in the tested code, use string literals, thus actually
testing that the formatting code is working as expected.
Instead of producing the comparison strings in the tester just as they
are produced in the tested code, use string literals, thus actually
testing that the formatting code is working as expected.
The only thing not allowed in 1.1 currently used is the track color
tag, which is moved into the "<extensions>" tag to make it conform to
the 1.1 schema.
The only thing not allowed in 1.1 currently used is the track color
tag, which is moved into the "<extensions>" tag to make it conform to
the 1.1 schema.
The only thing not allowed in 1.1 currently used is the track color
tag, which is moved into the "<extensions>" tag to make it conform to
the 1.1 schema.
The only thing not allowed in 1.1 currently used is the track color
tag, which is moved into the "<extensions>" tag to make it conform to
the 1.1 schema.
The GPX schema requires waypoints to come before the track.
Waypoints are not currently used in TCX export, so there are no
changes there.
In KML files, both tracks and waypoints are "Placemark"s, so it
doesn't matter what order they come in there.
This does change the order they appear in CSV files, which could
potentially invalidate some assumptions made in downstream tools.
The GPX schema requires waypoints to come before the track.
Waypoints are not currently used in TCX export, so there are no
changes there.
In KML files, both tracks and waypoints are "Placemark"s, so it
doesn't matter what order they come in there.
This does change the order they appear in CSV files, which could
potentially invalidate some assumptions made in downstream tools.
The GPX schema requires waypoints to come before the track.
Waypoints are not currently used in TCX export, so there are no
changes there.
In KML files, both tracks and waypoints are "Placemark"s, so it
doesn't matter what order they come in there.
This does change the order they appear in CSV files, which could
potentially invalidate some assumptions made in downstream tools.
The GPX schema requires waypoints to come before the track.
Waypoints are not currently used in TCX export, so there are no
changes there.
In KML files, both tracks and waypoints are "Placemark"s, so it
doesn't matter what order they come in there.
This does change the order they appear in CSV files, which could
potentially invalidate some assumptions made in downstream tools.
Addresses issue #299 and ensures Latitude and Longitude are formatted
correctly as well.
Also orders the elements in the waypoint correctly according to the
schema: <ele> and <time> need to come before <name> and <desc>.
Addresses issue #299 and ensures Latitude and Longitude are formatted
correctly as well.
Also orders the elements in the waypoint correctly according to the
schema: <ele> and <time> need to come before <name> and <desc>.
Addresses issue #299 and ensures Latitude and Longitude are formatted
correctly as well.
Also orders the elements in the waypoint correctly according to the
schema: <ele> and <time> need to come before <name> and <desc>.
The strings that need updating are commented-out, as a reference to translators.
(many other strings are simply missing, I didn't do anything about those)
1) Simplify SharedPreferences management
2) Shut down signalManager/splitManager to avoid random crashes
3) Get rid of sharedPreferencesChanged from the service interface
All tests pass.
The issue was most likely related to a race condition (selectedTrackId can change in the UI thread, while the track is being processed in the handler thread).
Simulated slow drawing by adding 50ms, works pretty cool :)
Found in user error reports (3rd top issue):
java.lang.StringIndexOutOfBoundsException
at com.google.android.apps.mytracks.util.ChartsExtendedEncoder.getEncodedValue(ChartsExtendedEncoder.java:45)
at com.google.android.apps.mytracks.util.ChartURLGenerator.getChartUrl(ChartURLGenerator.java:162)
at com.google.android.apps.mytracks.util.ChartURLGenerator.getChartUrl(ChartURLGenerator.java:60)
at com.google.android.apps.mytracks.util.StringUtils.generateTrackDescription(StringUtils.java:366)
at com.google.android.apps.mytracks.io.SendToMyMaps.doUpload(SendToMyMaps.java:581)
at com.google.android.apps.mytracks.io.SendToMyMaps.access$10(SendToMyMaps.java:538)
at com.google.android.apps.mytracks.io.SendToMyMaps$5.run(SendToMyMaps.java:517)
at android.os.Handler.handleCallback(Handler.java:587)
at android.os.Handler.dispatchMessage(Handler.java:92)
at android.os.Looper.loop(Looper.java:123)
at android.os.HandlerThread.run(HandlerThread.java:60)
In particular:
1) Add a workaround to {start/end}Recording to update recordingTrackId to trigger a notification
2) Add a bunch of unit tests for MyTracks
3) Clear minor style issues in a few classes
Allow users to choose the default track name policy. By default, we'll switch
to a new, timestamp-based name. If they change the pref, they'll get the
old-style 'track n' style.
1) Make sure no one but service changes recordingTrackId (which is owned by it)
2) Cache sharedPreferences
3) Clear recordingTrackId if it doesn't correspond to a valid track or the service is not recording
4) More unit tests
Notably:
1) Fixed isRecording to not return false if service is down (for instance, it may be being restarted)
2) Added more checks to prevent from invalid starting/stopping (if in already in progress/not started).
1) Decouple clock from TripStatisticsBuilder.
2) Introduce a new param to constructor to automatically resume at given time
3) Fix various statsbuilder initialization issues in the service (wrong order, missing initialization)
For a track with ~2,500 points, the average drawign would take ~30-50ms, now it takes about 20ms (21ms if software clipping is enabled).
Removed all possible congestion points by introducing a blocking queue.
This change includes many fixes, including:
1) Major refactoring and clean up of the overlay, sped up drawing by a factor of 2x
2) Disable software clipping as it was slower by about 5% than w/o clipping and would trigger a bug related to map view spanning
3) Add waypoints synchronization and fixed a bug related to skipping the first wpt
4) Add a simple unit test
In addition fix the following issues/add functionality:
0) Introduce MyTracksReceiver for listening on broadcast messages
1) Remove unnecessary call to VerifyChecker to avoid 403.
2) Clean up TrackRecordingService by adding private methods for common functionality
3) Fix a bug related to not canceling a timer after service was stopped
4) Add a new preference item to control behavior of new functionality
5) Add a unit test for the service (still need to figure out one issue with mocking content resolver).
Apparently this happens when the activity was previously showing the chart settings dialog, and was paused then restarted - in that case we'll just keep the default chart settings.
This grealy simplifies those classes since the fields are the same.
There's certainly more cleanup to do on top of this, but I thought this
was already more than enough for a single change.
The only *functional* change expected from this is that the average
speed is now calculated over the time until the last known position,
which IMHO makes sense since the distance used in that calculation only
includes up to that position. The visible effect is that having no GPS
signal doesn't make the speed decrease.
This was imported from perforce CL 15953263.
MyTracksUtils and MyTracksConstants are cut-down versions of the original files
which contain only what's used by the content package, we'll later post the rest
of them.
<i>My Tracks</i> is an application for your Android powered phone. With <i>My Tracks</i> you can record GPS tracks and visualize your hiking, running, biking or any other activity while watching live performance statistics. <i>My Tracks</i> makes it easy to archive your training history with <i>Google Docs</i> and <i>Google My Maps</i>, and share your activities with friends and the world.<br><br>
<b>How do I see the map, statistics and elevation profile?</b><br>
Touch the map. Left and right arrows will appear. Tap on these arrows to cycle between the map view, the track statistics view, and the elevation profile.<br><br>
<b>Why does the application sometimes display <i>Waiting for a better GPS fix. Make sure the sky is visible</i>?</b><br>
For <i>My Tracks</i> to work, your phone needs to be in line-of-sight contact with the GPS satellites orbiting the earth. If line-of-sight is obstructed by trees, buildings or canyon walls, you may not get an accurate fix. If you see the message Waiting for a better GPS fix, wait a minute or two. If your device does not achieve a fix, move to an area clear of obstructions and try again.
<br><br>
<b>How do I send my tracks to <i>Google My Maps</i> and <i>Google Docs</i>?</b><br>
Tap the <i>Options</i> button located at the bottom right corner of the map and select <i>Send to Google...</i> Then choose to send the track to <i>Google My Maps</i> and/or <i>Google Docs</i>. The first time you do this, you may be prompted to log into your Google account. By default your track will be uploaded to a new <i>My Map</i> that will be created in your account. You can opt to add your track to an existing <i>My Map</i> if you prefer. In that case you will be asked to choose a <i>My Map</i> from your account. You can view and edit all of your <i>My Maps</i> by going to maps.google.com, signing in, and clicking on the <i>My Maps</i> tab.<br><br>
<b>How do I share tracks with friends and the rest of the world? </b><br>
After recording a track, press the <i>Options</i> button on the bottom right of the map and then select <i>Share with friends...</i> Select how you want to share the track: a) as a link to a <i>Google My Map</i> (you will be prompted to upload the track to <i>Google My Maps</i> if you have not already done so), b) as a GPX file in an e-mail attachment, or c) as a KML file in an e-mail attachment. You can also send an e-mail with a link to your <i>My Map</i> by going to maps.google.com on your computer. Select the map and then click <i>Link</i> on the right side of the Google Maps web site.<br><br>
<b>Can I view other people's tracks on my Android phone?</b><br>
Yes. Use the <i>Google My Maps Editor</i> application, available from the <i>Android Market</i>, to view tracks that have been uploaded to <ahref="http://www.google.com/url?sa=D&q=http%3A%2F%2Fmaps.google.com">maps.google.com</a> by you or your friends. If you have received an e-mail invitation to view a map, you can click on the link contained in the e-mail to view the map on your Android phone, assuming that <i>Google My Maps Editor</i> is installed on the phone.<br><br>
<b>What are way point markers?</b><br>
Way point markers are used to annotate a place. For example if you are recording a track and you are close to an interesting place, let's say a mountain top, press <i>MENU | Markers | Insert Way point</i> to insert a way point marker at that location. Type a name and description for the place. Once you send your track to Google a place marker will show up on your map. People who view your maps can read your description and learn about this place.<br><br>
<b>What are statistics markers?</b><br>
Let's say you are recording a bike ride up a hill. You will be able to see the total time and distance for the trip, but wouldn't it be good to know how long the climbing part took and how much altitude has been gained? That's what statistics marker are for. Insert a statistics marker once at the bottom of the hill, and once at the top. Now you will be able to view track statistics for each segment of your ride. Each marker has the statistic for the segment up to the marker. Note: To insert a statistics marker simply press the track ball (while the <i>My Tracks</i> application is in the foreground), or use <i>MENU | Markers | Insert Statistics</i>.<br><br>
<b>Do I need a cell signal and data connection to use <i>My Tracks</i>?</b><br>
A cell signal or data connection is not required to record GPS tracks. However, if there is no data connection, you will not be able to see satellite imagery or a map. Instead, you will see a grey screen or partial map. Tracks, represented as simple lines, can still be recorded even if there is no data connection.<br><br>
<b>How long does the battery last when recording tracks?</b><br>
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, battery freshness, and tasks running in parallel. Switching off some or all of the phone's radios will lengthen battery life. Putting the phone into Airplane mode will yield the best results.<br><br>
<b>What can I do with tracks after saving them as GPX or KML files to the SD card or sharing such files with friends?</b><br> GPX and KML are standard file formats for storing data from GPS receivers. You can use Google Earth or similar applications to visualize and edit GPS tracks. Go to http://earth.google.com to download the latest version of Google Earth for free.<br><br>
<b>How precise are the recorded tracks?</b><br>
Under optimal conditions the location error can be +/- 20 feet (6 meters). However, precision depends on the quality of the GPS signal. Your phone needs to be in line-of-sight contact with the GPS satellites orbiting the earth. The signal will be best in open areas free of trees, buildings, canyon walls and other obstructions. The blue circle around the orange location arrow indicates estimated precision. (You may need to zoom in or out to see the circle.) If the precision is too low, a message at the top of the screen will alert you and tracks will not be recorded. You can change the minimum required precision in the <i>My Tracks</i> Settings (See: <i>MENU | Settings | Pause recording if accuracy drops below</i>).<br><br>
<b> How precise is the elevation measurement?</b><br>
GPS receivers measure elevations much less precisely than latitude and longitude. Elevations can sometimes be off by a few hundred feet, though relative changes are tracked more precisely. To get a good elevation measurement make sure that you have a strong GPS signal (good sky visibility) and wait a few minutes for the elevation to settle to a stable value.<br><br>
<b>Can I edit the tracks and correct them for inaccuracies?</b><br>
Once you upload tracks to <i>Google My Maps</i>, you can move, delete or insert individual track points as desired.<br><br>
<b>Why do very long tracks split into multiple segments upon sending them to <i>Google My Maps</i>? </b><br>
Tracks on maps.google.com are limited to 500 points or less. As a result, long tracks are split into multiple pieces upon upload to <i>Google My Maps</i>.<br><br>
<b>How do I delete all tracks from my phone?</b><br> Press the MENU button and select List tracks. Tap the Delete all tracks button. This permanently deletes the recorded GPS tracks from memory. If you have saved tracks to the SD card, you must delete them separately. Tracks uploaded to <i>Google My Maps</i> and <i>Google Docs</i> must also be deleted separately.<br><br>
<b>Who can see maps I send to maps.google.com?</b><br> By default new maps that you send to maps.google.com will be publicly visible. To prevent newly created maps from being public, go to the <i>My Tracks</i> settings screen and deselect the check box labeled <i>Make maps public on maps.google.com</i>. You can change the visibility of existing maps through the maps.google.com web site or using the <i>Google My Maps Editor</i> application from your Android phone.<br><br><br><br>
By downloading, installing or using this application or any portion thereof ("Application"), you agree to the following terms and conditions (the "Terms and Conditions").
1. USE OF APPLICATION
a. Google grants you the non-exclusive, non-transferable, limited right and license to install and use this Application solely and exclusively for your personal use.
b. You may not use the Application in any manner that could damage, disable, overburden, or impair the Application (or servers or networks connected to the Application), nor may you use the Application in any manner that could interfere with any other party's use and enjoyment of the Application (or servers or networks connected to the Application).
c. You agree that you are solely responsible for (and that Google has no responsibility to you or to any third party for) your use of the Application, any breach of your obligations under the Terms and Conditions, and for the consequences (including any loss or damage which Google may suffer) of any such breach.
2. PROPRIETARY RIGHTS
You acknowledge that (a) the Application contains proprietary and confidential information that is protected by applicable intellectual property and other laws, and (b) Google and/or third parties own all right, title and interest in and to the Application and content, excluding content provided by you, that may be presented or accessed through the Application, including without limitation all Intellectual Property Rights therein and thereto. "Intellectual Property Rights" means any and all rights existing from time to time under patent law, copyright law, trade secret law, trademark law, unfair competition law, and any and all other proprietary rights, and any and all applications, renewals, extensions and restorations thereof, now or hereafter in force and effect worldwide. You agree that you will not, and will not allow any third party to, (i) copy, sell, license, distribute, transfer, modify, adapt, translate, prepare derivative works from, decompile, reverse engineer, disassemble or otherwise attempt to derive source code from the Application or content that may be presented or accessed through the Application for any purpose, unless otherwise permitted, (ii) take any action to circumvent or defeat the security or content usage rules provided, deployed or enforced by any functionality (including without limitation digital rights management functionality) contained in the Application, (iii) use the Application to access, copy, transfer, transcode or retransmit content in violation of any law or third party rights, or (iv) remove, obscure, or alter Google's or any third party's copyright notices, trademarks, or other proprietary rights notices affixed to or contained within or accessed in conjunction with or through the Application.
3. GOOGLE TERMS OF SERVICE AND PRIVACY POLICY
a. Google’s Privacy Policy (located at http://www.google.com/privacypolicy.html) explains how Google treats your information and protects your privacy when you use the Application. You agree to the use of your data in accordance with Google’s privacy policies.
b. The Application may contain features that are used in conjunction with Google’s search and other services. Accordingly, your use of such features of the Application is also governed by Google’s Terms of Service located at http://www.google.com/terms_of_service.html, Google’s Privacy Policy located at http://www.google.com/privacypolicy.html, as well as any applicable Google Service-specific Terms of Service and Privacy Policy, which may be updated from time to time and without notice.
4. U.S. GOVERNMENT RESTRICTED RIGHTS
This Application, related materials and documentation have been developed entirely with private funds. If the user of the Application is an agency, department, employee, or other entity of the United States Government, the use, duplication, reproduction, release, modification, disclosure, or transfer of the Application, including technical data or manuals, is restricted by the terms, conditions and covenants contained in these Terms and Conditions. In accordance with Federal Acquisition Regulation 12.212 for civilian agencies and Defense Federal Acquisition Regulation Supplement 227.7202 for military agencies, use of the Application is further restricted by these Terms and Conditions.
5. EXPORT RESTRICTIONS
The Application may be subject to export controls or restrictions by the United States or other countries or territories. You agree to comply with all applicable U.S. and international export laws and regulations. These laws include restrictions on destinations, end users, and end use.
6. TERMINATION
These Terms and Conditions will continue to apply until terminated by either you or Google as set forth below. You may terminate these Terms and Conditions at any time by permanently deleting the Application from your mobile device in its entirety. Your rights automatically and immediately terminate without notice from Google or any Third Party if you fail to comply with any provision of these Terms and Conditions. In such event, you must immediately delete the Application.
7. INDEMNITY
To the maximum extent permitted by law, you agree to defend, indemnify and hold harmless Google, its affiliates and their respective directors, officers, employees and agents from and against any and all claims, actions, suits or proceedings, as well as any and all losses, liabilities, damages, costs and expenses (including reasonable attorneys fees) arising out of or accruing from your use of the Application, including your downloading, installation, or use of the Application, or your violation of these Terms and Conditions.
8. DISCLAIMER OF WARRANTIES
A. You expressly understand and agree that your use of the application is at your sole discretion and risk and that the application is provided “as is” and “as available” without warranty of any kind.
B. You are solely responsible for any damage to your mobile device, or other device, or loss of data that results from such use.
C. Google further expressly disclaims all warranties and conditions of any kind, whether express or implied, including, but not limited to the implied warranties and conditions of merchantability, fitness for a particular purpose and non-infringement, with respect to the application.
D. The application is not intended for use in the operation of nuclear facilities, life support systems, emergency communications, aircraft navigation or communication systems, air traffic control systems, or any other activities in which the failure of the application could lead to death, personal injury, or severe physical or environmental damage.
9. LIMITATION OF LIABILITY
You expressly understand and agree that google, its subsidiaries and affiliates, and its licensors are not liable to you under any theory of liability for any direct, indirect, incidental, special consequential or exemplary damages that may be incurred by you through your use of the application, including any loss of data or damage to your mobile device, whether or not google or its representatives have been advised of or should have been aware of the possibility of any such losses arising.
10. MISCELLANEOUS
a. These Terms and Conditions constitute the entire Agreement between you and Google relating to the Application and govern your use of the Application, and completely replace any prior or contemporaneous agreements between you and Google regarding the Application.
b. The failure of Google to exercise or enforce any right or provision of these Terms and Conditions does not constitute a waiver of such right or provision, which will still be available to Google.
c. If any court of law, having the jurisdiction to decide on this matter, rules that any provision of these Terms and Conditions is invalid, then that provision will be removed from the Terms and Conditions without affecting the rest of the Terms and Conditions. The remaining provisions of these Terms and Conditions will continue to be valid and enforceable.
d. The rights granted in these Terms and Conditions may not be assigned or transferred by either you or Google without the prior written approval of the other party. Neither you nor Google are permitted to delegate their responsibilities or obligations under these Terms and Conditions without the prior written approval of the other party.
e. These Terms and Conditions and your relationship with Google under these Terms and Conditions will be governed by the laws of the State of California without regard to its conflict of laws provisions. You and Google agree to submit to the exclusive jurisdiction of the courts located within the county of Santa Clara, California to resolve any legal matter arising from these Terms and Conditions. Notwithstanding this, you agree that Google will still be allowed to apply for injunctive remedies (or an equivalent type of urgent legal relief) in any jurisdiction.
<stringname="error_no_location_manager">Es wurde kein \'Location Manager\' auf diesem Gerät gefunden.</string>
<stringname="error_no_gps_location_provider">Konnte keinen GPS-Empfänger auf diesem Gerät finden.</string>
<stringname="error_sending_to_mymap">Beim Senden Ihres Tracks an Google My Maps ist ein Fehler aufgetreten. Bitte versuchen Sie es später nochmal.</string>
<stringname="error_sending_to_docs">Beim Senden Ihres Tracks an Google Docs ist ein Fehler aufgetreten. Bitte versuchen Sie es später nochmal.</string>
<stringname="error_unable_to_start_recording">Aufzeichnen fehlgeschlagen. Bitte versuchen Sie es nochmal.</string>
<stringname="error_unable_to_stop_recording">Anhalten unmöglich. Bitte versuchen Sie es nochmal.</string>
<stringname="error_unable_to_read_file">Datei nicht lesbar.</string>
<stringname="error_invalid_gpx_format">Datei ist nicht im GPX-Format.</string>
<stringname="error_generic">Ein Fehler ist aufgetreten. Bitte versuchen Sie es nochmal.</string>
<stringname="error_out_of_memory">Die Datei ist zu groß (Obergrenze sind 500 KB). Operation abgebrochen.</string>
<stringname="error_unable_to_insert_marker">Der Wegpunkt kann nicht einfügt werden. Keine Positionsbestimmung möglich.</string>
<!-- Status messages -->
<stringname="wait_for_fix">Warten auf ein besseres GPS-Signal. Bitte stellen Sie sicher, dass der Himmel sichtbar ist.</string>
<stringname="status_now_recording">Ein neuer Track wird aufgezeichnet.</string>
<stringname="status_stopped_recording">Die Aufzeichnung wurde beendet.</string>
<stringname="status_new_mymap_has_been_created">Eine neue Karte wurde auf maps.google.com erstellt.</string>
<stringname="status_tracks_have_been_uploaded">Ihr Track wurde auf maps.google.com gespeichert.</string>
<stringname="status_tracks_have_been_uploaded_to_new_doc">Ihr Track wurde in einer neuen Tabelle bei docs.google.com gespeichert.</string>
<stringname="status_tracks_have_been_uploaded_to_docs">Ihr Track wurde an docs.google.com gesendet.</string>
<stringname="status_mymap_info">Manchmal dauert es ein paar Minuten, bis neue Tracks bei maps.google.com erscheinen.</string>
<stringname="status_enable_gps">Berühren Sie hier um zu den Sicherheits- und Positionseinstellungen zu gelangen. Aktiviere \'GPS-Satelliten\'. Drücken Sie dann den Zurück-Knopf um zurückzukehren.</string>
<stringname="status_approximate_location">Anmerkung: Eine ungefähre Position wird angezeigt, bestimmt mittels Funktürmen und WiFi-Netzwerken.</string>
<stringname="status_no_location">Ihre Position kann derzeit nicht bestimmt werden. Aktivieren Sie mehr Positionsquellen (siehe Sicherheits- und Positionseinstellungen) und stellen Sie sicher, dass der Himmel sichtbar ist.</string>
<stringname="status_waypoint_inserted">Ein Wegpunkt wurde eingefügt.</string>
<stringname="status_statistics_inserted">Ein Statistikwegpunkt wurde eingefügt.</string>
<stringname="settings_announcement_frequency">Dauer zwischen Ansagen:</string>
<stringname="settings_announcement_frequency_summary">Kürzeste Zeit zwichen zwei Ansagen</string>
<stringname="settings_announcement_not_available_summary">Gesprochene Ansagen sind mit Ihrer Version von Android nicht verfügbar.</string>
<stringname="settings_min_recording_distance">Kleinste Entfernung zwischen Punkten:</string>
<stringname="settings_min_recording_distance_summary">Kleinste Entfernung zwischen zwei Positionsaufzeichnungen</string>
<stringname="settings_max_recording_distance">Neues Segment wenn Punkte weiter entfernt als:</string>
<stringname="settings_max_recording_distance_summary">Der Track wird in Zwei geteilt wenn zwei folgende Punkte weiter entfernt sind als hier angegeben.</string>
<stringname="settings_min_recording_interval_summary">Kürzeste Zeit zwischen zwei Positionsaufzeichnungen.</string>
<stringname="settings_min_required_accuracy">Aufzeichnung pausieren wenn Genauigkeit kleiner als:</string>
<stringname="settings_min_required_accuracy_summary">Die Aufzeichnung wird kurzfristig angehalten, wenn Ihre Position nicht genauer als hier angegeben ermittelt werden kann.</string>
<stringname="settings_metric_units">Entfernungen in metrischen Einheiten anzeigen</string>
<stringname="settings_metric_units_summary_on">Alle Entfernungen werden in metrischen Einheiten angezeigt.</string>
<stringname="settings_metric_units_summary_off">Alle Entfernungen werden in britischen Längeneinheiten angezeigt.</string>
<stringname="settings_map_public">Karten auf maps.google.com veröffentlichen</string>
<stringname="settings_map_public_summary_on">Hochgeladene Karten auf maps.google.com sind für alle sichtbar.</string>
<stringname="settings_map_public_summary_off">Hochgeladene Karten auf maps.google.com werden nicht öffentlich sichtbar aufgelistet.</string>
<stringname="map_searchable_edit">Diese Karte und Ihren Inhalt in Suchergebnissen sichtbar machen.</string>
<stringname="map_not_searchable_edit">Diese Karte und Ihren Inhalt nicht in Suchergebnissen sichtbar machen.</string>
<stringname="map_searchable">Diese Karte und Ihr Inhalt sind in Suchergebnissen sichtbar.</string>
<stringname="map_not_searchable">Weder diese Karte noch Ihr Inhalt sind in Suchergebnissen sichtbar, allerdings können Sie trotzdem von anderen durch einen direkten Link angezeigt werden.</string>
<stringname="close">Schließen</string>
<stringname="edit">Bearbeiten</string>
<stringname="cancel">Abbrechen</string>
<stringname="save">Sichern</string>
<!-- Sharing -->
<stringname="share_map_subject">Ich möchte gerne eine Karte mit Dir teilen.</string>
<stringname="share_map_body_format">Vielleicht interessierst Du Dich für diese Karte:
%s</string>
<stringname="send_track_subject">Ich möchte einen GPS-Track mit Dir teilen</string>
<stringname="send_track_body_format">Vielleicht interessierst Du Dich für diese Track:
%s.</string>
<stringname="public_map">Öffentlich</string>
<stringname="unlisted_map">Nicht in Suchergebnissen enthalten.</string>
<stringname="mapslist_no_maps_available">Du hast noch keine Karten.</string>
<!-- Statistics View -->
<!-- Average Moving -->
<stringname="average_moving_speed_label">Durchschnitt in Bew.</string>
<stringname="average_moving_pace_label">Durchschnitt in Bew.</string>
<stringname="no_account_found">Kein Konto gefunden um Tracks zu versenden.</string>
<stringname="choose_account_title">Wählen Sei ein Konto</string>
<!-- SD card -->
<stringname="io_no_external_storage_found">Keine externes Speichermedium verfügbar. Stellen Sie sicher, dass eine SD-Karte vorhanden ist und nicht bereits von einem Computer darauf zugegriffen wird.</string>
<stringname="io_write_failed">Die Datei kann nicht geschrieben werden.</string>
<stringname="io_create_dir_failed">Das Verzeichnis auf der SD-Karte kann nicht erstellt werden.</string>
<stringname="io_write_finished">Der Track wurde auf die SD-Karte geschrieben.</string>
<!-- VersionChecker -->
<stringname="version_check_title">Suche nach neuer Version</string>
<stringname="version_check_continue_button">Fortfahren ohne zu aktualisieren</string>
<stringname="upgrade_required">Ihre Version von %1$s funktioniert möglicherweise nicht mehr richtig und wird nicht mehr unterstützt. Bitte aktualisieren Sie %1$s.</string>
<stringname="upgrade_recommended">Ihre Version von %1$s funktioniert möglicherweise nicht mehr richtig. Sie können sie jetzt aktualisieren, oder auf sie auf eigene Gefahr weiterverwenden. Einige Funktionen wie Datenaustausch mit Google-Diensten wird möglicherweise nicht mehr funktionieren, solange Sie die Software nicht aktualisieren.</string>
<stringname="upgrade_available">Eine neue Version von %1$s ist jetzt verfügbar. Sie können Ihre aktuelle Version ohne Probleme weiterverwenden, aber um die neuesten Funktionen in Anspruch nehmen zu können, müssen sie die Software aktualisieren.</string>
<!-- Welcome -->
<stringname="welcome">Willkommen</string>
<stringname="welcome_about">Über My Tracks</string>
<!-- Announcement -->
<stringname="announce_no_distance">My Tracks keine Entfernung</string>
<!-- Format:
$1 : Distance label
$2 : Distance value (5)
$3 : Distance units (mi, km)
$4 : Time description (10 minutes 5 seconds)
$5 : Speed value (5.6) : Pace value (5 minutes 6 seconds)
$6 : Speed units (mph) : Pace units (per mile)
-->
<stringname="announce_template">My Tracks %1$s %2$.2f %3$s in %4$s mit %5$s %6$s</string>
<stringname="status_new_mymap_has_been_created">Un mapa Google My Map nuevo has sido creado en maps.google.com.</string>
<stringname="status_tracks_have_been_uploaded">Su recorrido ha sido enviado a maps.google.com.</string>
<stringname="status_tracks_have_been_uploaded_to_new_doc">Su recorrido ha sido enviado a una nueva hoja de cálculo en docs.google.com.</string>
<stringname="status_tracks_have_been_uploaded_to_docs">Su recorrido ha sido enviado a docs.google.com.</string>
<stringname="status_mymap_info">A veces nuevos recorridos pueden tardar algunos minutos en aparecer.</string>
<stringname="status_enable_gps">Por favor presione aquí para ir al menú de Seguridad y Ubicación y asegúrese que el GPS esté habilitado. Presione el botón de regreso para regresar.</string>
<stringname="status_approximate_location">Nota: Una ubicación aproximada es mostrada, basada en informacion de torres de telefonía celular y red WIFI.</string>
<stringname="status_no_location">La ubicación actual no puede ser determinada. Habilite más fuentes de datos (vea configuraciones de Seguridad y Ubicación) y asegúrese que el cielo sea visible. Inténtelo mas tarde.</string>
<stringname="status_waypoint_inserted">Una señal de recorrido fue insertada.</string>
<stringname="status_statistics_inserted">Una señal con estadísticas fue insertada.</string>
<stringname="maps_list_failed">Sus mapas no pudieron ser cargados en este momento!</string>
<stringname="open_map">Seleccione este mapa</string>
<stringname="edit_map_details">Editar detalles del mapa</string>
<stringname="share_map">Compartir mapa con amigos</string>
<stringname="share_track">Compartir recorrido con amigos</string>
<stringname="delete_map">Borrar mapa de su cuenta</string>
<stringname="map_title">Título del mapa:</string>
<stringname="map_description">Descripción del mapa:</string>
<stringname="map_searchable_edit">Permitir que este mapa y su contenido sean mostrados en resultados de búsqueda</string>
<stringname="map_not_searchable_edit">No permitir que este mapa y su contenido sean mostrados en resultados de búsqueda, pero permitir acceso directo mediante su URL</string>
<stringname="map_searchable">Este mapa y su contenido serán mostrados en resultados de búsqueda</string>
<stringname="map_not_searchable">No mostrar ni este mapa ni sus contenidos en resultados de búsqueda, pero permitir acceso directo mediante su URL</string>
<stringname="close">Cerrar</string>
<stringname="edit">Editar</string>
<stringname="cancel">Cancelar</string>
<stringname="save">Guardar</string>
<!-- Sharing -->
<stringname="share_map_subject">Me gustaría compartir un mapa contigo</string>
<stringname="share_map_body_format">Creo que este mapa pudiera interesarte:
%s</string>
<stringname="send_track_subject">Me gustaría compartir un recorrido contigo</string>
<stringname="send_track_body_format">Creo que este recorrido pudiera interesarte.
Para ver este recorrido usa Google Earth o algún otro software de mapeo.</string>
<!-- Visibility -->
<stringname="public_map">Público</string>
<stringname="unlisted_map">No listado</string>
<stringname="mapslist_no_maps_available">Aún no tienes ningún mapa.</string>
<!-- Statistics View -->
<!-- Average Moving -->
<stringname="average_moving_speed_label">Velocidad promedio en movimiento</string>
<stringname="average_moving_pace_label">Paso promedio en movimiento</string>
<stringname="sendtogoogle_create_new_map">Crear un nuevo mapa</string>
<stringname="sendtogoogle_pick_existing_map">Escoja un mapa existente</string>
<stringname="sendtogoogle_send_stats">Enviar estadísticas de recorrido</string>
<stringname="sendtogoogle_send_stats_and_points">Enviar estadísticas y puntos</string>
<!-- SD card -->
<stringname="io_no_external_storage_found">Ningún almacenamiento externo fue encontrado. Asegúrese que la tarjeta SD se encuentre insertada y que su teléfono no este conectado a una computadora.</string>
<stringname="io_write_failed">No es posible escribir al archivo.</string>
<stringname="io_create_dir_failed">No es posible crear un directorio en su tarjeta SD.</string>
<stringname="io_write_finished">Grabación a tarjeta SD concluída.</string>
<stringname="version_check_continue_button">Continuar sin actualizar</string>
<stringname="upgrade_required">Su versión de %1$s puede no funcionar bien, y no contar ya con soporte técnico. Por favor actualice para poder continuar usando %1$s.</string>
<stringname="upgrade_recommended">Su versión de %1$s puede no funcionar bien. Puede actualizar ahora, o continuar usándola bajo su propio riesgo. Algunos procesos como la sincronización con los servidores pueden no funcionar hasta que actualice su versión.</string>
<stringname="upgrade_available">Una nueva versión de %1$s ya está disponible. Puede continuar usando su versión actual sin ninún problema, pero no tendrá las nueva funcionalidad hasta que actualice su versión.</string>
<!-- Welcome -->
<stringname="welcome">Bienvenido</string>
<stringname="welcome_about">Sobre My Tracks</string>
<!-- Announcement -->
<stringname="announce_no_distance">My Tracks sin distancia</string>
<!-- Format:
$1 : Distance label
$2 : Distance value (5)
$3 : Distance units (mi, km)
$4 : Time description (10 minutes 5 seconds)
$5 : Speed value (5.6) : Pace value (5 minutes 6 seconds)
$6 : Speed units (mph) : Pace units (per mile)
-->
<stringname="announce_template">My Tracks %1$s %2$.2f %3$s en %4$s a %5$s %6$s</string>
<stringname="error_out_of_memory">Ce fichier est trop gros (sa taille doit être inférieure à 500ko). Abandon.</string>
<stringname="error_unable_to_insert_marker">Impossible d\'insérer une balise. Position inconnue.</string>
<!-- Status messages -->
<stringname="wait_for_fix">Attente du signal GPS. Assurez-vous que le ciel est bien visible.</string>
<stringname="status_now_recording">Parcours en cours d\'enregistrement.</string>
<stringname="status_stopped_recording">Enregistrement du parcours terminé.</string>
<stringname="status_new_mymap_has_been_created">Une nouvelle carte Google \'Mes cartes\' vient d\'être créée sur maps.google.com.</string>
<stringname="status_tracks_have_been_uploaded">Votre parcours a été envoyé à maps.google.com.</string>
<stringname="status_tracks_have_been_uploaded_to_new_doc">Votre parcours a été envoyé dans un tableur à docs.google.com.</string>
<stringname="status_tracks_have_been_uploaded_to_docs">Votre parcours a été envoyé à docs.google.com.</string>
<stringname="status_mymap_info">Votre parcours peut prendre quelques minutes avant d\'être visible.</string>
<stringname="status_enable_gps">Cliquez ici et allez dans \'Paramètres\', \'Sécurité et Localisation\' et selectionnez \'Activer les satellites GPS\'. Appuyez sur le bouton de retour pour revenir au menu.</string>
<stringname="status_approximate_location">Note : Votre position est approximative, elle a été déterminée par les antennes de téléphonie ou le réseau WiFi.</string>
<stringname="status_no_location">Votre position ne peut être déterminée. Vérifiez votre configuration dans \'Paramètres\', \'Sécurité et Localisation\'. Assurez-vous également que le ciel soit bien visible.</string>
<stringname="status_waypoint_inserted">Un point de passage a été inséré.</string>
<stringname="status_statistics_inserted">Une balise de statistiques a été insérée.</string>
<stringname="select_map_message">Choisissez une carte de votre compte :</string>
<stringname="create_new_map">Création d\'une nouvelle carte en cours...</string>
<stringname="map_list_title">Envoyer à Google Mes cartes</string>
<stringname="maps_list_loading">Chargements de vos cartes...</string>
<stringname="maps_list_failed">Vos cartes n\'ont pu être chargées</string>
<stringname="open_map">Sélectionnez la carte</string>
<stringname="edit_map_details">Consulter les détails de la carte</string>
<stringname="share_map">Partager.</string>
<stringname="share_track">Partager des parcours.</string>
<stringname="delete_map">Supprimer la carte de votre compte.</string>
<stringname="map_title">Titre de la carte :</string>
<stringname="map_description">Description de la carte :</string>
<stringname="map_searchable_edit">Rendre cette carte et son contenu visibles dans les résultats de recherche.</string>
<stringname="map_not_searchable_edit">Ne pas inclure cette carte et sont contenu dans les résultats de recherche. Ils seront cependant consultables par d\'autres utilisateurs en utilisant l\'adresse URL exacte</string>
<stringname="map_searchable">Cette carte et son contenu seront visibles dans les résultats de recherche</string>
<stringname="map_not_searchable">Ni cette carte, ni son contenu seront visible dans les résultats de recherche, mais ils seront consultables en utilisant l\'adresse URL exacte</string>
<stringname="close">Fermer</string>
<stringname="edit">Modifier</string>
<stringname="cancel">Annuler</string>
<stringname="save">Enregistrer</string>
<!-- Sharing -->
<stringname="share_map_subject">Je voudrais partager ma carte avec vous</string>
<stringname="share_map_body_format">Je pense que cette carte vous intéressera :
%s</string>
<stringname="send_track_subject">Je voudrais partager un parcours avec vous</string>
<stringname="send_track_body_format">Je pense que ce parcours vous intéressera.
Pour voir ce parcours, utilisez Google Earth ou tout autre logiciel de cartographie.</string>
<!-- Visibility -->
<stringname="unlisted_map">Carte non listée</string>
<stringname="mapslist_no_maps_available">Vous n\'avez par encore de carte personnalisée.</string>
<stringname="sendtogoogle_create_new_map">Créer une nouvelle carte</string>
<stringname="sendtogoogle_pick_existing_map">Choisir une carte</string>
<stringname="sendtogoogle_send_stats">Envoyer les statistiques du parcours</string>
<stringname="sendtogoogle_send_stats_and_points">Envoyer les statistiques et les balises</string>
<!-- Getting the account to upload to. -->
<stringname="no_account_found_title">Pas de compte Google</string>
<stringname="no_account_found">Un compte Google est nécessaire pour télécharger le parcours.</string>
<stringname="choose_account_title">Choisissez un compte</string>
<!-- SD card -->
<stringname="io_no_external_storage_found">Aucun emplacement externe de sauvegarde n\'a été trouvé. Assurez-vous qu\'une carte SD est insérée et que votre téléphone n\'est pas relié à un ordinateur.</string>
<stringname="io_write_failed">Impossible d\'écrire dans le fichier.</string>
<stringname="io_create_dir_failed">Impossible de créer un dossier dans la carte SD.</string>
<stringname="io_write_finished">Parcours enregistré sur la carte SD.</string>
<!-- VersionChecker -->
<stringname="version_check_title">Recherche mise à jour</string>
<stringname="version_check_upgrade_button">Installer mise à jour</string>
<stringname="version_check_continue_button">Continuer sans installer mise à jour</string>
<stringname="upgrade_required">Votre version %1$s est obsolète et n\'est plus supportée. Installer les mises à jour afin de pouvoir continuer à utiliser %1$s.</string>
<stringname="upgrade_recommended">Votre version %1$s est obsolète et n\'est plus supportée. Vous pouvez installer les mises à jour ou continuer à l\'utiliser à vos propres risques. Certaines fonctionalités comme la synchronisation avec le serveur risquent de ne pas fonctionner tant que vous n\'installerez pas la mise à jour.</string>
<stringname="upgrade_available">Une nouvelle version %1$s est disponible. Vous pouvez continuer à utiliser la version actuelle sans rencontrer de problèmes mais vous de disposerez pas des dernières fonctionnalités tant que vous n\'aurez pas installé les mises à jour.</string>
<!-- Welcome -->
<stringname="welcome">Bienvenue</string>
<stringname="welcome_about">À propos de My Tracks</string>
<!-- Announcement -->
<stringname="announce_no_distance">My Tracks pas de distance disponible</string>
<!-- Format:
$1 : Distance label
$2 : Distance value (5)
$3 : Distance units (mi, km)
$4 : Time description (10 minutes 5 seconds)
$5 : Speed value (5.6) : Pace value (5 minutes 6 seconds)
$6 : Speed units (mph) : Pace units (per mile)
-->
<stringname="announce_template">My Tracks %1$s %2$.2f %3$s en %4$s at %5$s %6$s</string>
<stringname="error_no_location_manager">Nessuna fonte di posizione trovata su questo dispositivo.</string>
<stringname="error_no_gps_location_provider">Nessuna fonte di posizione GPS trovata su questo dispositivo.</string>
<stringname="error_sending_to_mymap">Si è verificato un errore nell\'invio del percorso a «Le mie mappe». Per favore riprova più tardi.</string>
<stringname="error_sending_to_docs">Si è verificato un errore nell\'invio del percorso a Google Docs. Per favore riporva più tardi.</string>
<stringname="error_unable_to_start_recording">Impossibile iniziare la registrazione. Riprova.</string>
<stringname="error_unable_to_stop_recording">Impossibile fermare la registrazione. Riprova.</string>
<stringname="error_unable_to_read_file">Impossibile leggere da un file.</string>
<stringname="error_invalid_gpx_format">Il file non contiene dati validi in formato GPX.</string>
<stringname="error_generic">Si è verificato un errore. Per favore riprova.</string>
<stringname="error_track_does_not_exist">Il percorso non esiste.</string>
<stringname="error_out_of_memory">Il file è troppo grande (dev\'essere meno di 500 KB). Azione abbandonata.</string>
<stringname="error_unable_to_insert_marker">Impossibile inserire il segnaposto. La posizione corrente non è disponibile.</string>
<!-- Status messages -->
<stringname="wait_for_fix">Sto aspettando il fix del GPS. Accertati che il cielo sia visibile.</string>
<stringname="status_now_recording">Sto registrando un nuovo percorso.</string>
<stringname="status_stopped_recording">Registrazione del percorso terminata.</string>
<stringname="status_new_mymap_has_been_created">Una nuova mappa è stata creata in «Le mie mappe» su maps.google.com.</string>
<stringname="status_tracks_have_been_uploaded">Il tuo percorso è stato inviato a maps.google.com.</string>
<stringname="status_tracks_have_been_uploaded_to_new_doc">Il tuo percorso è stato inviato ad un nuovo foglio di calcolo su docs.google.com.</string>
<stringname="status_tracks_have_been_uploaded_to_docs">Il tuo percorso è stato inviato a docs.google.com.</string>
<stringname="status_mymap_info">Potrebbe essere necessario aspettare qualche minuto prima che i nuovi percorsi siano visibili.</string>
<stringname="status_enable_gps">Premi qui per andare a «Impostazioni di posizione e protezione» e attiva «Utilizza satelliti GPS». Poi premi il tasto di ritorno per tornare qui.</string>
<stringname="status_approximate_location">Nota: la posizione indicata è un\'approssimazione determinata in base alle antenne cellulari e reti WIFI vicine.</string>
<stringname="status_no_location">La posizione non può essere determinata. Attiva più fonti di posizione (vedi «Impostazioni di posizione e protezione») e eccertati che il cielo sia visibile. Riprova più tardi.</string>
<stringname="status_waypoint_inserted">Inserito un punto di passaggio.</string>
<stringname="status_statistics_inserted">Inserito un segnaposto con statistiche.</string>
<!-- Progress dialog -->
<stringname="progress_title">Attendi per favore...</string>
<stringname="progress_message">Invio del percorso a Google in corso.</string>
<stringname="progress_message_reading_track">Lettura in corso...</string>
<stringname="progress_message_preparing_track">Elaborazione del percorso in corso...</string>
<stringname="progress_message_authenticating_mymaps">Autenticazione a Google Maps in corso...</string>
<stringname="progress_message_authenticating_docs">Autenticazione a Google Docs in corso...</string>
<stringname="progress_message_sending_docs">Invio del percorso a Google Docs in corso...</string>
<stringname="progress_message_sending_mymaps">Invio del percorso a Google Maps in corso...</string>
<stringname="progress_message_creating_map">Creazione di una nuova mappa in «Le mie mappe» in corso...</string>
<stringname="import_progress_message">Importazione del percorso GPS in corso. Attendere prego...</string>
<stringname="write_progress_message">Salvataggio del file sulla scheda SD in corso. Attendere prego...</string>
<stringname="progress_message_updating_track">Aggiornamento delle statistiche del percorso in corso...</string>
<stringname="settings_announcement_frequency">Intervallo fra due annunci:</string>
<stringname="settings_announcement_frequency_summary">Tempo minimo fra due annunci audio</string>
<stringname="settings_announcement_not_available_summary">Gli annunci audio non sono disponibili in questa varsione di Android</string>
<stringname="settings_min_recording_distance">Distanza minima fra due punti successivi:</string>
<stringname="settings_min_recording_distance_summary">Distanza minima fra due successive registrazioni della posizione</string>
<stringname="settings_max_recording_distance">Inizia un nuovo segmento se i punti sono più distanti di:</string>
<stringname="settings_max_recording_distance_summary">Se due punti sono più lontani di così, il percorso sarà diviso percorsi più brevi</string>
<stringname="settings_min_recording_interval">Frequenza di registrazione:</string>
<stringname="settings_min_recording_interval_summary">Tempo minimo fra due successive registrazioni della posizione</string>
<stringname="settings_min_required_accuracy">Fai una pausa nella registrazione se l\'accuratezza scende al disotto di:</string>
<stringname="settings_min_required_accuracy_summary">La registrazione verrà temporaneamente interrotta se l\'accuratezza della posizione è meno di questo valore</string>
<stringname="settings_metric_units">Mostra le distanze nel sistema metrico decimale</string>
<stringname="settings_metric_units_summary_on">Tutte le distanze verranno mostrate nel sistema metrico decimale</string>
<stringname="settings_metric_units_summary_off">Tutte le distanze saranno mostrate nel sistema imperiale</string>
<stringname="settings_map_public">Rendi pubbliche le mappe su maps.google.com</string>
<stringname="settings_map_public_summary_on">Le mappe inviate a maps.google.com saranno visibili a chiunque</string>
<stringname="settings_map_public_summary_off">Le mappe inviate a maps.google.com non saranno rese pubbliche</string>
<stringname="settings_share_url_only">Invia solo l\'URL nei messaggi di condivisione</string>
<stringname="settings_share_url_only_summary_on">Solo l\'URL della mappa sarà inviata quando condividi un percorso</string>
<stringname="settings_share_url_only_summary_off">Anche il contenuto del percorso sarà inviato quando condividi un persorso</string>
<stringname="settings_signal_sampling_frequency">Frequenza di campionamento</string>
<stringname="settings_signal_sampling_frequency_summary">Tempo fra due registrazioni della qualità del segnale cellulare</string>
<stringname="settings_split_frequency">Frequenza di divisione</string>
<stringname="settings_split_frequency_summary">Tempo o distanza massima dopo di cui il percorso verrà diviso</string>
<stringname="pace_label">Andatura</string>
<!-- MyTracksSky -->
<stringname="mytracks_sky">Satelliti GPS</string>
<!-- My Maps -->
<stringname="select_map_message">Scegli una mappa dal tuo account:</string>
<stringname="create_new_map">Crea una nuova mappa...</string>
<stringname="map_list_title">Invia a «Le mie mappe» di Google</string>
<stringname="maps_list_loading">Caricamento mappe in corso...</string>
<stringname="maps_list_failed">Le tue mappe non possono momentaneamente essere caricate!</string>
<stringname="open_map">Scegli questa mappa</string>
<stringname="edit_map_details">Modifica dettagli della mappa</string>
<stringname="share_map">Condividi la mappa con amici</string>
<stringname="share_track">Condividi il percorso con amici</string>
<stringname="delete_map">Elimina la mappa dal tuo account</string>
<stringname="map_title">Titolo della mappa:</string>
<stringname="map_description">Descrizione della mappa:</string>
<stringname="map_searchable_edit">Rendi questa mappa e il suo contenuto visibili fra i risultati di ricerche</string>
<stringname="map_not_searchable_edit">Rendi questa mappa e il suo contenuto invisibili fra i risultati di ricerche. Resteranno comunque visibili ad altri utilizzando l\'indirizzo URL esatto</string>
<stringname="map_searchable">Questa mappa e il suo contenuto saranno visibili fra i risultati di ricerche</string>
<stringname="map_not_searchable">Né questa mappa né il suo contenuto saranno visibili in risultati di ricerche, ma saranno comunque visibili ad altri tramite un link diretto.</string>
<stringname="close">Chiudi</string>
<stringname="edit">Modifica</string>
<stringname="cancel">Annulla</string>
<stringname="save">Salva</string>
<!-- Sharing -->
<stringname="share_map_subject">Vorrei condividere una mappa con te</string>
<stringname="share_map_body_format">Credo che questa mappa potrebbe interessarti:
%s</string>
<stringname="send_track_subject">Vorrei condividere un percorso con te</string>
<stringname="send_track_body_format">Credo che questo percorso potrebbe interessarti.
Per vedere questo percorso, usa Google Earth o un altro software di cartografia.</string>
<!-- Visibility -->
<stringname="public_map">Pubblica</string>
<stringname="unlisted_map">Privata</string>
<stringname="mapslist_no_maps_available">Non hai ancora alcuna mappa.</string>
<!-- Statistics View -->
<!-- Average Moving -->
<stringname="average_moving_speed_label">Velocità media in moto</string>
<stringname="average_moving_pace_label">Andatura media in moto</string>
<stringname="sendtogoogle_create_new_map">Crea una nuova mappa</string>
<stringname="sendtogoogle_pick_existing_map">Scegli una mappa esistente</string>
<stringname="sendtogoogle_send_stats">Invia statistiche del percorso</string>
<stringname="sendtogoogle_send_stats_and_points">Invia statistiche e segnaposti</string>
<!-- Getting the account to upload to. -->
<stringname="no_account_found_title">Account non trovato</string>
<stringname="no_account_found">Non ho trovato un account a cui inviare i percorsi.</string>
<stringname="choose_account_title">Scegli un account</string>
<!-- SD card -->
<stringname="io_no_external_storage_found">Nessuna memoria esterna trovata. Assicurati che la scheda SD sia inserita e che il telefono no sia montato su un computer.</string>
<stringname="io_write_failed">Impossibile scrivere su file.</string>
<stringname="io_create_dir_failed">Impossibile creare directory sulla scheda SD.</string>
<stringname="io_write_finished">Finito di salvare il percorso sulla scheda SD.</string>
<stringname="version_check_continue_button">Continua senza aggiornare</string>
<stringname="upgrade_required">La tua versione di %1$s potrebbe non funzionare più correttamente e non è più supportata. Per favore installa l\'aggiornamento in modo da poter continuare a usare %1$s.</string>
<stringname="upgrade_recommended">La tua versione di %1$s potrebbe non funzionare più correttamente e non è più supportata. Puoi installare l\'aggiornamento adesso oppure continuare a usare %1$s a tuo rischio. Alcune funzionalità, ad es. la sincronizzazione con i server, potrebbero non funzionare senza l\'aggiornamento.</string>
<stringname="upgrade_available">Una nuova versione di %1$s è disponibile. Puoi continuare a usare la versione corrente senza problemi, ma non avrai le ultime funzionalità finché non installi l\'aggiornamento.</string>
<!-- Welcome -->
<stringname="welcome">Benvenuto</string>
<stringname="welcome_read_later">OK</string>
<stringname="welcome_about">Informazioni su My Tracks</string>
<!-- Announcement -->
<stringname="announce_no_distance">Mai Tracks Distanza non disponibile</string>
<!-- Format:
$1 : Distance label
$2 : Distance value (5)
$3 : Distance units (mi, km)
$4 : Time description (10 minutes 5 seconds)
$5 : Speed value (5.6) : Pace value (5 minutes 6 seconds)
$6 : Speed units (mph) : Pace units (per mile)
-->
<stringname="announce_template">Mai Tracks %1$s %2$.2f %3$s in %4$s a %5$s %6$s</string>
<stringname="status_new_mymap_has_been_created">Um novo Meu Mapa Google foi criado em maps.google.com.</string>
<stringname="status_tracks_have_been_uploaded">Seu caminho foi enviado para maps.google.com.</string>
<stringname="status_tracks_have_been_uploaded_to_new_doc">Seu caminho foi enviado para uma nova planilha em docs.google.com.</string>
<stringname="status_tracks_have_been_uploaded_to_docs">Seu caminho foi enviado para docs.google.com.</string>
<stringname="status_mymap_info">"Pode demorar alguns minutor para que novos caminhos apareçam.</string>
<stringname="status_enable_gps">"Por favor pressione aqui para ir aos ajustes de segurança e localização e verifique que o GPS esteja habilitado. Pressione o botão de voltar para retornar."</string>
<stringname="status_approximate_location">Nota: Uma localização aproximada, determinada por torres de telefonia celular, está sendo mostrada.</string>
<stringname="status_no_location">Sua localização não pôde ser determinada. Habilite fontes adicionais de localização (veja configurações de Segurança e Localização) e assegure-se de que o céu está visível.</string>
<stringname="status_waypoint_inserted">Um marcador de ponto de passagem foi inserido.</string>
<stringname="status_statistics_inserted">Um marcador de estatísticas foi inserido..</string>
<stringname="maps_list_failed">Seus mapas não puderam ser carregados neste momento!</string>
<stringname="open_map">Selecionar este Mapa</string>
<stringname="edit_map_details">Editar detalhes do mapa</string>
<stringname="share_map">Compartilhar mapa com amigos</string>
<stringname="share_track">Compartilhar caminho com amigos</string>
<stringname="delete_map">Apagar mapa da sua conta</string>
<stringname="map_title">Título do Mapa:</string>
<stringname="map_description">Descrição do Mapa:</string>
<stringname="map_searchable_edit">Fazer com que o conteúdo deste mapa apareça em resultados de buscas</string>
<stringname="map_not_searchable_edit">Não permitir que este mapa ou seu conteúdo apareçam em resultados de buscas, porém ele ainda pode ser visto por sua URL direta</string>
<stringname="map_searchable">Este mapa e seu conteúdo vão aparecer em resultados de buscas</string>
<stringname="map_not_searchable">Nem este mapa nem seu conteúdo vão aparecer em resultados de buscas, porém outras pessoas ainda podem vê-los se obtiverem sua URL direta</string>
<stringname="close">Fechar</string>
<stringname="edit">Editar</string>
<stringname="cancel">Cancelar</string>
<stringname="save">Salvar</string>
<!-- Sharing -->
<stringname="share_map_subject">Eu gostaria de compartilhar um mapa com você</string>
<stringname="share_map_body_format">Eu acredito que você pode se interessar por este mapa:
%s</string>
<stringname="send_track_subject">Eu gostaria de compartilhar um caminho com você</string>
<stringname="send_track_body_format">Eu acredito que você pode se interesasr por este caminho.
Para visualizar este caminho, use o Google Earth ou outro software de mapas.</string>
<!-- Visibility -->
<stringname="public_map">Público</string>
<stringname="unlisted_map">Não listado</string>
<stringname="mapslist_no_maps_available">Você ainda não tem nenhum mapa.</string>
<!-- Statistics View -->
<!-- Average Moving -->
<stringname="average_moving_speed_label">Velocidade Méd. em Movimento</string>
<stringname="average_moving_pace_label">Passo Médio em Movimento</string>
<stringname="io_no_external_storage_found">Nenhum armazenamento externo foi encontrado. Assegure-se de que um cartão SD esteja inserido e que seu telefone não esteja montado em um computador.</string>
<stringname="version_check_continue_button">Continuar sem Atualizar</string>
<stringname="upgrade_required">Sua versão do %1$s pode não funcionar mais corretamente, e não é mais suportada. Por favor atualize para continuar usando %1$s.</string>
<stringname="upgrade_recommended">Sua versão do %1pode não funcionar mais corretamente. Você pode atualizar agora, ou continuar usando-a por seu próprio risco. Algumas funcionalidades como sincronização com servidores podem não funcionar até que atualize.</string>
<stringname="upgrade_available">Uma nova versão do %1$s está disponível. Você pode continuar a usar sua versão atual sem problemas, porém não terá acesso aos novos recursos até que atualize.</string>
<!-- Welcome -->
<stringname="welcome">Bem-vindo</string>
<stringname="welcome_about">Sobre My Tracks</string>
<!-- Announcement -->
<stringname="announce_no_distance">My Tracks sem distância</string>
<!-- Format:
$1 : Distance label
$2 : Distance value (5)
$3 : Distance units (mi, km)
$4 : Time description (10 minutes 5 seconds)
$5 : Speed value (5.6) : Pace value (5 minutes 6 seconds)
$6 : Speed units (mph) : Pace units (per mile)
-->
<stringname="announce_template">My Tracks %1$s %2$.2f %3$s em %4$s a %5$s %6$s</string>
<stringname="error_track_does_not_exist">Track does not exist.</string>
<stringname="error_out_of_memory">This file is too big (must be less than 500 KB). Aborting.</string>
<stringname="error_unable_to_insert_marker">Unable to insert marker. No location fix available.</string>
<!-- Status messages -->
<stringname="wait_for_fix">Waiting for a better GPS fix. Make sure the sky is visible.</string>
<stringname="status_now_recording">Now recording a new track.</string>
<stringname="status_stopped_recording">Stopped recording your track.</string>
<stringname="status_new_mymap_has_been_created">A new Google My Map has been created at maps.google.com.</string>
<stringname="status_tracks_have_been_uploaded">Your track has been sent to maps.google.com.</string>
<stringname="status_tracks_have_been_uploaded_to_new_doc">Your track has been sent to a new spreadsheet at docs.google.com.</string>
<stringname="status_tracks_have_been_uploaded_to_docs">Your track has been sent to docs.google.com.</string>
<stringname="status_mymap_info">It may sometimes take a few minutes before new tracks appear.</string>
<stringname="status_enable_gps">Please tap here to go to Security and Location Settings and check \'enable GPS satellites\'. Press back button to return.</string>
<stringname="status_approximate_location">Note: An approximate location as determined from cell towers and WIFI networks is shown.</string>
<stringname="status_no_location">A location can currently not be determined. Enable more location sources (see Security and Location Settings) and make sure the sky is visible. Try again later.</string>
<stringname="status_waypoint_inserted">A way point marker was inserted.</string>
<stringname="status_statistics_inserted">A statistics marker was inserted.</string>
<stringname="map_searchable_edit">Make this map and its contents show up in search results</string>
<stringname="map_not_searchable_edit">Do not let this map or its contents show up in search results, though they may still be viewed be others through the direct URL</string>
<stringname="map_searchable">This map and its contents will show in search results</string>
<stringname="map_not_searchable">Neither this map nor its contents will show in search results, but they may still be viewed by others through a direct link</string>
<stringname="close">Close</string>
<stringname="edit">Edit</string>
<stringname="cancel">Cancel</string>
<stringname="save">Save</string>
<!-- Sharing -->
<stringname="share_map_subject">I would like to share a map with you</string>
<stringname="share_map_body_format">I think you might be interested in this map:
%s</string>
<stringname="send_track_subject">I would like to share a track with you</string>
<stringname="send_track_body_format">I think you might be interested in this track.
To view this track use Google Earth or other mapping software.</string>
<!-- Visibility -->
<stringname="public_map">Public</string>
<stringname="unlisted_map">Unlisted</string>
<stringname="mapslist_no_maps_available">You don\'t have any maps, yet.</string>
<stringname="io_no_external_storage_found">No external storage was found. Make sure that a SD card is inserted and that your phone is not mounted to a computer.</string>
<stringname="io_write_failed">Unable to write to file.</string>
<stringname="io_create_dir_failed">Unable to create directory on SD card.</string>
<stringname="io_write_finished">Finished writing the track to SD card.</string>
<stringname="version_check_continue_button">Continue Without Upgrading</string>
<stringname="upgrade_required">Your version of %1$s may no longer work properly, and is no longer supported. Please upgrade in order to continue using %1$s.</string>
<stringname="upgrade_recommended">Your version of %1$s may no longer work properly. You may upgrade it now, or continue to use it at your own risk. Some functionality such as server synchronization may not function until you upgrade.</string>
<stringname="upgrade_available">A new version of %1$s is available. You may continue to use your current version without problems, but you won\'t get the latest features until you upgrade.</string>
<!-- Welcome -->
<stringname="welcome">Welcome</string>
<stringname="welcome_read_later">Ok</string>
<stringname="welcome_about">About My Tracks</string>
<!-- Announcement -->
<stringname="announce_no_distance">My Tracks no distance</string>
<!-- Format:
$1 : Distance label
$2 : Distance value (5)
$3 : Distance units (mi, km)
$4 : Time description (10 minutes 5 seconds)
$5 : Speed value (5.6) : Pace value (5 minutes 6 seconds)
$6 : Speed units (mph) : Pace units (per mile)
-->
<stringname="announce_template">My Tracks %1$s %2$.2f %3$s in %4$s at %5$s %6$s</string>
<!-- Check Units -->
<stringname="check_units_title">Units of Measure Notice</string>
<stringname="check_units_message">By default units are metric. Would you like to change that setting?</string>
Log.d("My Google Maps","Generated kml:\n"+entry.getContent());
Log.d("My Google Maps","Edit URI: "+entry.getEditUri());
}catch(IOExceptione){
e.printStackTrace();
}
returnentry;
}
}
Some files were not shown because too many files have changed in this diff
Show More
Reference in New Issue
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.