merge heads
@@ -19,22 +19,18 @@ limitations under the License.
|
||||
android:versionCode="39"
|
||||
android:versionName="1.1.16"
|
||||
package="com.google.android.maps.mytracks" >
|
||||
|
||||
<!-- Permission to initialize services -->
|
||||
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
|
||||
|
||||
<!-- Permissions to record locations -->
|
||||
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
|
||||
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
|
||||
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
|
||||
<uses-permission android:name="android.permission.WAKE_LOCK" />
|
||||
|
||||
<!-- Permissions to access sensors -->
|
||||
<uses-permission android:name="com.dsi.ant.permission.ANT" />
|
||||
<uses-permission android:name="com.dsi.ant.permission.ANT_ADMIN" />
|
||||
<uses-permission android:name="android.permission.BLUETOOTH" />
|
||||
<uses-permission android:name="android.permission.BLUETOOTH_ADMIN" />
|
||||
|
||||
<!-- Permissions to upload tracks -->
|
||||
<uses-permission android:name="android.permission.GET_ACCOUNTS" />
|
||||
<uses-permission android:name="android.permission.INTERNET" />
|
||||
@@ -46,18 +42,14 @@ limitations under the License.
|
||||
<uses-permission android:name="com.google.android.googleapps.permission.GOOGLE_AUTH.wise" />
|
||||
<uses-permission android:name="com.google.android.googleapps.permission.GOOGLE_AUTH.writely" />
|
||||
<uses-permission android:name="com.google.android.providers.gsf.permission.READ_GSERVICES" />
|
||||
|
||||
<!-- Permission to read phone state so voice announcement will not interrupt ongoing calls -->
|
||||
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
|
||||
|
||||
<!-- Permission to write to SD card -->
|
||||
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
|
||||
|
||||
<!-- Permissions to access My Tracks data -->
|
||||
<uses-permission android:name="com.google.android.apps.mytracks.MYTRACKS_NOTIFICATIONS" />
|
||||
<uses-permission android:name="com.google.android.apps.mytracks.READ_TRACK_DATA" />
|
||||
<uses-permission android:name="com.google.android.apps.mytracks.WRITE_TRACK_DATA" />
|
||||
|
||||
<!-- Permission to receive My Tracks internal broadcasts -->
|
||||
<permission
|
||||
android:description="@string/permission_notification_label"
|
||||
@@ -86,11 +78,9 @@ limitations under the License.
|
||||
android:name="com.google.android.apps.mytracks.WRITE_TRACK_DATA"
|
||||
android:permissionGroup="android.permission-group.LOCATION"
|
||||
android:protectionLevel="dangerous" />
|
||||
|
||||
<uses-sdk
|
||||
android:minSdkVersion="7"
|
||||
android:targetSdkVersion="15" />
|
||||
|
||||
<!-- Required features -->
|
||||
<uses-feature
|
||||
android:name="android.hardware.location"
|
||||
@@ -98,7 +88,6 @@ limitations under the License.
|
||||
<uses-feature
|
||||
android:name="android.hardware.location.gps"
|
||||
android:required="true" />
|
||||
|
||||
<!-- Optional features -->
|
||||
<uses-feature
|
||||
android:name="android.hardware.bluetooth"
|
||||
@@ -124,46 +113,38 @@ limitations under the License.
|
||||
<uses-feature
|
||||
android:name="android.hardware.touchscreen.multitouch"
|
||||
android:required="false" />
|
||||
|
||||
<supports-screens
|
||||
android:anyDensity="true"
|
||||
android:largeScreens="true"
|
||||
android:normalScreens="true"
|
||||
android:smallScreens="true"
|
||||
android:xlargeScreens="true" />
|
||||
|
||||
<application
|
||||
android:backupAgent="com.google.android.apps.mytracks.io.backup.MyTracksBackupAgent"
|
||||
android:icon="@drawable/arrow_icon"
|
||||
android:label="@string/my_tracks_app_name"
|
||||
android:name="com.google.android.apps.mytracks.MyTracksApplication"
|
||||
android:theme="@style/ThemeSelector" >
|
||||
|
||||
<!-- For data backup -->
|
||||
<meta-data
|
||||
android:name="com.google.android.backup.api_key"
|
||||
android:value="AEdPqrEAAAAIi-_QiwoRSc9_bAC9cmuNXTQyU8ajJmGtKdhskQ" />
|
||||
|
||||
<!-- Activities -->
|
||||
<activity
|
||||
android:label="@string/menu_aggregated_statistics"
|
||||
android:name="com.google.android.apps.mytracks.AggregatedStatsActivity" />
|
||||
<activity android:name="com.google.android.apps.mytracks.ExportActivity"/>
|
||||
<activity android:name="com.google.android.apps.mytracks.ExportActivity" />
|
||||
<activity
|
||||
android:label="@string/menu_help"
|
||||
android:name="com.google.android.apps.mytracks.HelpActivity" />
|
||||
<activity
|
||||
android:label="@string/my_tracks_importer"
|
||||
android:name="com.google.android.apps.mytracks.ImportActivity"
|
||||
android:noHistory="true"
|
||||
android:theme="@android:style/Theme.Translucent.NoTitleBar" >
|
||||
android:name="com.google.android.apps.mytracks.ImportActivity" >
|
||||
<intent-filter>
|
||||
|
||||
<action android:name="android.intent.action.ATTACH_DATA" />
|
||||
<action android:name="android.intent.action.VIEW" />
|
||||
|
||||
<category android:name="android.intent.category.BROWSABLE" />
|
||||
<category android:name="android.intent.category.DEFAULT" />
|
||||
|
||||
<data android:mimeType="application/gpx" />
|
||||
<data android:mimeType="application/gpx+xml" />
|
||||
<data android:mimeType="application/vnd.google-earth.gpx" />
|
||||
@@ -186,7 +167,6 @@ limitations under the License.
|
||||
<intent-filter>
|
||||
<action android:name="android.intent.action.SEARCH" />
|
||||
</intent-filter>
|
||||
|
||||
<meta-data
|
||||
android:name="android.app.searchable"
|
||||
android:resource="@xml/search" />
|
||||
@@ -196,37 +176,25 @@ limitations under the License.
|
||||
android:name="com.google.android.apps.mytracks.SensorStateActivity" />
|
||||
<activity
|
||||
android:label="@string/settings_title"
|
||||
android:name="com.google.android.apps.mytracks.SettingsActivity" >
|
||||
<intent-filter>
|
||||
<category android:name="android.intent.category.PREFERENCE" />
|
||||
</intent-filter>
|
||||
</activity>
|
||||
android:name="com.google.android.apps.mytracks.SettingsActivity" />
|
||||
<activity android:name="com.google.android.apps.mytracks.TrackDetailActivity" />
|
||||
<activity android:name="com.google.android.apps.mytracks.TrackEditActivity" />
|
||||
<activity
|
||||
android:name="com.google.android.apps.mytracks.TrackEditActivity"
|
||||
android:windowSoftInputMode="stateHidden" />
|
||||
<activity android:name="com.google.android.apps.mytracks.TrackListActivity" >
|
||||
<intent-filter>
|
||||
<action android:name="android.intent.action.MAIN" />
|
||||
|
||||
<category android:name="android.intent.category.LAUNCHER" />
|
||||
</intent-filter>
|
||||
<meta-data
|
||||
android:name="android.app.default_searchable"
|
||||
android:value="com.google.android.apps.mytracks.SearchListActivity" />
|
||||
</activity>
|
||||
<activity android:name="com.google.android.apps.mytracks.io.backup.BackupActivity"/>
|
||||
<activity android:name="com.google.android.apps.mytracks.io.backup.RestoreActivity"/>
|
||||
<activity android:name="com.google.android.apps.mytracks.io.backup.RestoreChooserActivity"/>
|
||||
<activity android:name="com.google.android.apps.mytracks.io.backup.BackupActivity" />
|
||||
<activity android:name="com.google.android.apps.mytracks.io.backup.RestoreActivity" />
|
||||
<activity android:name="com.google.android.apps.mytracks.io.backup.RestoreChooserActivity" />
|
||||
<activity android:name="com.google.android.apps.mytracks.io.docs.SendDocsActivity" />
|
||||
<activity
|
||||
android:name="com.google.android.apps.mytracks.io.file.SaveActivity"
|
||||
android:noHistory="true"
|
||||
android:theme="@android:style/Theme.Translucent.NoTitleBar" >
|
||||
<intent-filter>
|
||||
<action android:name="android.intent.action.SAVE" />
|
||||
|
||||
<data android:mimeType="vnd.android.cursor.item/vnd.google.track" />
|
||||
</intent-filter>
|
||||
</activity>
|
||||
<activity android:name="com.google.android.apps.mytracks.io.file.SaveActivity" />
|
||||
<activity android:name="com.google.android.apps.mytracks.io.fusiontables.SendFusionTablesActivity" />
|
||||
<activity
|
||||
android:label="@string/maps_list_title"
|
||||
@@ -235,7 +203,7 @@ limitations under the License.
|
||||
<activity android:name="com.google.android.apps.mytracks.io.sendtogoogle.AccountChooserActivity" />
|
||||
<activity android:name="com.google.android.apps.mytracks.io.sendtogoogle.UploadResultActivity" />
|
||||
<activity android:name="com.google.android.apps.mytracks.io.sendtogoogle.UploadServiceChooserActivity" />
|
||||
|
||||
<!-- Services -->
|
||||
<service
|
||||
android:exported="false"
|
||||
android:name="com.google.android.apps.mytracks.services.ControlRecordingService" />
|
||||
@@ -247,7 +215,7 @@ limitations under the License.
|
||||
android:label="@string/my_tracks_recording_service"
|
||||
android:name="com.google.android.apps.mytracks.services.TrackRecordingService"
|
||||
android:permission="com.google.android.apps.mytracks.WRITE_TRACK_DATA" />
|
||||
|
||||
<!-- Receivers -->
|
||||
<receiver android:name="com.google.android.apps.mytracks.BootReceiver" >
|
||||
<intent-filter>
|
||||
<action android:name="android.intent.action.BOOT_COMPLETED" />
|
||||
@@ -259,12 +227,11 @@ limitations under the License.
|
||||
<action android:name="com.google.android.apps.mytracks.TRACK_STARTED" />
|
||||
<action android:name="com.google.android.apps.mytracks.TRACK_STOPPED" />
|
||||
</intent-filter>
|
||||
|
||||
<meta-data
|
||||
android:name="android.appwidget.provider"
|
||||
android:resource="@xml/track_widget_info" />
|
||||
</receiver>
|
||||
|
||||
<!-- Providers -->
|
||||
<!-- My Tracks data provider -->
|
||||
<provider
|
||||
android:authorities="com.google.android.maps.mytracks"
|
||||
@@ -277,8 +244,6 @@ limitations under the License.
|
||||
android:authorities="com.google.android.maps.mytracks.search"
|
||||
android:exported="false"
|
||||
android:name="com.google.android.apps.mytracks.content.SearchEngineProvider" />
|
||||
|
||||
<uses-library android:name="com.google.android.maps" />
|
||||
</application>
|
||||
|
||||
</manifest>
|
||||
|
Before Width: | Height: | Size: 3.0 KiB |
|
Before Width: | Height: | Size: 2.9 KiB |
|
Before Width: | Height: | Size: 1.5 KiB |
|
Before Width: | Height: | Size: 3.4 KiB |
|
After Width: | Height: | Size: 1.5 KiB |
|
After Width: | Height: | Size: 1.4 KiB |
|
After Width: | Height: | Size: 1.3 KiB |
|
After Width: | Height: | Size: 1.8 KiB |
|
After Width: | Height: | Size: 1.8 KiB |
|
After Width: | Height: | Size: 1.4 KiB |
|
After Width: | Height: | Size: 1.7 KiB |
|
After Width: | Height: | Size: 2.0 KiB |
|
After Width: | Height: | Size: 1.4 KiB |
|
After Width: | Height: | Size: 1.4 KiB |
|
After Width: | Height: | Size: 1.1 KiB |
|
After Width: | Height: | Size: 1.4 KiB |
|
After Width: | Height: | Size: 2.0 KiB |
|
After Width: | Height: | Size: 1.2 KiB |
|
Before Width: | Height: | Size: 1.2 KiB |
|
Before Width: | Height: | Size: 1.5 KiB |
|
Before Width: | Height: | Size: 1.4 KiB |
|
Before Width: | Height: | Size: 1.1 KiB |
|
Before Width: | Height: | Size: 1.5 KiB |
|
Before Width: | Height: | Size: 1.2 KiB |
|
Before Width: | Height: | Size: 1.8 KiB |
|
Before Width: | Height: | Size: 1.8 KiB |
|
Before Width: | Height: | Size: 1.2 KiB |
|
Before Width: | Height: | Size: 2.0 KiB |
|
After Width: | Height: | Size: 1.3 KiB |
|
After Width: | Height: | Size: 1.2 KiB |
|
After Width: | Height: | Size: 1.1 KiB |
|
Before Width: | Height: | Size: 913 B |
|
After Width: | Height: | Size: 1.4 KiB |
|
After Width: | Height: | Size: 1.5 KiB |
|
After Width: | Height: | Size: 1.2 KiB |
|
After Width: | Height: | Size: 1.4 KiB |
|
After Width: | Height: | Size: 1.6 KiB |
|
After Width: | Height: | Size: 1.4 KiB |
|
After Width: | Height: | Size: 1.2 KiB |
|
After Width: | Height: | Size: 1.2 KiB |
|
After Width: | Height: | Size: 1.2 KiB |
|
After Width: | Height: | Size: 1.6 KiB |
|
After Width: | Height: | Size: 1.1 KiB |
|
After Width: | Height: | Size: 1.6 KiB |
|
After Width: | Height: | Size: 1.5 KiB |
|
After Width: | Height: | Size: 1.3 KiB |
|
After Width: | Height: | Size: 2.0 KiB |
|
After Width: | Height: | Size: 2.2 KiB |
|
After Width: | Height: | Size: 1.4 KiB |
|
After Width: | Height: | Size: 2.2 KiB |
|
After Width: | Height: | Size: 2.5 KiB |
|
After Width: | Height: | Size: 1.6 KiB |
|
After Width: | Height: | Size: 1.6 KiB |
|
After Width: | Height: | Size: 1.3 KiB |
|
After Width: | Height: | Size: 1.5 KiB |
|
After Width: | Height: | Size: 2.5 KiB |
|
After Width: | Height: | Size: 1.3 KiB |
@@ -15,64 +15,35 @@ See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
-->
|
||||
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:layout_height="fill_parent"
|
||||
android:layout_width="fill_parent" >
|
||||
|
||||
style="@style/ScrollView" >
|
||||
<LinearLayout
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_width="fill_parent"
|
||||
android:orientation="vertical"
|
||||
android:padding="8dp" >
|
||||
|
||||
<TextView
|
||||
android:drawableLeft="@drawable/arrow_icon"
|
||||
android:drawablePadding="8dp"
|
||||
android:gravity="center"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_width="wrap_content"
|
||||
style="@android:style/TextAppearance.DeviceDefault.Medium"
|
||||
android:text="@string/about_copyright_notice" />
|
||||
|
||||
android:text="@string/about_copyright_notice"
|
||||
style="@style/TextMedium.WithIcon" />
|
||||
<TextView
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_width="wrap_content"
|
||||
style="@android:style/TextAppearance.DeviceDefault.Large"
|
||||
android:text="@string/about_version" />
|
||||
|
||||
android:text="@string/about_version"
|
||||
style="@style/TextLarge" />
|
||||
<TextView
|
||||
android:id="@+id/about_version"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_width="wrap_content"
|
||||
android:paddingLeft="48dp"
|
||||
style="@android:style/TextAppearance.DeviceDefault.Medium" />
|
||||
|
||||
style="@style/AboutValue" />
|
||||
<TextView
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_width="wrap_content"
|
||||
style="@android:style/TextAppearance.DeviceDefault.Large"
|
||||
android:text="@string/about_support" />
|
||||
|
||||
android:text="@string/about_support"
|
||||
style="@style/TextLarge" />
|
||||
<TextView
|
||||
android:autoLink="web"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_width="wrap_content"
|
||||
android:paddingLeft="48dp"
|
||||
style="@android:style/TextAppearance.DeviceDefault.Medium"
|
||||
android:text="@string/my_tracks_support_url" />
|
||||
|
||||
android:text="@string/my_tracks_support_url"
|
||||
style="@style/AboutValue" />
|
||||
<TextView
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_width="wrap_content"
|
||||
style="@android:style/TextAppearance.DeviceDefault.Large"
|
||||
android:text="@string/about_privacy" />
|
||||
|
||||
android:text="@string/about_privacy"
|
||||
style="@style/TextLarge" />
|
||||
<TextView
|
||||
android:autoLink="web"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_width="wrap_content"
|
||||
android:paddingLeft="48dp"
|
||||
style="@android:style/TextAppearance.DeviceDefault.Medium"
|
||||
android:text="@string/my_tracks_privacy_url" />
|
||||
android:text="@string/my_tracks_privacy_url"
|
||||
style="@style/AboutValue" />
|
||||
</LinearLayout>
|
||||
|
||||
</ScrollView>
|
||||
@@ -1,6 +1,6 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!--
|
||||
Copyright 2010 Google Inc.
|
||||
Copyright 2012 Google Inc.
|
||||
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
@@ -14,6 +14,14 @@ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
-->
|
||||
<shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle">
|
||||
<gradient android:startColor="#ff999999" android:endColor="#ff777777" android:angle="270"/>
|
||||
</shape>
|
||||
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
style="@style/ScrollView">
|
||||
<TableLayout
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_width="fill_parent"
|
||||
android:padding="8dp"
|
||||
android:shrinkColumns="0,2"
|
||||
android:stretchColumns="0,2" >
|
||||
<include layout="@layout/stats_core" />
|
||||
</TableLayout>
|
||||
</ScrollView>
|
||||
@@ -0,0 +1,35 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!--
|
||||
Copyright 2010 Google Inc.
|
||||
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
You may obtain a copy of the License at
|
||||
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
-->
|
||||
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:layout_height="fill_parent"
|
||||
android:layout_width="fill_parent"
|
||||
android:orientation="vertical" >
|
||||
<LinearLayout
|
||||
android:id="@+id/chart_view_layout"
|
||||
android:layout_height="0dp"
|
||||
android:layout_weight="1"
|
||||
android:layout_width="fill_parent"
|
||||
android:orientation="vertical" >
|
||||
</LinearLayout>
|
||||
<ZoomControls
|
||||
android:background="@android:color/white"
|
||||
android:gravity="right"
|
||||
android:id="@+id/chart_zoom_controls"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_width="fill_parent"
|
||||
android:paddingRight="8dp" />
|
||||
</LinearLayout>
|
||||
@@ -15,87 +15,52 @@ See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
-->
|
||||
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:layout_height="fill_parent"
|
||||
android:layout_width="fill_parent" >
|
||||
|
||||
style="@style/ScrollView" >
|
||||
<LinearLayout
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_width="fill_parent"
|
||||
android:orientation="vertical"
|
||||
android:padding="8dp" >
|
||||
|
||||
<TextView
|
||||
android:drawableLeft="@drawable/x_axis"
|
||||
android:drawablePadding="8dp"
|
||||
android:gravity="bottom"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_width="wrap_content"
|
||||
style="@android:style/TextAppearance.DeviceDefault.Large"
|
||||
android:text="@string/chart_settings_x_axis" />
|
||||
|
||||
android:text="@string/chart_settings_x_axis"
|
||||
style="@style/TextLarge.WithIcon" />
|
||||
<RadioGroup
|
||||
android:id="@+id/chart_settings_x"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_width="wrap_content" >
|
||||
|
||||
<RadioButton
|
||||
android:id="@+id/chart_settings_by_distance"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_width="wrap_content"
|
||||
style="@android:style/TextAppearance.DeviceDefault.Medium"
|
||||
android:text="@string/chart_settings_by_distance" />
|
||||
|
||||
android:text="@string/chart_settings_by_distance"
|
||||
style="@style/TextMedium" />
|
||||
<RadioButton
|
||||
android:id="@+id/chart_settings_by_time"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_width="wrap_content"
|
||||
style="@android:style/TextAppearance.DeviceDefault.Medium"
|
||||
android:text="@string/chart_settings_by_time" />
|
||||
android:text="@string/chart_settings_by_time"
|
||||
style="@style/TextMedium" />
|
||||
</RadioGroup>
|
||||
|
||||
<TextView
|
||||
android:drawableLeft="@drawable/y_axis"
|
||||
android:drawablePadding="8dp"
|
||||
android:gravity="bottom"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_width="wrap_content"
|
||||
style="@android:style/TextAppearance.DeviceDefault.Large"
|
||||
android:text="@string/chart_settings_y_axis" />
|
||||
|
||||
android:text="@string/chart_settings_y_axis"
|
||||
style="@style/TextLarge.WithIcon" />
|
||||
<CheckBox
|
||||
android:id="@+id/chart_settings_elevation"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_width="wrap_content"
|
||||
style="@android:style/TextAppearance.DeviceDefault.Medium"
|
||||
android:text="@string/stat_elevation" />
|
||||
|
||||
android:text="@string/stats_elevation"
|
||||
style="@style/TextMedium" />
|
||||
<CheckBox
|
||||
android:id="@+id/chart_settings_speed"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_width="wrap_content"
|
||||
style="@android:style/TextAppearance.DeviceDefault.Medium"
|
||||
android:text="@string/stat_speed" />
|
||||
|
||||
android:text="@string/stats_speed"
|
||||
style="@style/TextMedium" />
|
||||
<CheckBox
|
||||
android:id="@+id/chart_settings_power"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_width="wrap_content"
|
||||
style="@android:style/TextAppearance.DeviceDefault.Medium"
|
||||
android:text="@string/sensor_state_power" />
|
||||
|
||||
android:text="@string/sensor_state_power"
|
||||
style="@style/TextMedium" />
|
||||
<CheckBox
|
||||
android:id="@+id/chart_settings_cadence"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_width="wrap_content"
|
||||
style="@android:style/TextAppearance.DeviceDefault.Medium"
|
||||
android:text="@string/sensor_state_cadence" />
|
||||
|
||||
android:text="@string/sensor_state_cadence"
|
||||
style="@style/TextMedium" />
|
||||
<CheckBox
|
||||
android:id="@+id/chart_settings_heart_rate"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_width="wrap_content"
|
||||
style="@android:style/TextAppearance.DeviceDefault.Medium"
|
||||
android:text="@string/sensor_state_heart_rate" />
|
||||
android:text="@string/sensor_state_heart_rate"
|
||||
style="@style/TextMedium" />
|
||||
</LinearLayout>
|
||||
|
||||
</ScrollView>
|
||||
@@ -14,32 +14,15 @@ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
-->
|
||||
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
<merge xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:layout_height="fill_parent"
|
||||
android:layout_width="fill_parent"
|
||||
android:orientation="vertical">
|
||||
<TextView
|
||||
android:background="@drawable/list_bar"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_width="fill_parent"
|
||||
android:padding="5dp"
|
||||
android:text="@string/maps_list_pick_map"
|
||||
android:textColor="@color/white"
|
||||
android:textSize="16sp"/>
|
||||
android:layout_width="fill_parent" >
|
||||
<ListView
|
||||
android:id="@+id/choose_map_list_view"
|
||||
android:layout_height="fill_parent"
|
||||
android:layout_weight="1"
|
||||
android:layout_width="fill_parent"
|
||||
android:padding="5dp"/>
|
||||
android:layout_width="fill_parent" />
|
||||
<TextView
|
||||
android:id="@+id/choose_map_empty_view"
|
||||
android:gravity="center"
|
||||
android:layout_height="fill_parent"
|
||||
android:layout_weight="1"
|
||||
android:layout_width="fill_parent"
|
||||
android:padding="5dp"
|
||||
android:textColor="@color/red"
|
||||
android:textSize="16sp"
|
||||
android:textStyle="bold"/>
|
||||
</LinearLayout>
|
||||
style="@style/ListEmptyTextView" >
|
||||
</TextView>
|
||||
</merge>
|
||||
|
||||
@@ -15,33 +15,23 @@ See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
-->
|
||||
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:gravity="center_vertical"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_width="fill_parent"
|
||||
android:minHeight="?android:attr/listPreferredItemHeight"
|
||||
android:orientation="vertical"
|
||||
android:paddingBottom="2dp"
|
||||
android:paddingTop="2dp">
|
||||
android:padding="8dp" >
|
||||
<TextView
|
||||
android:id="@+id/choose_map_list_item_title"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginLeft="6dp"
|
||||
android:layout_marginTop="6dp"
|
||||
android:layout_width="fill_parent"
|
||||
android:textColor="@color/white"
|
||||
android:textSize="18sp"
|
||||
android:textStyle="bold"
|
||||
android:singleLine="true"/>
|
||||
android:id="@+id/choose_map_item_title"
|
||||
android:singleLine="true"
|
||||
style="@style/TextLarge" />
|
||||
<TextView
|
||||
android:id="@+id/choose_map_list_item_description"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginLeft="6dp"
|
||||
android:layout_width="fill_parent"
|
||||
android:textSize="14sp"
|
||||
android:singleLine="true"/>
|
||||
android:id="@+id/choose_map_item_description"
|
||||
android:singleLine="false"
|
||||
android:textColor="@android:color/secondary_text_dark"
|
||||
style="@style/TextSmall" />
|
||||
<TextView
|
||||
android:id="@+id/choose_map_list_item_search_status"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginLeft="6dp"
|
||||
android:layout_width="fill_parent"
|
||||
android:textSize="14sp"
|
||||
android:singleLine="true"/>
|
||||
</LinearLayout>
|
||||
android:id="@+id/choose_map_item_search_status"
|
||||
android:singleLine="true"
|
||||
style="@style/TextSmall" />
|
||||
</LinearLayout>
|
||||
@@ -18,11 +18,8 @@ limitations under the License.
|
||||
android:layout_height="fill_parent"
|
||||
android:layout_width="fill_parent"
|
||||
android:orientation="vertical" >
|
||||
<ScrollView
|
||||
android:layout_height="0dp"
|
||||
android:layout_weight="1"
|
||||
android:layout_width="fill_parent" >
|
||||
<include layout="@layout/welcome" />
|
||||
<ScrollView style="@style/ScrollView.WithBottomButtons" >
|
||||
<include layout="@layout/help_content" />
|
||||
</ScrollView>
|
||||
<LinearLayout style="@style/BottomButtonBar" >
|
||||
<include layout="@layout/help_buttons" />
|
||||
|
||||
@@ -27,10 +27,13 @@ limitations under the License.
|
||||
android:orientation="horizontal" >
|
||||
<TextView
|
||||
android:id="@+id/list_item_name"
|
||||
style="@style/ListItemName" />
|
||||
android:singleLine="true"
|
||||
style="@style/TextLarge.WithIcon" />
|
||||
<TextView
|
||||
android:id="@+id/list_item_category"
|
||||
style="@style/ListItemCategory" />
|
||||
android:layout_marginLeft="8dp"
|
||||
android:singleLine="true"
|
||||
style="@style/TextSmall" />
|
||||
</LinearLayout>
|
||||
<LinearLayout
|
||||
android:layout_height="wrap_content"
|
||||
@@ -39,16 +42,18 @@ limitations under the License.
|
||||
<TextView
|
||||
android:id="@+id/list_item_total_time"
|
||||
android:layout_marginRight="8dp"
|
||||
style="@style/ListItemStat" />
|
||||
style="@style/ListItemStats" />
|
||||
<TextView
|
||||
android:id="@+id/list_item_total_distance"
|
||||
android:layout_marginRight="8dp"
|
||||
style="@style/ListItemStat" />
|
||||
style="@style/ListItemStats" />
|
||||
<TextView
|
||||
android:id="@+id/list_item_start_time"
|
||||
style="@style/ListItemStat" />
|
||||
style="@style/ListItemStats" />
|
||||
</LinearLayout>
|
||||
<TextView
|
||||
android:id="@+id/list_item_description"
|
||||
style="@style/ListItemDescription" />
|
||||
android:singleLine="false"
|
||||
android:textColor="@android:color/secondary_text_dark"
|
||||
style="@style/TextSmall" />
|
||||
</LinearLayout>
|
||||
@@ -0,0 +1,40 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!--
|
||||
Copyright 2010 Google Inc.
|
||||
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
You may obtain a copy of the License at
|
||||
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
-->
|
||||
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:layout_height="fill_parent"
|
||||
android:layout_width="fill_parent" >
|
||||
<!-- apiKey corresponds to certificate md5: 81:DF:A2:63:53:C7:6B:1E:6C:24:62:D4:91:1C:36:3A -->
|
||||
<com.google.android.maps.MapView
|
||||
android:apiKey="0TXoRmxTinrZKQ9JSazj-9A34XX6_lXsRvTpXWA"
|
||||
android:clickable="true"
|
||||
android:focusable="true"
|
||||
android:focusableInTouchMode="true"
|
||||
android:id="@+id/map_view"
|
||||
android:layout_height="fill_parent"
|
||||
android:layout_width="fill_parent" />
|
||||
<TextView
|
||||
android:background="@color/background_warning"
|
||||
android:drawableLeft="@android:drawable/ic_dialog_alert"
|
||||
android:gravity="center"
|
||||
android:id="@+id/map_message"
|
||||
android:layout_alignParentTop="true"
|
||||
android:layout_width="fill_parent"
|
||||
android:padding="8dp"
|
||||
android:textColor="@android:color/primary_text_dark"
|
||||
android:visibility="gone"
|
||||
style="@style/TextMedium.WithIcon" />
|
||||
</RelativeLayout>
|
||||
@@ -15,8 +15,7 @@ See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
-->
|
||||
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:layout_height="fill_parent"
|
||||
android:layout_width="fill_parent" >
|
||||
style="@style/ScrollView" >
|
||||
<LinearLayout
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_width="fill_parent"
|
||||
@@ -24,7 +23,7 @@ limitations under the License.
|
||||
android:padding="8dp" >
|
||||
<TextView
|
||||
android:id="@+id/marker_detail_name"
|
||||
style="@style/MarkerDetailLabel" />
|
||||
style="@style/TextLarge" />
|
||||
<LinearLayout
|
||||
android:id="@+id/marker_detail_waypoint_section"
|
||||
android:layout_height="wrap_content"
|
||||
@@ -32,131 +31,19 @@ limitations under the License.
|
||||
android:orientation="vertical" >
|
||||
<TextView
|
||||
android:id="@+id/marker_detail_marker_type"
|
||||
style="@style/MarkerDetailLabel" />
|
||||
style="@style/TextLarge" />
|
||||
<TextView
|
||||
android:id="@+id/marker_detail_description"
|
||||
style="@style/MarkerDetailLabel" />
|
||||
style="@style/TextLarge" />
|
||||
</LinearLayout>
|
||||
<TableLayout
|
||||
android:id="@+id/marker_detail_statistics_section"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_width="fill_parent"
|
||||
android:paddingTop="8dp"
|
||||
android:shrinkColumns="0,2"
|
||||
android:stretchColumns="0,2" >
|
||||
<!-- Total distance and max speed (fastest pace) -->
|
||||
<TableRow>
|
||||
<TextView
|
||||
android:text="@string/stat_total_distance"
|
||||
style="@style/MarkerDetailStatisticsLabel" />
|
||||
<TextView
|
||||
android:id="@+id/marker_detail_max_speed_label"
|
||||
android:layout_column="2"
|
||||
style="@style/MarkerDetailStatisticsLabel" />
|
||||
</TableRow>
|
||||
<TableRow>
|
||||
<TextView
|
||||
android:id="@+id/marker_detail_total_distance_value"
|
||||
style="@style/MarkerDetailStatisticsValue" />
|
||||
<TextView style="@style/MarkerDetailStatisticsSpacer" />
|
||||
<TextView
|
||||
android:id="@+id/marker_detail_max_speed_value"
|
||||
style="@style/MarkerDetailStatisticsValue" />
|
||||
</TableRow>
|
||||
<!-- Total time and average speed (average pace) -->
|
||||
<TableRow>
|
||||
<TextView
|
||||
android:text="@string/stat_total_time"
|
||||
style="@style/MarkerDetailStatisticsLabel" />
|
||||
<TextView
|
||||
android:id="@+id/marker_detail_average_speed_label"
|
||||
android:layout_column="2"
|
||||
style="@style/MarkerDetailStatisticsLabel" />
|
||||
</TableRow>
|
||||
<TableRow>
|
||||
<TextView
|
||||
android:id="@+id/marker_detail_total_time_value"
|
||||
style="@style/MarkerDetailStatisticsValue" />
|
||||
<TextView style="@style/MarkerDetailStatisticsSpacer" />
|
||||
<TextView
|
||||
android:id="@+id/marker_detail_average_speed_value"
|
||||
style="@style/MarkerDetailStatisticsValue" />
|
||||
</TableRow>
|
||||
<!-- Moving time and average moving speed (average moving pace) -->
|
||||
<TableRow>
|
||||
<TextView
|
||||
android:text="@string/stat_moving_time"
|
||||
style="@style/MarkerDetailStatisticsLabel" />
|
||||
<TextView
|
||||
android:id="@+id/marker_detail_average_moving_speed_label"
|
||||
android:layout_column="2"
|
||||
style="@style/MarkerDetailStatisticsLabel" />
|
||||
</TableRow>
|
||||
<TableRow>
|
||||
<TextView
|
||||
android:id="@+id/marker_detail_moving_time_value"
|
||||
style="@style/MarkerDetailStatisticsValue" />
|
||||
<TextView style="@style/MarkerDetailStatisticsSpacer" />
|
||||
<TextView
|
||||
android:id="@+id/marker_detail_average_moving_speed_value"
|
||||
style="@style/MarkerDetailStatisticsValue" />
|
||||
</TableRow>
|
||||
<!-- Elevation and elevation gain -->
|
||||
<TableRow>
|
||||
<TextView
|
||||
android:text="@string/stat_elevation"
|
||||
style="@style/MarkerDetailStatisticsLabel" />
|
||||
<TextView
|
||||
android:layout_column="2"
|
||||
android:text="@string/stat_elevation_gain"
|
||||
style="@style/MarkerDetailStatisticsLabel" />
|
||||
</TableRow>
|
||||
<TableRow>
|
||||
<TextView
|
||||
android:id="@+id/marker_detail_elevation_value"
|
||||
style="@style/MarkerDetailStatisticsValue" />
|
||||
<TextView style="@style/MarkerDetailStatisticsSpacer" />
|
||||
<TextView
|
||||
android:id="@+id/marker_detail_elevation_gain_value"
|
||||
style="@style/MarkerDetailStatisticsValue" />
|
||||
</TableRow>
|
||||
<!-- Min and max elevation -->
|
||||
<TableRow>
|
||||
<TextView
|
||||
android:text="@string/stat_min_elevation"
|
||||
style="@style/MarkerDetailStatisticsLabel" />
|
||||
<TextView
|
||||
android:layout_column="2"
|
||||
android:text="@string/stat_max_elevation"
|
||||
style="@style/MarkerDetailStatisticsLabel" />
|
||||
</TableRow>
|
||||
<TableRow>
|
||||
<TextView
|
||||
android:id="@+id/marker_detail_min_elevation_value"
|
||||
style="@style/MarkerDetailStatisticsValue" />
|
||||
<TextView style="@style/MarkerDetailStatisticsSpacer" />
|
||||
<TextView
|
||||
android:id="@+id/marker_detail_max_elevation_value"
|
||||
style="@style/MarkerDetailStatisticsValue" />
|
||||
</TableRow>
|
||||
<!-- Min and max grade -->
|
||||
<TableRow>
|
||||
<TextView
|
||||
android:text="@string/stat_min_grade"
|
||||
style="@style/MarkerDetailStatisticsLabel" />
|
||||
<TextView
|
||||
android:layout_column="2"
|
||||
android:text="@string/stat_max_grade"
|
||||
style="@style/MarkerDetailStatisticsLabel" />
|
||||
</TableRow>
|
||||
<TableRow>
|
||||
<TextView
|
||||
android:id="@+id/marker_detail_min_grade_value"
|
||||
style="@style/MarkerDetailStatisticsValue" />
|
||||
<TextView style="@style/MarkerDetailStatisticsSpacer" />
|
||||
<TextView
|
||||
android:id="@+id/marker_detail_max_grade_value"
|
||||
style="@style/MarkerDetailStatisticsValue" />
|
||||
</TableRow>
|
||||
<include layout="@layout/stats_core" />
|
||||
</TableLayout>
|
||||
</LinearLayout>
|
||||
</ScrollView>
|
||||
@@ -18,10 +18,7 @@ limitations under the License.
|
||||
android:layout_height="fill_parent"
|
||||
android:layout_width="fill_parent"
|
||||
android:orientation="vertical" >
|
||||
<ScrollView
|
||||
android:layout_height="0dp"
|
||||
android:layout_weight="1"
|
||||
android:layout_width="fill_parent" >
|
||||
<ScrollView style="@style/ScrollView.WithBottomButtons" >
|
||||
<LinearLayout
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_width="fill_parent"
|
||||
@@ -34,7 +31,7 @@ limitations under the License.
|
||||
android:orientation="vertical" >
|
||||
<TextView
|
||||
android:text="@string/marker_edit_type"
|
||||
style="@style/EditLabel" />
|
||||
style="@style/TextMedium" />
|
||||
<RadioGroup
|
||||
android:id="@+id/marker_edit_type"
|
||||
android:layout_height="wrap_content"
|
||||
@@ -42,16 +39,16 @@ limitations under the License.
|
||||
<RadioButton
|
||||
android:id="@+id/marker_edit_type_statistics"
|
||||
android:text="@string/marker_edit_type_statistics"
|
||||
style="@style/EditLabel" />
|
||||
style="@style/TextMedium" />
|
||||
<RadioButton
|
||||
android:id="@+id/marker_edit_type_waypoint"
|
||||
android:text="@string/marker_edit_type_waypoint"
|
||||
style="@style/EditLabel" />
|
||||
style="@style/TextMedium" />
|
||||
</RadioGroup>
|
||||
</LinearLayout>
|
||||
<TextView
|
||||
android:text="@string/generic_name"
|
||||
style="@style/EditLabel" />
|
||||
style="@style/TextMedium" />
|
||||
<EditText
|
||||
android:hint="@string/generic_name"
|
||||
android:id="@+id/marker_edit_name"
|
||||
@@ -63,7 +60,7 @@ limitations under the License.
|
||||
android:orientation="vertical" >
|
||||
<TextView
|
||||
android:text="@string/marker_edit_marker_type"
|
||||
style="@style/EditLabel" />
|
||||
style="@style/TextMedium" />
|
||||
<AutoCompleteTextView
|
||||
android:hint="@string/marker_edit_marker_type_hint"
|
||||
android:id="@+id/marker_edit_marker_type"
|
||||
@@ -71,7 +68,7 @@ limitations under the License.
|
||||
style="@style/EditCategory" />
|
||||
<TextView
|
||||
android:text="@string/generic_description"
|
||||
style="@style/EditLabel" />
|
||||
style="@style/TextMedium" />
|
||||
<EditText
|
||||
android:hint="@string/generic_description"
|
||||
android:id="@+id/marker_edit_description"
|
||||
|
||||
@@ -14,7 +14,7 @@ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
-->
|
||||
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
<merge xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:layout_height="fill_parent"
|
||||
android:layout_width="fill_parent" >
|
||||
<ListView
|
||||
@@ -26,4 +26,4 @@ limitations under the License.
|
||||
android:text="@string/marker_list_empty_message"
|
||||
style="@style/ListEmptyTextView" >
|
||||
</TextView>
|
||||
</FrameLayout>
|
||||
</merge>
|
||||
@@ -1,57 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!--
|
||||
Copyright 2010 Google Inc.
|
||||
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
You may obtain a copy of the License at
|
||||
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
-->
|
||||
<RelativeLayout
|
||||
xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:id="@+id/elevation_root"
|
||||
android:orientation="vertical"
|
||||
android:layout_height="fill_parent"
|
||||
android:layout_width="fill_parent">
|
||||
<LinearLayout android:id="@+id/elevation_chart"
|
||||
android:orientation="vertical"
|
||||
android:layout_width="fill_parent"
|
||||
android:layout_height="fill_parent">
|
||||
</LinearLayout>
|
||||
<RelativeLayout android:id="@+id/elevation_zoom_layout"
|
||||
android:orientation="vertical"
|
||||
android:layout_width="fill_parent"
|
||||
android:layout_height="fill_parent"
|
||||
android:padding="10dp">
|
||||
<ZoomControls android:id="@+id/elevation_zoom"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_gravity="center_horizontal"
|
||||
android:layout_alignParentBottom="true"
|
||||
android:layout_centerHorizontal="true"
|
||||
android:layout_alignParentRight="true"/>
|
||||
</RelativeLayout>
|
||||
<LinearLayout android:id="@+id/elevation_busypane"
|
||||
android:orientation="vertical"
|
||||
android:layout_width="fill_parent"
|
||||
android:layout_height="fill_parent"
|
||||
android:padding="3dp"
|
||||
android:visibility="gone">
|
||||
<ProgressBar
|
||||
android:layout_weight="1"
|
||||
android:layout_height="0dp"
|
||||
android:layout_width="wrap_content"
|
||||
android:maxWidth="80dp"
|
||||
android:maxHeight="80dp"
|
||||
android:minWidth="80dp"
|
||||
android:minHeight="80dp"
|
||||
android:layout_gravity="center"/>
|
||||
</LinearLayout>
|
||||
</RelativeLayout>
|
||||
@@ -1,62 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!--
|
||||
Copyright 2010 Google Inc.
|
||||
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
You may obtain a copy of the License at
|
||||
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
-->
|
||||
<RelativeLayout
|
||||
xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:id="@+id/screen"
|
||||
android:layout_width="fill_parent"
|
||||
android:layout_height="fill_parent">
|
||||
<com.google.android.maps.MapView android:id="@+id/map"
|
||||
android:layout_width="fill_parent"
|
||||
android:layout_height="fill_parent"
|
||||
android:clickable="true"
|
||||
android:enabled="true"
|
||||
android:focusable="true"
|
||||
android:focusableInTouchMode="true"
|
||||
android:apiKey="0TXoRmxTinrZKQ9JSazj-9A34XX6_lXsRvTpXWA"/>
|
||||
<!-- corresponding certificate md5: 81:DF:A2:63:53:C7:6B:1E:6C:24:62:D4:91:1C:36:3A -->
|
||||
<LinearLayout android:id="@+id/messagepane"
|
||||
android:orientation="horizontal"
|
||||
android:layout_width="fill_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:background="@drawable/list_bar"
|
||||
android:padding="3dp"
|
||||
android:visibility="gone">
|
||||
<TextView android:id="@+id/messagetext"
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="wrap_content"
|
||||
android:textSize="16dp"
|
||||
android:textColor="#fff"
|
||||
android:text="@string/gps_wait_for_fix"
|
||||
android:layout_weight="1"/>
|
||||
</LinearLayout>
|
||||
<LinearLayout android:id="@+id/busypane"
|
||||
android:orientation="vertical"
|
||||
android:layout_width="fill_parent"
|
||||
android:layout_height="fill_parent"
|
||||
android:padding="3dp"
|
||||
android:visibility="gone">
|
||||
<ProgressBar
|
||||
android:layout_weight="1"
|
||||
android:layout_height="0dp"
|
||||
android:layout_width="wrap_content"
|
||||
android:maxWidth="80dp"
|
||||
android:maxHeight="80dp"
|
||||
android:minWidth="80dp"
|
||||
android:minHeight="80dp"
|
||||
android:layout_gravity="center"/>
|
||||
</LinearLayout>
|
||||
</RelativeLayout>
|
||||
@@ -14,7 +14,7 @@ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
-->
|
||||
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
<merge xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:layout_height="fill_parent"
|
||||
android:layout_width="fill_parent" >
|
||||
<ListView
|
||||
@@ -26,4 +26,4 @@ limitations under the License.
|
||||
android:text="@string/search_list_empty_message"
|
||||
style="@style/ListEmptyTextView" >
|
||||
</TextView>
|
||||
</FrameLayout>
|
||||
</merge>
|
||||
@@ -14,67 +14,53 @@ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
-->
|
||||
<LinearLayout
|
||||
xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:layout_height="fill_parent"
|
||||
android:layout_width="fill_parent"
|
||||
android:orientation="vertical">
|
||||
<ScrollView
|
||||
android:layout_height="0dp"
|
||||
android:layout_weight="1"
|
||||
android:layout_width="fill_parent">
|
||||
<LinearLayout
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_width="fill_parent"
|
||||
android:orientation="vertical">
|
||||
|
||||
<!-- Sensor state -->
|
||||
<TextView
|
||||
android:text="@string/menu_sensor_state"
|
||||
style="@style/SensorStateLabel"/>
|
||||
<TextView
|
||||
android:id="@+id/sensor_state"
|
||||
style="@style/SensorStateValue"/>
|
||||
|
||||
<!-- Last sensor time -->
|
||||
<TextView
|
||||
android:text="@string/sensor_state_last_sensor_time"
|
||||
style="@style/SensorStateLabel"/>
|
||||
<TextView
|
||||
android:id="@+id/sensor_state_last_sensor_time"
|
||||
style="@style/SensorStateValue"/>
|
||||
|
||||
<!-- Power -->
|
||||
<TextView
|
||||
android:text="@string/sensor_state_power"
|
||||
style="@style/SensorStateLabel"/>
|
||||
<TextView
|
||||
android:id="@+id/sensor_state_power"
|
||||
style="@style/SensorStateValue"/>
|
||||
|
||||
<!-- Cadence -->
|
||||
<TextView
|
||||
android:text="@string/sensor_state_cadence"
|
||||
style="@style/SensorStateLabel"/>
|
||||
<TextView
|
||||
android:id="@+id/sensor_state_cadence"
|
||||
style="@style/SensorStateValue"/>
|
||||
|
||||
<!-- Heart rate -->
|
||||
<TextView
|
||||
android:text="@string/sensor_state_heart_rate"
|
||||
style="@style/SensorStateLabel"/>
|
||||
<TextView
|
||||
android:id="@+id/sensor_state_heart_rate"
|
||||
style="@style/SensorStateValue"/>
|
||||
|
||||
<!-- Battery level -->
|
||||
<TextView
|
||||
android:text="@string/sensor_state_battery"
|
||||
style="@style/SensorStateLabel"/>
|
||||
<TextView
|
||||
android:id="@+id/sensor_state_battery"
|
||||
style="@style/SensorStateValue"/>
|
||||
</LinearLayout>
|
||||
</ScrollView>
|
||||
</LinearLayout>
|
||||
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
style="@style/ScrollView" >
|
||||
<LinearLayout
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_width="fill_parent"
|
||||
android:orientation="vertical"
|
||||
android:padding="8dp" >
|
||||
<TextView
|
||||
android:text="@string/menu_sensor_state"
|
||||
style="@style/TextMedium" />
|
||||
<TextView
|
||||
android:id="@+id/sensor_state"
|
||||
style="@style/SensorStateValue" />
|
||||
<!-- Last sensor time -->
|
||||
<TextView
|
||||
android:text="@string/sensor_state_last_sensor_time"
|
||||
style="@style/TextMedium" />
|
||||
<TextView
|
||||
android:id="@+id/sensor_state_last_sensor_time"
|
||||
style="@style/SensorStateValue" />
|
||||
<!-- Power -->
|
||||
<TextView
|
||||
android:text="@string/sensor_state_power"
|
||||
style="@style/TextMedium" />
|
||||
<TextView
|
||||
android:id="@+id/sensor_state_power"
|
||||
style="@style/SensorStateValue" />
|
||||
<!-- Cadence -->
|
||||
<TextView
|
||||
android:text="@string/sensor_state_cadence"
|
||||
style="@style/TextMedium" />
|
||||
<TextView
|
||||
android:id="@+id/sensor_state_cadence"
|
||||
style="@style/SensorStateValue" />
|
||||
<!-- Heart rate -->
|
||||
<TextView
|
||||
android:text="@string/sensor_state_heart_rate"
|
||||
style="@style/TextMedium" />
|
||||
<TextView
|
||||
android:id="@+id/sensor_state_heart_rate"
|
||||
style="@style/SensorStateValue" />
|
||||
<!-- Battery level -->
|
||||
<TextView
|
||||
android:text="@string/sensor_state_battery"
|
||||
style="@style/TextMedium" />
|
||||
<TextView
|
||||
android:id="@+id/sensor_state_battery"
|
||||
style="@style/SensorStateValue" />
|
||||
</LinearLayout>
|
||||
</ScrollView>
|
||||
@@ -14,349 +14,44 @@ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
-->
|
||||
<RelativeLayout
|
||||
xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:id="@+id/stats_root"
|
||||
android:layout_height="wrap_content"
|
||||
android:orientation="horizontal"
|
||||
android:layout_width="fill_parent">
|
||||
|
||||
<ScrollView
|
||||
android:id="@+id/scrolly"
|
||||
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
style="@style/ScrollView" >
|
||||
<TableLayout
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_width="fill_parent">
|
||||
|
||||
<TableLayout
|
||||
android:id="@+id/stats_table"
|
||||
android:layout_height="wrap_content"
|
||||
android:stretchColumns="1,4"
|
||||
android:layout_width="fill_parent">
|
||||
|
||||
<!-- Layout the speed large on it's own line. -->
|
||||
<TableRow>
|
||||
<TextView
|
||||
android:id="@+id/speed_label"
|
||||
android:layout_span="5"
|
||||
android:text="@string/stat_speed" />
|
||||
</TableRow>
|
||||
<TableRow
|
||||
android:background="@color/stat_label_background">
|
||||
<TextView
|
||||
style="@style/StatsRegister.Big"
|
||||
android:id="@+id/speed_register"
|
||||
android:layout_column="1"
|
||||
android:layout_span="4"/>
|
||||
<LinearLayout
|
||||
android:gravity="bottom"
|
||||
android:layout_column="5"
|
||||
android:layout_width="wrap_content"
|
||||
android:lines="1"
|
||||
android:orientation="vertical">
|
||||
<TextView
|
||||
android:layout_height="fill_parent"
|
||||
android:layout_width="fill_parent" />
|
||||
<TextView
|
||||
android:id="@+id/speed_unit_label_top"
|
||||
style="@style/StatsUnit" />
|
||||
<TextView
|
||||
style="@style/StatsDivider" />
|
||||
<TextView
|
||||
android:id="@+id/speed_unit_label_bottom"
|
||||
style="@style/StatsUnit" />
|
||||
</LinearLayout>
|
||||
</TableRow>
|
||||
|
||||
<!-- Total distance and max speed -->
|
||||
<TableRow
|
||||
android:padding="1dp">
|
||||
<TextView
|
||||
android:id="@+id/total_distance_label"
|
||||
android:layout_column="1"
|
||||
android:layout_span="3"
|
||||
android:text="@string/stat_total_distance" />
|
||||
<TextView
|
||||
android:id="@+id/max_speed_label"
|
||||
android:layout_column="4"
|
||||
android:layout_span="2"
|
||||
android:text="@string/stat_max_speed" />
|
||||
</TableRow>
|
||||
<TableRow
|
||||
android:background="@color/stat_label_background">
|
||||
<TextView
|
||||
style="@style/StatsRegister"
|
||||
android:id="@+id/total_distance_register"
|
||||
android:layout_column="1" />
|
||||
<TextView
|
||||
android:id="@+id/total_distance_unit_label"
|
||||
android:layout_column="2"
|
||||
style="@style/StatsUnitSolo" />
|
||||
<!-- TODO 4/08/2009
|
||||
The following is a bad hack to get a spacer the same size as the
|
||||
text. Ideally this should just be a View, however I don't know how to
|
||||
set the view height properly. fill_parent on this element causes as
|
||||
NullPointerException. This same filler is repeated on each line.-->
|
||||
<TextView
|
||||
style="@style/StatsSpacer"
|
||||
android:layout_column="3"/>
|
||||
<TextView
|
||||
android:id="@+id/max_speed_register"
|
||||
style="@style/StatsRegister"
|
||||
android:layout_column="4" />
|
||||
<LinearLayout
|
||||
android:gravity="bottom"
|
||||
android:layout_column="5"
|
||||
android:layout_width="wrap_content"
|
||||
android:lines="1"
|
||||
android:orientation="vertical">
|
||||
<TextView
|
||||
android:id="@+id/max_speed_unit_label_top"
|
||||
style="@style/StatsUnit" />
|
||||
<TextView
|
||||
style="@style/StatsDivider" />
|
||||
<TextView
|
||||
android:id="@+id/max_speed_unit_label_bottom"
|
||||
style="@style/StatsUnit" />
|
||||
</LinearLayout>
|
||||
</TableRow>
|
||||
|
||||
<!-- Total time and average speed -->
|
||||
<TableRow>
|
||||
<TextView
|
||||
android:id="@+id/track_time_label"
|
||||
android:layout_column="1"
|
||||
android:layout_span="3"
|
||||
android:text="@string/stat_total_time" />
|
||||
<TextView
|
||||
android:id="@+id/average_speed_label"
|
||||
android:layout_column="4"
|
||||
android:layout_span="2"
|
||||
android:text="@string/stat_average_speed" />
|
||||
</TableRow>
|
||||
<TableRow
|
||||
android:background="@color/stat_label_background">
|
||||
<TextView
|
||||
android:id="@+id/total_time_register"
|
||||
android:layout_column="1"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_span="2"
|
||||
android:layout_width="fill_parent"
|
||||
style="@style/StatsRegister" />
|
||||
<TextView
|
||||
style="@style/StatsSpacer"
|
||||
android:layout_column="3"/>
|
||||
<TextView
|
||||
android:id="@+id/average_speed_register"
|
||||
android:layout_column="4"
|
||||
style="@style/StatsRegister" />
|
||||
<LinearLayout
|
||||
android:gravity="bottom"
|
||||
android:layout_column="5"
|
||||
android:layout_width="wrap_content"
|
||||
android:lines="1"
|
||||
android:orientation="vertical">
|
||||
<TextView
|
||||
android:id="@+id/average_speed_unit_label_top"
|
||||
style="@style/StatsUnit" />
|
||||
<TextView
|
||||
style="@style/StatsDivider" />
|
||||
<TextView
|
||||
android:id="@+id/average_speed_unit_label_bottom"
|
||||
style="@style/StatsUnit" />
|
||||
</LinearLayout>
|
||||
</TableRow>
|
||||
|
||||
<!-- Moving time and average moving speed -->
|
||||
<TableRow>
|
||||
<TextView
|
||||
android:id="@+id/moving_time_label"
|
||||
android:layout_column="1"
|
||||
android:layout_span="3"
|
||||
android:text="@string/stat_moving_time" />
|
||||
<TextView
|
||||
android:id="@+id/average_moving_speed_label"
|
||||
android:layout_column="4"
|
||||
android:layout_span="2"
|
||||
android:text="@string/stat_average_moving_speed" />
|
||||
</TableRow>
|
||||
<TableRow
|
||||
android:background="@color/stat_label_background">
|
||||
<TextView
|
||||
android:id="@+id/moving_time_register"
|
||||
android:layout_column="1"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_span="2"
|
||||
android:layout_width="fill_parent"
|
||||
style="@style/StatsRegister" />
|
||||
<TextView
|
||||
style="@style/StatsSpacer"
|
||||
android:layout_column="3"/>
|
||||
<TextView
|
||||
android:id="@+id/average_moving_speed_register"
|
||||
style="@style/StatsRegister" />
|
||||
<LinearLayout
|
||||
android:gravity="bottom"
|
||||
android:layout_column="5"
|
||||
android:layout_width="wrap_content"
|
||||
android:lines="1"
|
||||
android:orientation="vertical">
|
||||
<TextView
|
||||
android:id="@+id/average_moving_speed_unit_label_top"
|
||||
style="@style/StatsUnit" />
|
||||
<TextView
|
||||
style="@style/StatsDivider" />
|
||||
<TextView
|
||||
android:id="@+id/average_moving_speed_unit_label_bottom"
|
||||
style="@style/StatsUnit" />
|
||||
</LinearLayout>
|
||||
</TableRow>
|
||||
|
||||
<!-- Elevation and elevation gain -->
|
||||
<TableRow>
|
||||
<TextView
|
||||
android:id="@+id/elevation_label"
|
||||
android:layout_column="1"
|
||||
android:layout_span="3"
|
||||
android:text="@string/stat_elevation" />
|
||||
<TextView
|
||||
android:id="@+id/elevation_gain_label"
|
||||
android:layout_column="4"
|
||||
android:layout_span="2"
|
||||
android:text="@string/stat_elevation_gain" />
|
||||
</TableRow>
|
||||
<TableRow
|
||||
android:background="@color/stat_label_background">
|
||||
<TextView
|
||||
android:id="@+id/elevation_register"
|
||||
android:layout_column="1"
|
||||
style="@style/StatsRegister" />
|
||||
<TextView
|
||||
android:id="@+id/elevation_unit_label"
|
||||
android:layout_column="2"
|
||||
style="@style/StatsUnitSolo" />
|
||||
<TextView
|
||||
style="@style/StatsSpacer"
|
||||
android:layout_column="3"/>
|
||||
<TextView
|
||||
android:id="@+id/elevation_gain_register"
|
||||
android:layout_column="4"
|
||||
style="@style/StatsRegister" />
|
||||
<TextView
|
||||
android:id="@+id/elevation_gain_unit_label"
|
||||
android:layout_column="5"
|
||||
style="@style/StatsUnitSolo" />
|
||||
</TableRow>
|
||||
|
||||
<!-- Min and max elevation -->
|
||||
<TableRow>
|
||||
<TextView
|
||||
android:id="@+id/min_elevation_label"
|
||||
android:layout_column="1"
|
||||
android:layout_span="3"
|
||||
android:text="@string/stat_min_elevation" />
|
||||
<TextView
|
||||
android:id="@+id/max_elevation_label"
|
||||
android:layout_column="4"
|
||||
android:layout_span="3"
|
||||
android:text="@string/stat_max_elevation" />
|
||||
</TableRow>
|
||||
<TableRow
|
||||
android:background="@color/stat_label_background">
|
||||
<TextView
|
||||
android:id="@+id/min_elevation_register"
|
||||
android:layout_column="1"
|
||||
style="@style/StatsRegister" />
|
||||
<TextView
|
||||
android:id="@+id/min_elevation_unit_label"
|
||||
android:layout_column="2"
|
||||
style="@style/StatsUnitSolo" />
|
||||
<TextView
|
||||
style="@style/StatsSpacer"
|
||||
android:layout_column="3"/>
|
||||
<TextView
|
||||
android:id="@+id/max_elevation_register"
|
||||
android:layout_column="4"
|
||||
style="@style/StatsRegister" />
|
||||
<TextView
|
||||
android:id="@+id/max_elevation_unit_label"
|
||||
android:layout_column="5"
|
||||
style="@style/StatsUnitSolo" />
|
||||
</TableRow>
|
||||
|
||||
<!-- Min and max grade -->
|
||||
<TableRow>
|
||||
<TextView
|
||||
android:id="@+id/min_grade_label"
|
||||
android:layout_column="1"
|
||||
android:layout_span="3"
|
||||
android:text="@string/stat_min_grade" />
|
||||
<TextView
|
||||
android:id="@+id/max_grade_label"
|
||||
android:layout_column="4"
|
||||
android:layout_span="2"
|
||||
android:text="@string/stat_max_grade" />
|
||||
</TableRow>
|
||||
<TableRow
|
||||
android:background="@color/stat_label_background">
|
||||
<TextView
|
||||
android:id="@+id/min_grade_register"
|
||||
android:layout_column="1"
|
||||
android:layout_span="2"
|
||||
style="@style/StatsRegister" />
|
||||
<TextView
|
||||
style="@style/StatsSpacer"
|
||||
android:layout_column="3"/>
|
||||
<TextView
|
||||
android:id="@+id/max_grade_register"
|
||||
android:layout_column="4"
|
||||
android:layout_span="2"
|
||||
style="@style/StatsRegister" />
|
||||
</TableRow>
|
||||
|
||||
<!-- Latitude and Longitude -->
|
||||
<TableRow>
|
||||
<TextView
|
||||
android:layout_column="1"
|
||||
android:layout_span="3"
|
||||
android:text="@string/stat_latitude" />
|
||||
<TextView
|
||||
android:layout_column="4"
|
||||
android:layout_span="2"
|
||||
android:text="@string/stat_longitude" />
|
||||
</TableRow>
|
||||
<TableRow
|
||||
android:background="@color/stat_label_background">
|
||||
<TextView
|
||||
android:id="@+id/latitude_register"
|
||||
android:layout_column="1"
|
||||
android:layout_span="2"
|
||||
style="@style/StatsRegister.Small" />
|
||||
<TextView
|
||||
style="@style/StatsSpacer"
|
||||
android:layout_column="3"
|
||||
android:textSize="25sp" />
|
||||
<TextView
|
||||
android:id="@+id/longitude_register"
|
||||
android:layout_column="4"
|
||||
android:layout_span="2"
|
||||
style="@style/StatsRegister.Small" />
|
||||
</TableRow>
|
||||
|
||||
</TableLayout>
|
||||
</ScrollView>
|
||||
<LinearLayout android:id="@+id/stats_busypane"
|
||||
android:orientation="vertical"
|
||||
android:layout_width="fill_parent"
|
||||
android:layout_height="fill_parent"
|
||||
android:padding="3dp"
|
||||
android:visibility="gone">
|
||||
<ProgressBar
|
||||
android:layout_weight="1"
|
||||
android:layout_height="0dp"
|
||||
android:layout_width="wrap_content"
|
||||
android:maxWidth="80dp"
|
||||
android:maxHeight="80dp"
|
||||
android:minWidth="80dp"
|
||||
android:minHeight="80dp"
|
||||
android:layout_gravity="center"/>
|
||||
</LinearLayout>
|
||||
</RelativeLayout>
|
||||
android:padding="8dp"
|
||||
android:shrinkColumns="0,2"
|
||||
android:stretchColumns="0,2" >
|
||||
<!-- Speed on one line -->
|
||||
<TableRow>
|
||||
<TextView
|
||||
android:id="@+id/stats_speed_label"
|
||||
style="@style/StatsLabel" />
|
||||
</TableRow>
|
||||
<TableRow>
|
||||
<TextView
|
||||
android:id="@+id/stats_speed_value"
|
||||
style="@style/StatsValue" />
|
||||
</TableRow>
|
||||
<include layout="@layout/stats_core" />
|
||||
<!-- Latitude and longitude -->
|
||||
<TableRow>
|
||||
<TextView
|
||||
android:text="@string/stats_latitude"
|
||||
style="@style/StatsLabel" />
|
||||
<TextView
|
||||
android:layout_column="2"
|
||||
android:text="@string/stats_longitude"
|
||||
style="@style/StatsLabel" />
|
||||
</TableRow>
|
||||
<TableRow>
|
||||
<TextView
|
||||
android:id="@+id/stats_latitude_value"
|
||||
style="@style/StatsValue" />
|
||||
<TextView style="@style/StatsSpacer" />
|
||||
<TextView
|
||||
android:id="@+id/stats_longitude_value"
|
||||
style="@style/StatsValue" />
|
||||
</TableRow>
|
||||
</TableLayout>
|
||||
</ScrollView>
|
||||
@@ -0,0 +1,132 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!--
|
||||
Copyright 2012 Google Inc.
|
||||
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
You may obtain a copy of the License at
|
||||
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
-->
|
||||
<merge xmlns:android="http://schemas.android.com/apk/res/android" >
|
||||
<!-- Total distance and max speed (fastest pace) -->
|
||||
<TableRow>
|
||||
<TextView
|
||||
android:text="@string/stats_total_distance"
|
||||
style="@style/StatsLabel" />
|
||||
<TextView
|
||||
android:id="@+id/stats_max_speed_label"
|
||||
android:layout_column="2"
|
||||
style="@style/StatsLabel" />
|
||||
</TableRow>
|
||||
<TableRow>
|
||||
<TextView
|
||||
android:id="@+id/stats_total_distance_value"
|
||||
style="@style/StatsValue" />
|
||||
<TextView style="@style/StatsSpacer" />
|
||||
<TextView
|
||||
android:id="@+id/stats_max_speed_value"
|
||||
style="@style/StatsValue" />
|
||||
</TableRow>
|
||||
<!-- Total time and average speed (average pace) -->
|
||||
<TableRow>
|
||||
<TextView
|
||||
android:text="@string/stats_total_time"
|
||||
style="@style/StatsLabel" />
|
||||
<TextView
|
||||
android:id="@+id/stats_average_speed_label"
|
||||
android:layout_column="2"
|
||||
style="@style/StatsLabel" />
|
||||
</TableRow>
|
||||
<TableRow>
|
||||
<TextView
|
||||
android:id="@+id/stats_total_time_value"
|
||||
style="@style/StatsValue" />
|
||||
<TextView style="@style/StatsSpacer" />
|
||||
<TextView
|
||||
android:id="@+id/stats_average_speed_value"
|
||||
style="@style/StatsValue" />
|
||||
</TableRow>
|
||||
<!-- Moving time and average moving speed (average moving pace) -->
|
||||
<TableRow>
|
||||
<TextView
|
||||
android:text="@string/stats_moving_time"
|
||||
style="@style/StatsLabel" />
|
||||
<TextView
|
||||
android:id="@+id/stats_average_moving_speed_label"
|
||||
android:layout_column="2"
|
||||
style="@style/StatsLabel" />
|
||||
</TableRow>
|
||||
<TableRow>
|
||||
<TextView
|
||||
android:id="@+id/stats_moving_time_value"
|
||||
style="@style/StatsValue" />
|
||||
<TextView style="@style/StatsSpacer" />
|
||||
<TextView
|
||||
android:id="@+id/stats_average_moving_speed_value"
|
||||
style="@style/StatsValue" />
|
||||
</TableRow>
|
||||
<!-- Elevation and elevation gain -->
|
||||
<TableRow>
|
||||
<TextView
|
||||
android:text="@string/stats_elevation"
|
||||
style="@style/StatsLabel" />
|
||||
<TextView
|
||||
android:layout_column="2"
|
||||
android:text="@string/stats_elevation_gain"
|
||||
style="@style/StatsLabel" />
|
||||
</TableRow>
|
||||
<TableRow>
|
||||
<TextView
|
||||
android:id="@+id/stats_elevation_value"
|
||||
style="@style/StatsValue" />
|
||||
<TextView style="@style/StatsSpacer" />
|
||||
<TextView
|
||||
android:id="@+id/stats_elevation_gain_value"
|
||||
style="@style/StatsValue" />
|
||||
</TableRow>
|
||||
<!-- Min and max elevation -->
|
||||
<TableRow>
|
||||
<TextView
|
||||
android:text="@string/stats_min_elevation"
|
||||
style="@style/StatsLabel" />
|
||||
<TextView
|
||||
android:layout_column="2"
|
||||
android:text="@string/stats_max_elevation"
|
||||
style="@style/StatsLabel" />
|
||||
</TableRow>
|
||||
<TableRow>
|
||||
<TextView
|
||||
android:id="@+id/stats_min_elevation_value"
|
||||
style="@style/StatsValue" />
|
||||
<TextView style="@style/StatsSpacer" />
|
||||
<TextView
|
||||
android:id="@+id/stats_max_elevation_value"
|
||||
style="@style/StatsValue" />
|
||||
</TableRow>
|
||||
<!-- Min and max grade -->
|
||||
<TableRow>
|
||||
<TextView
|
||||
android:text="@string/stats_min_grade"
|
||||
style="@style/StatsLabel" />
|
||||
<TextView
|
||||
android:layout_column="2"
|
||||
android:text="@string/stats_max_grade"
|
||||
style="@style/StatsLabel" />
|
||||
</TableRow>
|
||||
<TableRow>
|
||||
<TextView
|
||||
android:id="@+id/stats_min_grade_value"
|
||||
style="@style/StatsValue" />
|
||||
<TextView style="@style/StatsSpacer" />
|
||||
<TextView
|
||||
android:id="@+id/stats_max_grade_value"
|
||||
style="@style/StatsValue" />
|
||||
</TableRow>
|
||||
</merge>
|
||||
@@ -18,10 +18,7 @@ limitations under the License.
|
||||
android:layout_height="fill_parent"
|
||||
android:layout_width="fill_parent"
|
||||
android:orientation="vertical" >
|
||||
<ScrollView
|
||||
android:layout_height="0dp"
|
||||
android:layout_weight="1"
|
||||
android:layout_width="fill_parent" >
|
||||
<ScrollView style="@style/ScrollView.WithBottomButtons" >
|
||||
<LinearLayout
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_width="fill_parent"
|
||||
@@ -29,7 +26,7 @@ limitations under the License.
|
||||
android:padding="8dp" >
|
||||
<TextView
|
||||
android:text="@string/generic_name"
|
||||
style="@style/EditLabel" />
|
||||
style="@style/TextMedium" />
|
||||
<EditText
|
||||
android:drawableLeft="@drawable/track"
|
||||
android:hint="@string/generic_name"
|
||||
@@ -38,7 +35,7 @@ limitations under the License.
|
||||
style="@style/EditName" />
|
||||
<TextView
|
||||
android:text="@string/track_edit_activity_type"
|
||||
style="@style/EditLabel" />
|
||||
style="@style/TextMedium" />
|
||||
<AutoCompleteTextView
|
||||
android:hint="@string/track_edit_activity_type_hint"
|
||||
android:id="@+id/track_edit_activity_type"
|
||||
@@ -46,7 +43,7 @@ limitations under the License.
|
||||
style="@style/EditCategory" />
|
||||
<TextView
|
||||
android:text="@string/generic_description"
|
||||
style="@style/EditLabel" />
|
||||
style="@style/TextMedium" />
|
||||
<EditText
|
||||
android:hint="@string/generic_description"
|
||||
android:id="@+id/track_edit_description"
|
||||
|
||||
@@ -14,7 +14,7 @@ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
-->
|
||||
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
<merge xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:layout_height="fill_parent"
|
||||
android:layout_width="fill_parent" >
|
||||
<ListView
|
||||
@@ -26,7 +26,7 @@ limitations under the License.
|
||||
android:id="@+id/track_list_empty"
|
||||
android:layout_height="fill_parent"
|
||||
android:layout_width="fill_parent"
|
||||
android:orientation="vertical">
|
||||
android:orientation="vertical" >
|
||||
<TextView
|
||||
android:text="@string/track_list_empty_message"
|
||||
style="@style/ListEmptyTextView" >
|
||||
@@ -40,4 +40,4 @@ limitations under the License.
|
||||
android:src="@drawable/menu_record_track"
|
||||
style="@android:style/Widget.DeviceDefault.ImageButton" />
|
||||
</LinearLayout>
|
||||
</FrameLayout>
|
||||
</merge>
|
||||
@@ -14,77 +14,71 @@ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
-->
|
||||
|
||||
<LinearLayout
|
||||
xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:layout_width="fill_parent"
|
||||
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:background="@drawable/appwidget_background"
|
||||
android:layout_height="fill_parent"
|
||||
android:layout_width="fill_parent"
|
||||
android:paddingBottom="5dp"
|
||||
android:paddingLeft="10dp"
|
||||
android:paddingRight="10dp"
|
||||
android:paddingTop="5dp"
|
||||
android:paddingBottom="5dp">
|
||||
<LinearLayout
|
||||
android:paddingTop="5dp" >
|
||||
<ImageButton
|
||||
android:background="@android:color/transparent"
|
||||
android:contentDescription="@string/my_tracks_app_name"
|
||||
android:id="@+id/appwidget_button"
|
||||
android:layout_height="fill_parent"
|
||||
android:layout_width="fill_parent"
|
||||
android:background="@drawable/appwidget_background">
|
||||
<ImageButton
|
||||
android:id="@+id/appwidget_button"
|
||||
android:layout_height="fill_parent"
|
||||
android:layout_width="wrap_content"
|
||||
android:background="@android:color/transparent"
|
||||
android:paddingLeft="10dp"
|
||||
android:paddingRight="10dp"
|
||||
android:src="@drawable/appwidget_button_disabled" />
|
||||
android:layout_width="wrap_content"
|
||||
android:paddingLeft="10dp"
|
||||
android:paddingRight="10dp"
|
||||
android:src="@drawable/appwidget_button_disabled" />
|
||||
<LinearLayout
|
||||
android:clickable="true"
|
||||
android:id="@+id/appwidget_track_statistics"
|
||||
android:layout_height="fill_parent"
|
||||
android:layout_weight="1"
|
||||
android:layout_width="0dp"
|
||||
android:orientation="vertical"
|
||||
android:paddingLeft="16dp" >
|
||||
<LinearLayout
|
||||
android:id="@+id/appwidget_track_statistics"
|
||||
android:layout_height="fill_parent"
|
||||
android:layout_width="0dp"
|
||||
android:layout_weight="1"
|
||||
android:clickable="true"
|
||||
android:orientation="vertical"
|
||||
android:paddingLeft="15dp">
|
||||
<LinearLayout
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_width="fill_parent"
|
||||
android:orientation="horizontal">
|
||||
<TextView
|
||||
style="@style/WidgetTextView.Value"
|
||||
android:id="@+id/appwidget_distance_text" />
|
||||
<TextView
|
||||
style="@style/WidgetTextView"
|
||||
android:text="@string/stat_total_distance" />
|
||||
</LinearLayout>
|
||||
<LinearLayout
|
||||
android:layout_width="fill_parent"
|
||||
android:layout_height="1dp"
|
||||
android:background="@color/appwidget_hr" />
|
||||
<LinearLayout
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_width="fill_parent"
|
||||
android:orientation="horizontal"
|
||||
android:paddingBottom="2dp">
|
||||
<TextView
|
||||
style="@style/WidgetTextView.Value"
|
||||
android:id="@+id/appwidget_time_text" />
|
||||
<TextView
|
||||
style="@style/WidgetTextView"
|
||||
android:text="@string/stat_moving_time" />
|
||||
</LinearLayout>
|
||||
<LinearLayout
|
||||
android:layout_width="fill_parent"
|
||||
android:layout_height="1dp"
|
||||
android:background="@color/appwidget_hr" />
|
||||
<LinearLayout
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_width="fill_parent"
|
||||
android:orientation="horizontal">
|
||||
<TextView
|
||||
style="@style/WidgetTextView.Value"
|
||||
android:id="@+id/appwidget_speed_text" />
|
||||
<TextView
|
||||
style="@style/WidgetTextView"
|
||||
android:text="@string/stat_speed" />
|
||||
</LinearLayout>
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_width="fill_parent"
|
||||
android:orientation="horizontal" >
|
||||
<TextView
|
||||
android:id="@+id/appwidget_distance_text"
|
||||
style="@style/TrackWidgetValue" />
|
||||
<TextView
|
||||
android:text="@string/stats_total_distance"
|
||||
style="@style/TextSmall" />
|
||||
</LinearLayout>
|
||||
<LinearLayout
|
||||
android:background="@color/appwidget_hr"
|
||||
android:layout_height="1dp"
|
||||
android:layout_width="fill_parent" />
|
||||
<LinearLayout
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_width="fill_parent"
|
||||
android:orientation="horizontal" >
|
||||
<TextView
|
||||
android:id="@+id/appwidget_time_text"
|
||||
style="@style/TrackWidgetValue" />
|
||||
<TextView
|
||||
android:text="@string/stats_moving_time"
|
||||
style="@style/TextSmall" />
|
||||
</LinearLayout>
|
||||
<LinearLayout
|
||||
android:background="@color/appwidget_hr"
|
||||
android:layout_height="1dp"
|
||||
android:layout_width="fill_parent" />
|
||||
<LinearLayout
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_width="fill_parent"
|
||||
android:orientation="horizontal" >
|
||||
<TextView
|
||||
android:id="@+id/appwidget_speed_text"
|
||||
style="@style/TrackWidgetValue" />
|
||||
<TextView
|
||||
android:text="@string/stats_speed"
|
||||
style="@style/TextSmall" />
|
||||
</LinearLayout>
|
||||
</LinearLayout>
|
||||
</LinearLayout>
|
||||
@@ -15,13 +15,12 @@ See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
-->
|
||||
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:layout_height="fill_parent"
|
||||
android:layout_margin="8dp"
|
||||
android:layout_width="fill_parent" >
|
||||
style="@style/ScrollView" >
|
||||
<LinearLayout
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_width="fill_parent"
|
||||
android:orientation="vertical" >
|
||||
android:orientation="vertical"
|
||||
android:padding="8dp" >
|
||||
<!-- Google Maps result -->
|
||||
<LinearLayout
|
||||
android:id="@+id/upload_result_maps_result"
|
||||
@@ -36,20 +35,17 @@ limitations under the License.
|
||||
android:layout_width="wrap_content"
|
||||
android:src="@drawable/success" />
|
||||
<LinearLayout
|
||||
android:layout_gravity="center_vertical"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_width="wrap_content"
|
||||
android:orientation="vertical"
|
||||
android:paddingLeft="8dp" >
|
||||
<TextView
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_width="wrap_content"
|
||||
android:text="@string/send_google_maps"
|
||||
style="@android:style/TextAppearance.DeviceDefault.Medium" />
|
||||
style="@style/TextMedium" />
|
||||
<TextView
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_width="wrap_content"
|
||||
android:text="@string/send_google_maps_url"
|
||||
style="@android:style/TextAppearance.DeviceDefault.Small" />
|
||||
style="@style/TextSmall" />
|
||||
</LinearLayout>
|
||||
</LinearLayout>
|
||||
<!-- Google Fusion Tables result -->
|
||||
@@ -66,20 +62,17 @@ limitations under the License.
|
||||
android:layout_width="wrap_content"
|
||||
android:src="@drawable/success" />
|
||||
<LinearLayout
|
||||
android:layout_gravity="center_vertical"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_width="wrap_content"
|
||||
android:orientation="vertical"
|
||||
android:paddingLeft="8dp" >
|
||||
<TextView
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_width="wrap_content"
|
||||
android:text="@string/send_google_fusion_tables"
|
||||
style="@android:style/TextAppearance.DeviceDefault.Medium" />
|
||||
style="@style/TextMedium" />
|
||||
<TextView
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_width="wrap_content"
|
||||
android:text="@string/send_google_fusion_tables_url"
|
||||
style="@android:style/TextAppearance.DeviceDefault.Small" />
|
||||
style="@style/TextSmall" />
|
||||
</LinearLayout>
|
||||
</LinearLayout>
|
||||
<!-- Google Docs result -->
|
||||
@@ -96,36 +89,29 @@ limitations under the License.
|
||||
android:layout_width="wrap_content"
|
||||
android:src="@drawable/success" />
|
||||
<LinearLayout
|
||||
android:layout_gravity="center_vertical"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_width="wrap_content"
|
||||
android:orientation="vertical"
|
||||
android:paddingLeft="8dp" >
|
||||
<TextView
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_width="wrap_content"
|
||||
android:text="@string/send_google_docs"
|
||||
style="@android:style/TextAppearance.DeviceDefault.Medium" />
|
||||
style="@style/TextMedium" />
|
||||
<TextView
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_width="wrap_content"
|
||||
android:text="@string/send_google_docs_url"
|
||||
style="@android:style/TextAppearance.DeviceDefault.Small" />
|
||||
style="@style/TextSmall" />
|
||||
</LinearLayout>
|
||||
</LinearLayout>
|
||||
<!-- Footer -->
|
||||
<TextView
|
||||
android:id="@+id/upload_result_success_footer"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_width="wrap_content"
|
||||
android:padding="8dp"
|
||||
android:text="@string/send_google_success_footer"
|
||||
style="@android:style/TextAppearance.DeviceDefault.Small" />
|
||||
style="@style/TextSmall" />
|
||||
<TextView
|
||||
android:id="@+id/upload_result_error_footer"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_width="wrap_content"
|
||||
android:padding="8dp"
|
||||
android:text="@string/send_google_error"
|
||||
style="@android:style/TextAppearance.DeviceDefault.Medium" />
|
||||
style="@style/TextMedium" />
|
||||
</LinearLayout>
|
||||
</ScrollView>
|
||||
@@ -15,27 +15,21 @@ See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
-->
|
||||
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:layout_height="fill_parent"
|
||||
android:layout_width="fill_parent" >
|
||||
style="@style/ScrollView" >
|
||||
<TableLayout
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_margin="8dp"
|
||||
android:layout_width="fill_parent"
|
||||
android:padding="8dp"
|
||||
android:stretchColumns="1" >
|
||||
<TableRow android:id="@+id/send_google_maps_row" >
|
||||
<ImageView
|
||||
android:contentDescription="@string/send_google_maps"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_width="wrap_content"
|
||||
android:src="@drawable/maps_icon" />
|
||||
android:src="@drawable/maps_icon"
|
||||
style="@style/UploadServiceChooserImageView" />
|
||||
<CheckBox
|
||||
android:id="@+id/send_google_maps"
|
||||
android:layout_gravity="center_vertical"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginLeft="8dp"
|
||||
android:layout_width="0dp"
|
||||
android:text="@string/send_google_maps"
|
||||
style="@android:style/TextAppearance.DeviceDefault.Medium" />
|
||||
style="@style/UploadServiceChooserCheckBox" />
|
||||
</TableRow>
|
||||
<TableRow android:id="@+id/send_google_maps_option_row" >
|
||||
<RadioGroup
|
||||
@@ -45,47 +39,33 @@ limitations under the License.
|
||||
android:layout_width="0dp" >
|
||||
<RadioButton
|
||||
android:id="@+id/send_google_new_map"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_width="wrap_content"
|
||||
android:text="@string/send_google_new_map"
|
||||
style="@android:style/TextAppearance.DeviceDefault.Medium" />
|
||||
style="@style/TextMedium" />
|
||||
<RadioButton
|
||||
android:id="@+id/send_google_existing_map"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_width="wrap_content"
|
||||
android:text="@string/send_google_existing_map"
|
||||
style="@android:style/TextAppearance.DeviceDefault.Medium" />
|
||||
style="@style/TextMedium" />
|
||||
</RadioGroup>
|
||||
</TableRow>
|
||||
<TableRow android:id="@+id/send_google_fusion_tables_row" >
|
||||
<ImageView
|
||||
android:contentDescription="@string/send_google_fusion_tables"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_width="wrap_content"
|
||||
android:src="@drawable/googledocs_icon" />
|
||||
android:src="@drawable/googledocs_icon"
|
||||
style="@style/UploadServiceChooserImageView" />
|
||||
<CheckBox
|
||||
android:id="@+id/send_google_fusion_tables"
|
||||
android:layout_gravity="center_vertical"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginLeft="8dp"
|
||||
android:layout_width="0dp"
|
||||
android:text="@string/send_google_fusion_tables"
|
||||
style="@android:style/TextAppearance.DeviceDefault.Medium" />
|
||||
style="@style/UploadServiceChooserCheckBox" />
|
||||
</TableRow>
|
||||
<TableRow android:id="@+id/send_google_docs_row" >
|
||||
<ImageView
|
||||
android:contentDescription="@string/send_google_docs"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_width="wrap_content"
|
||||
android:src="@drawable/googledocs_icon" />
|
||||
android:src="@drawable/googledocs_icon"
|
||||
style="@style/UploadServiceChooserImageView" />
|
||||
<CheckBox
|
||||
android:id="@+id/send_google_docs"
|
||||
android:layout_gravity="center_vertical"
|
||||
android:layout_height="fill_parent"
|
||||
android:layout_marginLeft="8dp"
|
||||
android:layout_width="0dp"
|
||||
android:text="@string/send_google_docs"
|
||||
style="@android:style/TextAppearance.DeviceDefault.Medium" />
|
||||
style="@style/UploadServiceChooserCheckBox" />
|
||||
</TableRow>
|
||||
</TableLayout>
|
||||
</ScrollView>
|
||||
@@ -15,7 +15,6 @@ See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
-->
|
||||
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:layout_height="fill_parent"
|
||||
android:layout_width="fill_parent" >
|
||||
<include layout="@layout/help_content"/>
|
||||
style="@style/ScrollView" >
|
||||
<include layout="@layout/help_content" />
|
||||
</ScrollView>
|
||||
@@ -18,16 +18,16 @@ limitations under the License.
|
||||
<item
|
||||
android:icon="@drawable/menu_show_on_map"
|
||||
android:id="@+id/list_context_menu_show_on_map"
|
||||
android:showAsAction="always"
|
||||
android:showAsAction="ifRoom"
|
||||
android:title="@string/menu_show_on_map"/>
|
||||
<item
|
||||
android:icon="@drawable/menu_edit"
|
||||
android:id="@+id/list_context_menu_edit"
|
||||
android:showAsAction="always"
|
||||
android:showAsAction="ifRoom"
|
||||
android:title="@string/menu_edit"/>
|
||||
<item
|
||||
android:icon="@drawable/menu_delete"
|
||||
android:id="@+id/list_context_menu_delete"
|
||||
android:showAsAction="always"
|
||||
android:showAsAction="ifRoom"
|
||||
android:title="@string/menu_delete"/>
|
||||
</menu>
|
||||
@@ -18,12 +18,12 @@ limitations under the License.
|
||||
<item
|
||||
android:icon="@drawable/menu_show_on_map"
|
||||
android:id="@+id/marker_detail_show_on_map"
|
||||
android:showAsAction="always"
|
||||
android:showAsAction="ifRoom"
|
||||
android:title="@string/menu_show_on_map"/>
|
||||
<item
|
||||
android:icon="@drawable/menu_edit"
|
||||
android:id="@+id/marker_detail_edit"
|
||||
android:showAsAction="always"
|
||||
android:showAsAction="ifRoom"
|
||||
android:title="@string/menu_edit"/>
|
||||
<item
|
||||
android:icon="@drawable/menu_delete"
|
||||
|
||||
@@ -18,7 +18,7 @@ limitations under the License.
|
||||
<item
|
||||
android:icon="@drawable/menu_insert_marker"
|
||||
android:id="@+id/marker_list_insert_marker"
|
||||
android:showAsAction="always"
|
||||
android:showAsAction="ifRoom"
|
||||
android:title="@string/menu_insert_marker"/>
|
||||
<item
|
||||
android:actionViewClass="android.widget.SearchView"
|
||||
|
||||
@@ -18,22 +18,22 @@ limitations under the License.
|
||||
<item
|
||||
android:icon="@drawable/menu_stop_recording"
|
||||
android:id="@+id/track_detail_stop_recording"
|
||||
android:showAsAction="always"
|
||||
android:showAsAction="ifRoom"
|
||||
android:title="@string/menu_stop_recording"/>
|
||||
<item
|
||||
android:icon="@drawable/menu_insert_marker"
|
||||
android:id="@+id/track_detail_insert_marker"
|
||||
android:showAsAction="always"
|
||||
android:showAsAction="ifRoom"
|
||||
android:title="@string/menu_insert_marker"/>
|
||||
<item
|
||||
android:icon="@drawable/menu_play"
|
||||
android:id="@+id/track_detail_play"
|
||||
android:showAsAction="always"
|
||||
android:showAsAction="ifRoom"
|
||||
android:title="@string/menu_play"/>
|
||||
<item
|
||||
android:icon="@drawable/menu_share"
|
||||
android:id="@+id/track_detail_share"
|
||||
android:showAsAction="always"
|
||||
android:showAsAction="ifRoom"
|
||||
android:title="@string/menu_share">
|
||||
<menu>
|
||||
<item
|
||||
@@ -49,13 +49,16 @@ limitations under the License.
|
||||
</menu>
|
||||
</item>
|
||||
<item
|
||||
android:icon="@drawable/ic_menu_waypoints"
|
||||
android:icon="@drawable/menu_markers"
|
||||
android:id="@+id/track_detail_markers"
|
||||
android:showAsAction="ifRoom"
|
||||
android:title="@string/menu_markers"/>
|
||||
<item
|
||||
android:icon="@drawable/menu_send_google"
|
||||
android:id="@+id/track_detail_send_google"
|
||||
android:title="@string/menu_send_google"/>
|
||||
<item
|
||||
android:icon="@drawable/menu_save"
|
||||
android:id="@+id/track_detail_save"
|
||||
android:title="@string/menu_save">
|
||||
<menu>
|
||||
@@ -74,19 +77,19 @@ limitations under the License.
|
||||
android:id="@+id/track_detail_delete"
|
||||
android:title="@string/menu_delete"/>
|
||||
<item
|
||||
android:icon="@android:drawable/ic_menu_mylocation"
|
||||
android:icon="@drawable/menu_my_location"
|
||||
android:id="@+id/track_detail_my_location"
|
||||
android:title="@string/menu_my_location"/>
|
||||
<item
|
||||
android:icon="@android:drawable/ic_menu_mapmode"
|
||||
android:icon="@drawable/menu_satellite_mode"
|
||||
android:id="@+id/track_detail_satellite_mode"
|
||||
android:title="@string/menu_satellite_mode"/>
|
||||
<item
|
||||
android:icon="@drawable/ic_menu_chartsettings"
|
||||
android:icon="@drawable/menu_chart_settings"
|
||||
android:id="@+id/track_detail_chart_settings"
|
||||
android:title="@string/menu_chart_settings"/>
|
||||
<item
|
||||
android:icon="@drawable/ic_menu_sensorstatus"
|
||||
android:icon="@drawable/menu_sensor_state"
|
||||
android:id="@+id/track_detail_sensor_state"
|
||||
android:title="@string/menu_sensor_state"/>
|
||||
<item
|
||||
|
||||
@@ -18,12 +18,12 @@ limitations under the License.
|
||||
<item
|
||||
android:icon="@drawable/menu_record_track"
|
||||
android:id="@+id/track_list_record_track"
|
||||
android:showAsAction="always"
|
||||
android:showAsAction="ifRoom"
|
||||
android:title="@string/menu_record_track"/>
|
||||
<item
|
||||
android:icon="@drawable/menu_stop_recording"
|
||||
android:id="@+id/track_list_stop_recording"
|
||||
android:showAsAction="always"
|
||||
android:showAsAction="ifRoom"
|
||||
android:title="@string/menu_stop_recording"/>
|
||||
<item
|
||||
android:actionViewClass="android.widget.SearchView"
|
||||
@@ -32,9 +32,11 @@ limitations under the License.
|
||||
android:showAsAction="always|collapseActionView"
|
||||
android:title="@string/menu_search"/>
|
||||
<item
|
||||
android:icon="@drawable/menu_import_all"
|
||||
android:id="@+id/track_list_import_all"
|
||||
android:title="@string/menu_import_all"/>
|
||||
<item
|
||||
android:icon="@drawable/menu_export_all"
|
||||
android:id="@+id/track_list_export_all"
|
||||
android:title="@string/menu_export_all">
|
||||
<menu>
|
||||
@@ -45,9 +47,11 @@ limitations under the License.
|
||||
</menu>
|
||||
</item>
|
||||
<item
|
||||
android:icon="@drawable/menu_delete_all"
|
||||
android:id="@+id/track_list_delete_all"
|
||||
android:title="@string/menu_delete_all"/>
|
||||
<item
|
||||
android:icon="@drawable/menu_aggregated_statistics"
|
||||
android:id="@+id/track_list_aggregated_statistics"
|
||||
android:title="@string/menu_aggregated_statistics"/>
|
||||
<item
|
||||
|
||||
@@ -0,0 +1,33 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!--
|
||||
Copyright 2012 Google Inc.
|
||||
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
You may obtain a copy of the License at
|
||||
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
-->
|
||||
<resources>
|
||||
<!-- The style for large size text -->
|
||||
<style name="TextLarge" parent="@android:style/TextAppearance.DeviceDefault.Large">
|
||||
<item name="android:layout_height">wrap_content</item>
|
||||
<item name="android:layout_width">wrap_content</item>
|
||||
</style>
|
||||
<!-- The style for medium size text -->
|
||||
<style name="TextMedium" parent="@android:style/TextAppearance.DeviceDefault.Medium">
|
||||
<item name="android:layout_height">wrap_content</item>
|
||||
<item name="android:layout_width">wrap_content</item>
|
||||
</style>
|
||||
<!-- The style for large size text -->
|
||||
<style name="TextSmall" parent="@android:style/TextAppearance.DeviceDefault.Small">
|
||||
<item name="android:layout_height">wrap_content</item>
|
||||
<item name="android:layout_width">wrap_content</item>
|
||||
</style>
|
||||
</resources>
|
||||
@@ -17,13 +17,13 @@ limitations under the License.
|
||||
<resources>
|
||||
<color name="black">#FF000000</color>
|
||||
<color name="blue">#FF0000FF</color>
|
||||
<color name="green">#FF00FF00</color>
|
||||
<color name="gray">#FFAAAAAA</color>
|
||||
<color name="red">#FFFF0000</color>
|
||||
<color name="stat_label_background">#FFF0F0F0</color>
|
||||
<color name="stat_label_text">#FF0F0F0F</color>
|
||||
<color name="white">#FFFFFFFF</color>
|
||||
|
||||
<!-- holo_orange_dark -->
|
||||
<color name="background_warning">#FFFF8800</color>
|
||||
|
||||
<!-- Chart colors by series. -->
|
||||
<!-- Green and a transparent green -->
|
||||
<color name="elevation_border">#FF339933</color>
|
||||
|
||||
@@ -494,7 +494,7 @@ limitations under the License.
|
||||
Accuracy (m)
|
||||
</string>
|
||||
<string name="description_location_altitude"
|
||||
translation_description="Label for location altitude in degrees.">
|
||||
translation_description="Label for location altitude in meters.">
|
||||
Altitude (m)
|
||||
</string>
|
||||
<string name="description_location_bearing"
|
||||
@@ -695,8 +695,8 @@ limitations under the License.
|
||||
<string name="gps_need_to_enable"
|
||||
translation_description="In the main view, the message on the top asking the user to enable
|
||||
GPS.">
|
||||
Please tap here to go to \'Location & security\' settings & check
|
||||
\'Use GPS satellites\'. Press the back button to return.
|
||||
Tap here to go to \'Location services\' settings & check \'GPS satellites\'. Press the back
|
||||
button to return.
|
||||
</string>
|
||||
<string name="gps_not_found"
|
||||
translation_description="On application start, message when there is no GPS on the device.">
|
||||
@@ -929,11 +929,6 @@ limitations under the License.
|
||||
'Maps' list page informing the user that he doesn't have any maps.">
|
||||
You don\'t have any maps.
|
||||
</string>
|
||||
<string name="maps_list_pick_map"
|
||||
translation_description="When sending a track to an existing Google Map, the text on the
|
||||
'Maps' list page asking the user to pick one of his maps.">
|
||||
Pick a map:
|
||||
</string>
|
||||
<string name="maps_list_progress_message"
|
||||
translation_description="When sending a track to an existing Google Map, the progress message
|
||||
informing the user that his maps are being loaded.">
|
||||
@@ -946,8 +941,8 @@ limitations under the License.
|
||||
</string>
|
||||
<string name="maps_list_title"
|
||||
translation_description="When sending a track to an existing Google Map, the title of the
|
||||
page listing the user's maps in Google Maps.">
|
||||
Your Google Maps
|
||||
page asking the user to pick a map.">
|
||||
Pick a Map
|
||||
</string>
|
||||
<string name="maps_list_unlisted_label"
|
||||
translation_description="When sending a track to an existing Google Map, in the 'Maps'
|
||||
@@ -2067,81 +2062,81 @@ limitations under the License.
|
||||
I think you might be interested in this track:\n\n%1$s
|
||||
</string>
|
||||
|
||||
<!-- Stat Page -->
|
||||
<string name="stat_average_moving_pace"
|
||||
translation_description="In the 'Statistics' page, the average moving pace.">
|
||||
<!-- Stats Page -->
|
||||
<string name="stats_average_moving_pace"
|
||||
translation_description="In the 'Stats' page, the average moving pace.">
|
||||
Average moving pace
|
||||
</string>
|
||||
<string name="stat_average_moving_speed"
|
||||
translation_description="In the 'Statistics' page, the average moving speed.">
|
||||
<string name="stats_average_moving_speed"
|
||||
translation_description="In the 'Stats' page, the average moving speed.">
|
||||
Average moving speed
|
||||
</string>
|
||||
<string name="stat_average_pace"
|
||||
translation_description="In the 'Statistics' page, the average pace.">
|
||||
<string name="stats_average_pace"
|
||||
translation_description="In the 'Stats' page, the average pace.">
|
||||
Average pace
|
||||
</string>
|
||||
<string name="stat_average_speed"
|
||||
translation_description="In the 'Statistics' page, the average speed.">
|
||||
<string name="stats_average_speed"
|
||||
translation_description="In the 'Stats' page, the average speed.">
|
||||
Average speed
|
||||
</string>
|
||||
<string name="stat_elevation"
|
||||
translation_description="In the 'Statistics' page, the elevation.">
|
||||
<string name="stats_elevation"
|
||||
translation_description="In the 'Stats' page, the elevation.">
|
||||
Elevation
|
||||
</string>
|
||||
<string name="stat_elevation_gain"
|
||||
translation_description="In the 'Statistics' page, the elevation gain.">
|
||||
<string name="stats_elevation_gain"
|
||||
translation_description="In the 'Stats' page, the elevation gain.">
|
||||
Elevation gain
|
||||
</string>
|
||||
<string name="stat_fastest_pace"
|
||||
translation_description="In the 'Statistics' page, the fastest pace.">
|
||||
<string name="stats_fastest_pace"
|
||||
translation_description="In the 'Stats' page, the fastest pace.">
|
||||
Fastest pace
|
||||
</string>
|
||||
<string name="stat_latitude"
|
||||
translation_description="In the 'Statistics' page, the latitude.">
|
||||
<string name="stats_latitude"
|
||||
translation_description="In the 'Stats' page, the latitude.">
|
||||
Latitude
|
||||
</string>
|
||||
<string name="stat_longitude"
|
||||
translation_description="In the 'Statistics' page, the longitude.">
|
||||
<string name="stats_longitude"
|
||||
translation_description="In the 'Stats' page, the longitude.">
|
||||
Longitude
|
||||
</string>
|
||||
<string name="stat_max_elevation"
|
||||
translation_description="In the 'Statistics' page, the maximum elevation.">
|
||||
<string name="stats_max_elevation"
|
||||
translation_description="In the 'Stats' page, the maximum elevation.">
|
||||
Max elevation
|
||||
</string>
|
||||
<string name="stat_max_grade"
|
||||
translation_description="In the 'Statistics' page, the maximum grade.">
|
||||
<string name="stats_max_grade"
|
||||
translation_description="In the 'Stats' page, the maximum grade.">
|
||||
Max grade
|
||||
</string>
|
||||
<string name="stat_max_speed"
|
||||
translation_description="In the 'Statistics' page, the maximum speed.">
|
||||
<string name="stats_max_speed"
|
||||
translation_description="In the 'Stats' page, the maximum speed.">
|
||||
Max speed
|
||||
</string>
|
||||
<string name="stat_min_elevation"
|
||||
translation_description="In the 'Statistics' page, the minimum elevation.">
|
||||
<string name="stats_min_elevation"
|
||||
translation_description="In the 'Stats' page, the minimum elevation.">
|
||||
Min elevation
|
||||
</string>
|
||||
<string name="stat_min_grade"
|
||||
translation_description="In the 'Statistics' page, the minimum grade.">
|
||||
<string name="stats_min_grade"
|
||||
translation_description="In the 'Stats' page, the minimum grade.">
|
||||
Min grade
|
||||
</string>
|
||||
<string name="stat_moving_time"
|
||||
translation_description="In the 'Statistics' page, the moving time.">
|
||||
<string name="stats_moving_time"
|
||||
translation_description="In the 'Stats' page, the moving time.">
|
||||
Moving time
|
||||
</string>
|
||||
<string name="stat_pace"
|
||||
translation_description="In the 'Statistics' page, the pace like hours per mile.">
|
||||
<string name="stats_pace"
|
||||
translation_description="In the 'Stats' page, the pace like hours per mile.">
|
||||
Pace
|
||||
</string>
|
||||
<string name="stat_speed"
|
||||
translation_description="In the 'Statistics' page, the speed like miles per hour.">
|
||||
<string name="stats_speed"
|
||||
translation_description="In the 'Stats' page, the speed like miles per hour.">
|
||||
Speed
|
||||
</string>
|
||||
<string name="stat_total_distance"
|
||||
translation_description="In the 'Statistics' page, the total distance.">
|
||||
<string name="stats_total_distance"
|
||||
translation_description="In the 'Stats' page, the total distance.">
|
||||
Total distance
|
||||
</string>
|
||||
<string name="stat_total_time"
|
||||
translation_description="In the 'Statistics' page, the total time.">
|
||||
<string name="stats_total_time"
|
||||
translation_description="In the 'Stats' page, the total time.">
|
||||
Total time
|
||||
</string>
|
||||
|
||||
@@ -2417,7 +2412,14 @@ limitations under the License.
|
||||
recommended value.">
|
||||
Smallest (recommended)
|
||||
</string>
|
||||
|
||||
<string name="value_coordinate_degree"
|
||||
translation_description="To display a latitude or longitude coordinate in degree. E.g.,
|
||||
2.2 \u00B0. \u00B0 is the unicode value for the degree symbol.
|
||||
|
||||
%1$s: a string value of the coordinate. E.g., '2.2'">
|
||||
%1$s \u00B0
|
||||
</string>
|
||||
|
||||
<!-- Voice -->
|
||||
<string name="voice_hours_few"
|
||||
translation_description="For voice announcement, to say 'few' hours.
|
||||
|
||||
@@ -15,215 +15,145 @@ See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
-->
|
||||
<resources>
|
||||
<style name="ThemeSelector" parent="android:Theme" />
|
||||
|
||||
<!-- The style for the bottom button bar -->
|
||||
<style name="BottomButtonBar" parent="@android:style/DeviceDefault.ButtonBar">
|
||||
<item name="android:layout_height">wrap_content</item>
|
||||
<item name="android:layout_width">fill_parent</item>
|
||||
<item name="android:orientation">horizontal</item>
|
||||
<!-- The style for the about value -->
|
||||
<style name="AboutValue" parent="@style/TextMedium">
|
||||
<item name="android:paddingLeft">48dp</item>
|
||||
</style>
|
||||
<!-- The style for the bottom button -->
|
||||
<style name="BottomButton" parent="@android:style/Widget.DeviceDefault.Button.Borderless">
|
||||
<item name="android:layout_height">wrap_content</item>
|
||||
<item name="android:layout_weight">1</item>
|
||||
<item name="android:layout_width">0dp</item>
|
||||
</style>
|
||||
<!-- The style for the edit category -->
|
||||
<style name="EditCategory" parent="@android:style/TextAppearance.DeviceDefault.Medium">
|
||||
</style>
|
||||
<!-- The style for the bottom button bar -->
|
||||
<style name="BottomButtonBar" parent="@android:style/DeviceDefault.ButtonBar">
|
||||
<item name="android:layout_height">wrap_content</item>
|
||||
<item name="android:layout_width">fill_parent</item>
|
||||
<item name="android:orientation">horizontal</item>
|
||||
</style>
|
||||
<!-- The style for the edit category -->
|
||||
<style name="EditCategory" parent="@style/TextMedium">
|
||||
<item name="android:layout_width">fill_parent</item>
|
||||
<item name="android:selectAllOnFocus">true</item>
|
||||
<item name="android:singleLine">true</item>
|
||||
</style>
|
||||
<!-- The style for the edit description -->
|
||||
<style name="EditDescription" parent="@android:style/TextAppearance.DeviceDefault.Medium">
|
||||
<item name="android:layout_height">wrap_content</item>
|
||||
<style name="EditDescription" parent="@style/TextMedium">
|
||||
<item name="android:inputType">textAutoCorrect|textCapSentences</item>
|
||||
<item name="android:layout_width">fill_parent</item>
|
||||
<item name="android:maxLines">50</item>
|
||||
<item name="android:selectAllOnFocus">true</item>
|
||||
<item name="android:singleLine">false</item>
|
||||
<item name="android:maxLines">50</item>
|
||||
<item name="android:inputType">textAutoCorrect|textCapSentences</item>
|
||||
</style>
|
||||
<!-- The style for the edit label -->
|
||||
<style name="EditLabel" parent="@android:style/TextAppearance.DeviceDefault.Medium">
|
||||
<item name="android:layout_height">wrap_content</item>
|
||||
<item name="android:layout_width">wrap_content</item>
|
||||
</style>
|
||||
<!-- The style for the edit name -->
|
||||
<style name="EditName" parent="@android:style/TextAppearance.DeviceDefault.Medium">
|
||||
<item name="android:layout_height">wrap_content</item>
|
||||
<style name="EditName" parent="@style/TextMedium.WithIcon">
|
||||
<item name="android:inputType">textAutoCorrect|textCapWords</item>
|
||||
<item name="android:layout_width">fill_parent</item>
|
||||
<item name="android:selectAllOnFocus">true</item>
|
||||
<item name="android:singleLine">true</item>
|
||||
<item name="android:inputType">textAutoCorrect|textCapWords</item>
|
||||
</style>
|
||||
<!-- The style for the list empty text view -->
|
||||
<style name="ListEmptyTextView" parent="@style/TextLarge">
|
||||
<item name="android:gravity">center</item>
|
||||
<item name="android:layout_gravity">center</item>
|
||||
<item name="android:padding">8dp</item>
|
||||
</style>
|
||||
<!-- style for the list item stats -->
|
||||
<style name="ListItemStats" parent="@style/TextSmall">
|
||||
<item name="android:singleLine">true</item>
|
||||
<item name="android:textColor">@android:color/secondary_text_dark</item>
|
||||
</style>
|
||||
<!-- The style for the scroll view -->
|
||||
<style name="ScrollView">
|
||||
<item name="android:layout_height">fill_parent</item>
|
||||
<item name="android:layout_width">fill_parent</item>
|
||||
<item name="android:scrollbarStyle">outsideInset</item>
|
||||
</style>
|
||||
<!-- The style for the scroll view with bottom buttons -->
|
||||
<style name="ScrollView.WithBottomButtons">
|
||||
<item name="android:layout_height">0dp</item>
|
||||
<item name="android:layout_weight">1</item>
|
||||
</style>
|
||||
<!-- The style for the sensor state value -->
|
||||
<style name="SensorStateValue" parent="@style/TextLarge">
|
||||
<item name="android:background">@android:color/background_light</item>
|
||||
<item name="android:gravity">right</item>
|
||||
<item name="android:layout_width">fill_parent</item>
|
||||
<item name="android:paddingRight">8dp</item>
|
||||
<item name="android:textColor">@android:color/primary_text_light</item>
|
||||
</style>
|
||||
<!-- The style for the stats label -->
|
||||
<style name="StatsLabel" parent="@style/TextMedium">
|
||||
<item name="android:layout_weight">1</item>
|
||||
<item name="android:layout_width">0dp</item>
|
||||
</style>
|
||||
<!-- The style for the stats spacer -->
|
||||
<style name="StatsSpacer">
|
||||
<item name="android:layout_height">fill_parent</item>
|
||||
<item name="android:layout_width">8dp</item>
|
||||
</style>
|
||||
<!-- The style for the stats value -->
|
||||
<style name="StatsValue" parent="@style/TextLarge">
|
||||
<item name="android:background">@android:color/background_light</item>
|
||||
<item name="android:gravity">right</item>
|
||||
<item name="android:layout_weight">1</item>
|
||||
<item name="android:layout_width">0dp</item>
|
||||
<item name="android:paddingRight">8dp</item>
|
||||
<item name="android:textColor">@android:color/primary_text_light</item>
|
||||
</style>
|
||||
<!-- The style for large size text -->
|
||||
<style name="TextLarge">
|
||||
<item name="android:layout_height">wrap_content</item>
|
||||
<item name="android:layout_width">wrap_content</item>
|
||||
<item name="android:textSize">22sp</item>
|
||||
</style>
|
||||
<!-- The style for large size text with an icon on the left -->
|
||||
<style name="TextLarge.WithIcon">
|
||||
<item name="android:drawablePadding">8dp</item>
|
||||
<item name="android:gravity">center_vertical</item>
|
||||
</style>
|
||||
<!-- The style for the list empty text view -->
|
||||
<style name="ListEmptyTextView" parent="@android:style/TextAppearance.DeviceDefault.Large">
|
||||
<item name="android:gravity">center</item>
|
||||
<item name="android:layout_gravity">center</item>
|
||||
<!-- The style for medium size text -->
|
||||
<style name="TextMedium">
|
||||
<item name="android:layout_height">wrap_content</item>
|
||||
<item name="android:layout_width">wrap_content</item>
|
||||
<item name="android:padding">8dp</item>
|
||||
<item name="android:textSize">18sp</item>
|
||||
</style>
|
||||
<!-- The style for the list item category -->
|
||||
<style name="ListItemCategory" parent="@android:style/TextAppearance.DeviceDefault.Small">
|
||||
<item name="android:layout_height">wrap_content</item>
|
||||
<item name="android:layout_width">wrap_content</item>
|
||||
<item name="android:singleLine">true</item>
|
||||
<item name="android:layout_marginLeft">8dp</item>
|
||||
</style>
|
||||
<!-- The style for the list item description -->
|
||||
<style name="ListItemDescription" parent="@android:style/TextAppearance.DeviceDefault.Small">
|
||||
<item name="android:layout_height">wrap_content</item>
|
||||
<item name="android:layout_width">fill_parent</item>
|
||||
<item name="android:singleLine">false</item>
|
||||
</style>
|
||||
<!-- The style for the list item name -->
|
||||
<style name="ListItemName" parent="@android:style/TextAppearance.DeviceDefault.Large">
|
||||
<item name="android:layout_height">wrap_content</item>
|
||||
<item name="android:layout_width">wrap_content</item>
|
||||
<item name="android:singleLine">true</item>
|
||||
<!-- The style for medium size text with an icon on the left -->
|
||||
<style name="TextMedium.WithIcon">
|
||||
<item name="android:drawablePadding">8dp</item>
|
||||
<item name="android:gravity">center_vertical</item>
|
||||
<item name="android:paddingLeft">9dp</item>
|
||||
</style>
|
||||
<!-- style for the list item stat -->
|
||||
<style name="ListItemStat" parent="@android:style/TextAppearance.DeviceDefault.Small">
|
||||
<!-- The style for large size text -->
|
||||
<style name="TextSmall">
|
||||
<item name="android:layout_height">wrap_content</item>
|
||||
<item name="android:layout_width">wrap_content</item>
|
||||
<item name="android:singleLine">true</item>
|
||||
<item name="android:textColor">@color/green</item>
|
||||
<item name="android:textColor">?android:textColorSecondary</item>
|
||||
<item name="android:textSize">14sp</item>
|
||||
</style>
|
||||
<!-- The style for the marker detail label -->
|
||||
<style name="MarkerDetailLabel" parent="@android:style/TextAppearance.DeviceDefault.Large">
|
||||
<item name="android:layout_height">wrap_content</item>
|
||||
<item name="android:layout_width">wrap_content</item>
|
||||
<!-- Theme selector -->
|
||||
<style name="ThemeSelector" parent="android:Theme" />
|
||||
<!-- The style for the track widget value -->
|
||||
<style name="TrackWidgetValue" parent="@style/TextSmall">
|
||||
<item name="android:width">100dp</item>
|
||||
</style>
|
||||
<!-- The style for the marker detail statistics label -->
|
||||
<style name="MarkerDetailStatisticsLabel" parent="@android:style/TextAppearance.DeviceDefault.Medium">
|
||||
<item name="android:layout_height">wrap_content</item>
|
||||
<!-- The style for upload service chooser check box -->
|
||||
<style name="UploadServiceChooserCheckBox" parent="@style/TextMedium">
|
||||
<item name="android:layout_gravity">center_vertical</item>
|
||||
<item name="android:layout_marginLeft">8dp</item>
|
||||
<item name="android:layout_width">0dp</item>
|
||||
<item name="android:layout_weight">1</item>
|
||||
</style>
|
||||
<!-- The style for the marker detail statistics spacer -->
|
||||
<style name="MarkerDetailStatisticsSpacer">
|
||||
<item name="android:layout_height">fill_parent</item>
|
||||
<item name="android:layout_width">8dp</item>
|
||||
</style>
|
||||
<!-- The style for the marker detail statistics value -->
|
||||
<style name="MarkerDetailStatisticsValue" parent="@android:style/TextAppearance.DeviceDefault.Large">
|
||||
<item name="android:gravity">right</item>
|
||||
<item name="android:textColor">@color/stat_label_text</item>
|
||||
<!-- The style for upload service chooser image view -->
|
||||
<style name="UploadServiceChooserImageView">
|
||||
<item name="android:layout_height">wrap_content</item>
|
||||
<item name="android:layout_width">0dp</item>
|
||||
<item name="android:layout_weight">1</item>
|
||||
<item name="android:background">@android:color/background_light</item>
|
||||
</style>
|
||||
|
||||
<style name="SensorStateLabel">
|
||||
<item name="android:layout_height">wrap_content</item>
|
||||
<item name="android:layout_width">fill_parent</item>
|
||||
<item name="android:paddingLeft">4dp</item>
|
||||
<item name="android:paddingRight">4dp</item>
|
||||
</style>
|
||||
|
||||
<style name="SensorStateValue">
|
||||
<item name="android:background">@color/stat_label_background</item>
|
||||
<item name="android:gravity">right</item>
|
||||
<item name="android:layout_height">wrap_content</item>
|
||||
<item name="android:layout_width">fill_parent</item>
|
||||
<item name="android:paddingLeft">4dp</item>
|
||||
<item name="android:paddingRight">4dp</item>
|
||||
<item name="android:textColor">@color/stat_label_text</item>
|
||||
<item name="android:textSize">40sp</item>
|
||||
</style>
|
||||
|
||||
<!-- The style for a view which divides the numerator and denominator of the units on the statistics activity. -->
|
||||
<style name="StatsDivider" parent="@android:Widget.TextView">
|
||||
<item name="android:background">@color/black</item>
|
||||
<item name="android:layout_height">3dp</item>
|
||||
<item name="android:layout_width">fill_parent</item>
|
||||
</style>
|
||||
|
||||
<!-- The style for a text view for displaying a value on the statistics activity. -->
|
||||
<style name="StatsRegister" parent="@android:Widget.TextView">
|
||||
<item name="android:gravity">right</item>
|
||||
<item name="android:layout_marginBottom">-9dp</item>
|
||||
<item name="android:layout_marginTop">-9dp</item>
|
||||
<item name="android:text">@string/value_unknown</item>
|
||||
<item name="android:textColor">@color/stat_label_text</item>
|
||||
<item name="android:textSize">40sp</item>
|
||||
</style>
|
||||
|
||||
<!-- The style for a text view for displaying a large value on the statistics activity. -->
|
||||
<style name="StatsRegister.Big">
|
||||
<item name="android:layout_marginBottom">-13dp</item>
|
||||
<item name="android:layout_marginTop">-13dp</item>
|
||||
<item name="android:textSize">50sp</item>
|
||||
</style>
|
||||
|
||||
<!-- The style for a text view for displaying a small value on the statistics activity. -->
|
||||
<style name="StatsRegister.Small">
|
||||
<item name="android:layout_height">wrap_content</item>
|
||||
<item name="android:layout_marginBottom">-5dp</item>
|
||||
<item name="android:layout_marginTop">-5dp</item>
|
||||
<item name="android:layout_width">fill_parent</item>
|
||||
<item name="android:textSize">25sp</item>
|
||||
</style>
|
||||
|
||||
<!-- The style for a view which divides two columns in the statistics activity. -->
|
||||
<style name="StatsSpacer" parent="@android:Widget.TextView">
|
||||
<item name="android:background">@color/black</item>
|
||||
<item name="android:layout_marginBottom">-9dp</item>
|
||||
<item name="android:layout_marginTop">-9dp</item>
|
||||
<item name="android:layout_width">5dp</item>
|
||||
<item name="android:textSize">40sp</item>
|
||||
</style>
|
||||
|
||||
<!-- The style for the unit on the statistics activity. -->
|
||||
<style name="StatsUnit" parent="@android:Widget.TextView">
|
||||
<item name="android:gravity">bottom</item>
|
||||
<item name="android:layout_height">wrap_content</item>
|
||||
<item name="android:layout_marginBottom">-2dp</item>
|
||||
<item name="android:layout_marginTop">-2dp</item>
|
||||
<item name="android:layout_width">wrap_content</item>
|
||||
<item name="android:textColor">@color/stat_label_text</item>
|
||||
</style>
|
||||
|
||||
<!-- The style for the unit on the statistics activity where there is only one string. -->
|
||||
<style name="StatsUnitSolo" parent="@android:Widget.TextView">
|
||||
<item name="android:gravity">right</item>
|
||||
<item name="android:layout_marginBottom">-9dp</item>
|
||||
<item name="android:layout_marginTop">-9dp</item>
|
||||
<item name="android:textColor">@color/stat_label_text</item>
|
||||
</style>
|
||||
|
||||
<!-- The style for the welcome page answer -->
|
||||
<style name="WelcomeAnswerTextView" parent="@android:style/TextAppearance.DeviceDefault.Small">
|
||||
<item name="android:layout_height">wrap_content</item>
|
||||
<item name="android:layout_width">wrap_content</item>
|
||||
<style name="WelcomeAnswerTextView" parent="@style/TextSmall">
|
||||
<item name="android:paddingBottom">8dp</item>
|
||||
</style>
|
||||
<!-- The style for welcome page question -->
|
||||
<style name="WelcomeQuestionTextView" parent="@android:style/TextAppearance.DeviceDefault.Medium">
|
||||
<item name="android:layout_height">wrap_content</item>
|
||||
<item name="android:layout_width">wrap_content</item>
|
||||
<item name="android:textStyle">bold</item>
|
||||
<style name="WelcomeQuestionTextView" parent="@style/TextMedium">
|
||||
<item name="android:paddingTop">8dp</item>
|
||||
<item name="android:textStyle">bold</item>
|
||||
</style>
|
||||
|
||||
<!-- Widget TextView -->
|
||||
<style name="WidgetTextView">
|
||||
<item name="android:layout_height">wrap_content</item>
|
||||
<item name="android:layout_width">wrap_content</item>
|
||||
<item name="android:textColor">@color/appwidget_text</item>
|
||||
<item name="android:textSize">14sp</item>
|
||||
</style>
|
||||
|
||||
<!-- Widget TextView value -->
|
||||
<style name="WidgetTextView.Value">
|
||||
<item name="android:width">160px</item>
|
||||
</style>
|
||||
</resources>
|
||||
</resources>
|
||||
@@ -0,0 +1,55 @@
|
||||
/*
|
||||
* Copyright 2012 Google Inc.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License"); you may not
|
||||
* use this file except in compliance with the License. You may obtain a copy of
|
||||
* the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
|
||||
* WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
|
||||
* License for the specific language governing permissions and limitations under
|
||||
* the License.
|
||||
*/
|
||||
|
||||
package com.google.android.apps.mytracks;
|
||||
|
||||
import com.google.android.apps.mytracks.util.ApiAdapterFactory;
|
||||
|
||||
import android.os.Bundle;
|
||||
import android.speech.tts.TextToSpeech;
|
||||
import android.support.v4.app.FragmentActivity;
|
||||
import android.view.MenuItem;
|
||||
|
||||
/**
|
||||
* An abstract class for all My Tracks activities.
|
||||
*
|
||||
* @author Jimmy Shih
|
||||
*/
|
||||
public class AbstractMyTracksActivity extends FragmentActivity {
|
||||
|
||||
@Override
|
||||
protected void onCreate(Bundle savedInstanceState) {
|
||||
super.onCreate(savedInstanceState);
|
||||
setVolumeControlStream(TextToSpeech.Engine.DEFAULT_STREAM);
|
||||
ApiAdapterFactory.getApiAdapter().configureActionBarHomeAsUp(this);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean onOptionsItemSelected(MenuItem item) {
|
||||
if (item.getItemId() != android.R.id.home) {
|
||||
return super.onOptionsItemSelected(item);
|
||||
}
|
||||
onHomeSelected();
|
||||
return true;
|
||||
}
|
||||
|
||||
/**
|
||||
* Callback when the home menu item is selected.
|
||||
*/
|
||||
protected void onHomeSelected() {
|
||||
finish();
|
||||
}
|
||||
}
|
||||
@@ -1,129 +1,68 @@
|
||||
/*
|
||||
* Copyright 2012 Google Inc.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License"); you may not
|
||||
* use this file except in compliance with the License. You may obtain a copy of
|
||||
* the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
|
||||
* WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
|
||||
* License for the specific language governing permissions and limitations under
|
||||
* the License.
|
||||
*/
|
||||
|
||||
package com.google.android.apps.mytracks;
|
||||
|
||||
import com.google.android.apps.mytracks.content.MyTracksProviderUtils;
|
||||
import com.google.android.apps.mytracks.content.Track;
|
||||
import com.google.android.apps.mytracks.stats.TripStatistics;
|
||||
import com.google.android.apps.mytracks.util.ApiAdapterFactory;
|
||||
import com.google.android.apps.mytracks.util.IntentUtils;
|
||||
import com.google.android.apps.mytracks.util.StatsUtils;
|
||||
import com.google.android.maps.mytracks.R;
|
||||
|
||||
import android.app.Activity;
|
||||
import android.content.Context;
|
||||
import android.content.Intent;
|
||||
import android.content.SharedPreferences;
|
||||
import android.content.SharedPreferences.OnSharedPreferenceChangeListener;
|
||||
import android.os.Bundle;
|
||||
import android.util.DisplayMetrics;
|
||||
import android.util.Log;
|
||||
import android.view.MenuItem;
|
||||
import android.widget.ScrollView;
|
||||
import android.widget.TextView;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* Activity for viewing the combined statistics for all the recorded tracks.
|
||||
*
|
||||
* Other features to add - menu items to change setings.
|
||||
* An activity to view aggregated stats from all recorded tracks.
|
||||
*
|
||||
* @author Fergus Nelson
|
||||
*/
|
||||
public class AggregatedStatsActivity extends Activity implements
|
||||
OnSharedPreferenceChangeListener {
|
||||
|
||||
private final StatsUtilities utils;
|
||||
|
||||
private MyTracksProviderUtils tracksProvider;
|
||||
|
||||
private boolean metricUnits = true;
|
||||
|
||||
public AggregatedStatsActivity() {
|
||||
this.utils = new StatsUtilities(this);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onSharedPreferenceChanged(SharedPreferences sharedPreferences,
|
||||
String key) {
|
||||
Log.d(Constants.TAG, "StatsActivity: onSharedPreferences changed "
|
||||
+ key);
|
||||
if (key != null) {
|
||||
if (key.equals(getString(R.string.metric_units_key))) {
|
||||
metricUnits = sharedPreferences.getBoolean(
|
||||
getString(R.string.metric_units_key), true);
|
||||
utils.setMetricUnits(metricUnits);
|
||||
utils.updateUnits();
|
||||
loadAggregatedStats();
|
||||
}
|
||||
}
|
||||
}
|
||||
public class AggregatedStatsActivity extends AbstractMyTracksActivity {
|
||||
|
||||
@Override
|
||||
protected void onCreate(Bundle savedInstanceState) {
|
||||
super.onCreate(savedInstanceState);
|
||||
|
||||
this.tracksProvider = MyTracksProviderUtils.Factory.get(this);
|
||||
|
||||
ApiAdapterFactory.getApiAdapter().configureActionBarHomeAsUp(this);
|
||||
|
||||
setContentView(R.layout.stats);
|
||||
|
||||
ScrollView sv = ((ScrollView) findViewById(R.id.scrolly));
|
||||
sv.setScrollBarStyle(ScrollView.SCROLLBARS_OUTSIDE_INSET);
|
||||
setContentView(R.layout.aggregated_stats);
|
||||
|
||||
SharedPreferences preferences = getSharedPreferences(
|
||||
Constants.SETTINGS_NAME, Context.MODE_PRIVATE);
|
||||
if (preferences != null) {
|
||||
metricUnits = preferences.getBoolean(getString(R.string.metric_units_key), true);
|
||||
preferences.registerOnSharedPreferenceChangeListener(this);
|
||||
}
|
||||
utils.setMetricUnits(metricUnits);
|
||||
utils.updateUnits();
|
||||
utils.setSpeedLabel(R.id.speed_label, R.string.stat_speed, R.string.stat_pace);
|
||||
utils.setSpeedLabels();
|
||||
boolean metricUnits = preferences.getBoolean(getString(R.string.metric_units_key), true);
|
||||
boolean reportSpeed = preferences.getBoolean(getString(R.string.report_speed_key), true);
|
||||
|
||||
DisplayMetrics metrics = new DisplayMetrics();
|
||||
getWindowManager().getDefaultDisplay().getMetrics(metrics);
|
||||
if (metrics.heightPixels > 600) {
|
||||
((TextView) findViewById(R.id.speed_register)).setTextSize(80.0f);
|
||||
}
|
||||
loadAggregatedStats();
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean onOptionsItemSelected(MenuItem item) {
|
||||
if (item.getItemId() != android.R.id.home) {
|
||||
return false;
|
||||
}
|
||||
Intent intent = IntentUtils.newIntent(this, TrackListActivity.class);
|
||||
startActivity(intent);
|
||||
return true;
|
||||
StatsUtils.setSpeedLabels(this, reportSpeed, false);
|
||||
StatsUtils.setTripStatisticsValues(this, getTripStatistics(), metricUnits, reportSpeed);
|
||||
StatsUtils.setLocationElevationValue(this, Double.NaN, metricUnits);
|
||||
}
|
||||
|
||||
/**
|
||||
* 1. Reads tracks from the db
|
||||
* 2. Merges the trip stats from the tracks
|
||||
* 3. Updates the view
|
||||
* Gets the aggregated trip statistics for all the recorded tracks or null if
|
||||
* there is no track.
|
||||
*/
|
||||
private void loadAggregatedStats() {
|
||||
List<Track> tracks = retrieveTracks();
|
||||
TripStatistics rollingStats = null;
|
||||
private TripStatistics getTripStatistics() {
|
||||
List<Track> tracks = MyTracksProviderUtils.Factory.get(this).getAllTracks();
|
||||
TripStatistics tripStatistics = null;
|
||||
if (!tracks.isEmpty()) {
|
||||
rollingStats = new TripStatistics(tracks.iterator().next()
|
||||
.getStatistics());
|
||||
tripStatistics = new TripStatistics(tracks.iterator().next().getStatistics());
|
||||
for (int i = 1; i < tracks.size(); i++) {
|
||||
rollingStats.merge(tracks.get(i).getStatistics());
|
||||
tripStatistics.merge(tracks.get(i).getStatistics());
|
||||
}
|
||||
}
|
||||
updateView(rollingStats);
|
||||
}
|
||||
|
||||
private List<Track> retrieveTracks() {
|
||||
return tracksProvider.getAllTracks();
|
||||
}
|
||||
|
||||
private void updateView(TripStatistics aggStats) {
|
||||
if (aggStats != null) {
|
||||
utils.setAllStats(aggStats);
|
||||
}
|
||||
return tripStatistics;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -215,7 +215,7 @@ public class ChartView extends View {
|
||||
R.color.elevation_border,
|
||||
new ZoomSettings(MAX_INTERVALS,
|
||||
new int[] {5, 10, 25, 50, 100, 250, 500, 1000, 2500, 5000}),
|
||||
R.string.stat_elevation);
|
||||
R.string.stats_elevation);
|
||||
|
||||
series[SPEED_SERIES] =
|
||||
new ChartValueSeries(context,
|
||||
@@ -223,7 +223,7 @@ public class ChartView extends View {
|
||||
R.color.speed_border,
|
||||
new ZoomSettings(MAX_INTERVALS, 0, Integer.MIN_VALUE,
|
||||
new int[] {1, 5, 10, 20, 50}),
|
||||
R.string.stat_speed);
|
||||
R.string.stats_speed);
|
||||
series[POWER_SERIES] =
|
||||
new ChartValueSeries(context,
|
||||
R.color.power_fill,
|
||||
@@ -270,8 +270,8 @@ public class ChartView extends View {
|
||||
|
||||
public void setReportSpeed(boolean reportSpeed, Context c) {
|
||||
series[SPEED_SERIES].setTitle(c.getString(reportSpeed
|
||||
? R.string.stat_speed
|
||||
: R.string.stat_pace));
|
||||
? R.string.stats_speed
|
||||
: R.string.stats_pace));
|
||||
}
|
||||
|
||||
private void addDataPointInternal(double[] theData) {
|
||||
|
||||
@@ -33,14 +33,6 @@ public abstract class Constants {
|
||||
*/
|
||||
public static final String SDCARD_TOP_DIR = "MyTracks";
|
||||
|
||||
/*
|
||||
* Main screen tab tags:
|
||||
*/
|
||||
|
||||
public static final String MAP_TAB_TAG = "map";
|
||||
public static final String STATS_TAB_TAG = "stats";
|
||||
public static final String CHART_TAB_TAG = "chart";
|
||||
|
||||
/**
|
||||
* The number of distance readings to smooth to get a stable signal.
|
||||
*/
|
||||
|
||||
@@ -17,15 +17,9 @@
|
||||
package com.google.android.apps.mytracks;
|
||||
|
||||
import com.google.android.apps.mytracks.fragments.AboutDialogFragment;
|
||||
import com.google.android.apps.mytracks.util.ApiAdapterFactory;
|
||||
import com.google.android.apps.mytracks.util.IntentUtils;
|
||||
import com.google.android.maps.mytracks.R;
|
||||
|
||||
import android.content.Intent;
|
||||
import android.os.Bundle;
|
||||
import android.speech.tts.TextToSpeech;
|
||||
import android.support.v4.app.FragmentActivity;
|
||||
import android.view.MenuItem;
|
||||
import android.view.View;
|
||||
import android.view.View.OnClickListener;
|
||||
|
||||
@@ -34,13 +28,11 @@ import android.view.View.OnClickListener;
|
||||
*
|
||||
* @author Sandor Dornbush
|
||||
*/
|
||||
public class HelpActivity extends FragmentActivity {
|
||||
public class HelpActivity extends AbstractMyTracksActivity {
|
||||
|
||||
@Override
|
||||
public void onCreate(Bundle savedInstanceState) {
|
||||
protected void onCreate(Bundle savedInstanceState) {
|
||||
super.onCreate(savedInstanceState);
|
||||
setVolumeControlStream(TextToSpeech.Engine.DEFAULT_STREAM);
|
||||
ApiAdapterFactory.getApiAdapter().configureActionBarHomeAsUp(this);
|
||||
setContentView(R.layout.help);
|
||||
|
||||
findViewById(R.id.help_ok).setOnClickListener(new OnClickListener() {
|
||||
@@ -55,14 +47,4 @@ public class HelpActivity extends FragmentActivity {
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean onOptionsItemSelected(MenuItem item) {
|
||||
if (item.getItemId() != android.R.id.home) {
|
||||
return false;
|
||||
}
|
||||
Intent intent = IntentUtils.newIntent(this, TrackListActivity.class);
|
||||
startActivity(intent);
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -19,8 +19,6 @@ package com.google.android.apps.mytracks;
|
||||
import com.google.android.apps.mytracks.content.MyTracksProviderUtils;
|
||||
import com.google.android.apps.mytracks.content.Waypoint;
|
||||
import com.google.android.apps.mytracks.fragments.DeleteOneMarkerDialogFragment;
|
||||
import com.google.android.apps.mytracks.stats.TripStatistics;
|
||||
import com.google.android.apps.mytracks.util.ApiAdapterFactory;
|
||||
import com.google.android.apps.mytracks.util.IntentUtils;
|
||||
import com.google.android.apps.mytracks.util.StatsUtils;
|
||||
import com.google.android.maps.mytracks.R;
|
||||
@@ -29,8 +27,6 @@ import android.content.Context;
|
||||
import android.content.Intent;
|
||||
import android.content.SharedPreferences;
|
||||
import android.os.Bundle;
|
||||
import android.speech.tts.TextToSpeech;
|
||||
import android.support.v4.app.FragmentActivity;
|
||||
import android.util.Log;
|
||||
import android.view.Menu;
|
||||
import android.view.MenuItem;
|
||||
@@ -42,7 +38,7 @@ import android.widget.TextView;
|
||||
*
|
||||
* @author Leif Hendrik Wilden
|
||||
*/
|
||||
public class MarkerDetailActivity extends FragmentActivity {
|
||||
public class MarkerDetailActivity extends AbstractMyTracksActivity {
|
||||
|
||||
public static final String EXTRA_MARKER_ID = "marker_id";
|
||||
private static final String TAG = MarkerDetailActivity.class.getSimpleName();
|
||||
@@ -53,8 +49,6 @@ public class MarkerDetailActivity extends FragmentActivity {
|
||||
@Override
|
||||
protected void onCreate(Bundle bundle) {
|
||||
super.onCreate(bundle);
|
||||
setVolumeControlStream(TextToSpeech.Engine.DEFAULT_STREAM);
|
||||
ApiAdapterFactory.getApiAdapter().configureActionBarHomeAsUp(this);
|
||||
setContentView(R.layout.marker_detail);
|
||||
|
||||
markerId = getIntent().getLongExtra(EXTRA_MARKER_ID, -1L);
|
||||
@@ -94,44 +88,9 @@ public class MarkerDetailActivity extends FragmentActivity {
|
||||
boolean metricUnits = preferences.getBoolean(getString(R.string.metric_units_key), true);
|
||||
boolean reportSpeed = preferences.getBoolean(getString(R.string.report_speed_key), true);
|
||||
|
||||
StatsUtils.setSpeedLabel(this, R.id.marker_detail_max_speed_label, R.string.stat_max_speed,
|
||||
R.string.stat_fastest_pace, reportSpeed);
|
||||
StatsUtils.setSpeedLabel(this, R.id.marker_detail_average_speed_label,
|
||||
R.string.stat_average_speed, R.string.stat_average_pace, reportSpeed);
|
||||
StatsUtils.setSpeedLabel(this, R.id.marker_detail_average_moving_speed_label,
|
||||
R.string.stat_average_moving_speed, R.string.stat_average_moving_pace, reportSpeed);
|
||||
|
||||
TripStatistics tripStatistics = waypoint.getStatistics();
|
||||
|
||||
StatsUtils.setDistanceValue(this, R.id.marker_detail_total_distance_value,
|
||||
tripStatistics.getTotalDistance(), metricUnits);
|
||||
StatsUtils.setSpeedValue(this, R.id.marker_detail_max_speed_value,
|
||||
tripStatistics.getMaxSpeed(), reportSpeed, metricUnits);
|
||||
|
||||
StatsUtils.setTimeValue(
|
||||
this, R.id.marker_detail_total_time_value, tripStatistics.getTotalTime());
|
||||
StatsUtils.setSpeedValue(this, R.id.marker_detail_average_speed_value,
|
||||
tripStatistics.getAverageSpeed(), reportSpeed, metricUnits);
|
||||
|
||||
StatsUtils.setTimeValue(
|
||||
this, R.id.marker_detail_moving_time_value, tripStatistics.getMovingTime());
|
||||
StatsUtils.setSpeedValue(this, R.id.marker_detail_average_moving_speed_value,
|
||||
tripStatistics.getAverageMovingSpeed(), reportSpeed, metricUnits);
|
||||
|
||||
StatsUtils.setAltitudeValue(this, R.id.marker_detail_elevation_value,
|
||||
waypoint.getLocation().getAltitude(), metricUnits);
|
||||
StatsUtils.setAltitudeValue(this, R.id.marker_detail_elevation_gain_value,
|
||||
tripStatistics.getTotalElevationGain(), metricUnits);
|
||||
|
||||
StatsUtils.setAltitudeValue(this, R.id.marker_detail_min_elevation_value,
|
||||
tripStatistics.getMinElevation(), metricUnits);
|
||||
StatsUtils.setAltitudeValue(this, R.id.marker_detail_max_elevation_value,
|
||||
tripStatistics.getMaxElevation(), metricUnits);
|
||||
|
||||
StatsUtils.setGradeValue(
|
||||
this, R.id.marker_detail_min_grade_value, tripStatistics.getMinGrade());
|
||||
StatsUtils.setGradeValue(
|
||||
this, R.id.marker_detail_max_grade_value, tripStatistics.getMaxGrade());
|
||||
StatsUtils.setSpeedLabels(this, reportSpeed, false);
|
||||
StatsUtils.setTripStatisticsValues(this, waypoint.getStatistics(), metricUnits, reportSpeed);
|
||||
StatsUtils.setLocationElevationValue(this, waypoint.getLocation().getAltitude(), metricUnits);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -141,15 +100,17 @@ public class MarkerDetailActivity extends FragmentActivity {
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void onHomeSelected() {
|
||||
Intent intent = IntentUtils.newIntent(this, MarkerListActivity.class)
|
||||
.putExtra(MarkerListActivity.EXTRA_TRACK_ID, waypoint.getTrackId());
|
||||
startActivity(intent);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean onOptionsItemSelected(MenuItem item) {
|
||||
Intent intent;
|
||||
switch (item.getItemId()) {
|
||||
case android.R.id.home:
|
||||
intent = IntentUtils.newIntent(this, MarkerListActivity.class)
|
||||
.putExtra(MarkerListActivity.EXTRA_TRACK_ID, waypoint.getTrackId());
|
||||
startActivity(intent);
|
||||
return true;
|
||||
case R.id.marker_detail_show_on_map:
|
||||
intent = IntentUtils.newIntent(this, TrackDetailActivity.class)
|
||||
.putExtra(TrackDetailActivity.EXTRA_MARKER_ID, markerId);
|
||||
|
||||
@@ -22,16 +22,12 @@ import com.google.android.apps.mytracks.content.WaypointCreationRequest;
|
||||
import com.google.android.apps.mytracks.content.WaypointCreationRequest.WaypointType;
|
||||
import com.google.android.apps.mytracks.services.ITrackRecordingService;
|
||||
import com.google.android.apps.mytracks.services.TrackRecordingServiceConnection;
|
||||
import com.google.android.apps.mytracks.util.ApiAdapterFactory;
|
||||
import com.google.android.apps.mytracks.util.TrackRecordingServiceConnectionUtils;
|
||||
import com.google.android.maps.mytracks.R;
|
||||
|
||||
import android.app.Activity;
|
||||
import android.os.Bundle;
|
||||
import android.os.RemoteException;
|
||||
import android.speech.tts.TextToSpeech;
|
||||
import android.util.Log;
|
||||
import android.view.MenuItem;
|
||||
import android.view.View;
|
||||
import android.view.View.OnClickListener;
|
||||
import android.view.inputmethod.EditorInfo;
|
||||
@@ -47,7 +43,7 @@ import android.widget.Toast;
|
||||
*
|
||||
* @author Jimmy Shih
|
||||
*/
|
||||
public class MarkerEditActivity extends Activity {
|
||||
public class MarkerEditActivity extends AbstractMyTracksActivity {
|
||||
|
||||
private static final String TAG = MarkerEditActivity.class.getSimpleName();
|
||||
|
||||
@@ -69,8 +65,6 @@ public class MarkerEditActivity extends Activity {
|
||||
@Override
|
||||
protected void onCreate(Bundle bundle) {
|
||||
super.onCreate(bundle);
|
||||
setVolumeControlStream(TextToSpeech.Engine.DEFAULT_STREAM);
|
||||
ApiAdapterFactory.getApiAdapter().configureActionBarHomeAsUp(this);
|
||||
setContentView(R.layout.marker_edit);
|
||||
|
||||
markerId = getIntent().getLongExtra(EXTRA_MARKER_ID, -1L);
|
||||
@@ -85,6 +79,8 @@ public class MarkerEditActivity extends Activity {
|
||||
boolean statistics = checkedId == R.id.marker_edit_type_statistics;
|
||||
name.setText(
|
||||
statistics ? R.string.marker_edit_type_statistics : R.string.marker_edit_type_waypoint);
|
||||
// Call selectAll so that all EditText have selectAllOnFocus style.
|
||||
name.selectAll();
|
||||
updateUiByMarkerType(statistics);
|
||||
}
|
||||
});
|
||||
@@ -172,15 +168,6 @@ public class MarkerEditActivity extends Activity {
|
||||
trackRecordingServiceConnection.unbind();
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean onOptionsItemSelected(MenuItem item) {
|
||||
if (item.getItemId() != android.R.id.home) {
|
||||
return false;
|
||||
}
|
||||
finish();
|
||||
return true;
|
||||
}
|
||||
|
||||
/**
|
||||
* Adds a marker.
|
||||
*/
|
||||
|
||||
@@ -33,8 +33,6 @@ import android.content.SharedPreferences;
|
||||
import android.content.SharedPreferences.OnSharedPreferenceChangeListener;
|
||||
import android.database.Cursor;
|
||||
import android.os.Bundle;
|
||||
import android.speech.tts.TextToSpeech;
|
||||
import android.support.v4.app.FragmentActivity;
|
||||
import android.support.v4.app.LoaderManager.LoaderCallbacks;
|
||||
import android.support.v4.content.CursorLoader;
|
||||
import android.support.v4.content.Loader;
|
||||
@@ -56,7 +54,7 @@ import android.widget.ListView;
|
||||
*
|
||||
* @author Leif Hendrik Wilden
|
||||
*/
|
||||
public class MarkerListActivity extends FragmentActivity {
|
||||
public class MarkerListActivity extends AbstractMyTracksActivity {
|
||||
|
||||
public static final String EXTRA_TRACK_ID = "track_id";
|
||||
|
||||
@@ -111,9 +109,7 @@ public class MarkerListActivity extends FragmentActivity {
|
||||
return;
|
||||
}
|
||||
|
||||
setVolumeControlStream(TextToSpeech.Engine.DEFAULT_STREAM);
|
||||
setDefaultKeyMode(DEFAULT_KEYS_SEARCH_LOCAL);
|
||||
ApiAdapterFactory.getApiAdapter().configureActionBarHomeAsUp(this);
|
||||
setContentView(R.layout.marker_list);
|
||||
|
||||
SharedPreferences sharedPreferences = getSharedPreferences(
|
||||
@@ -198,9 +194,6 @@ public class MarkerListActivity extends FragmentActivity {
|
||||
@Override
|
||||
public boolean onOptionsItemSelected(MenuItem item) {
|
||||
switch (item.getItemId()) {
|
||||
case android.R.id.home:
|
||||
finish();
|
||||
return true;
|
||||
case R.id.marker_list_insert_marker:
|
||||
Intent intent = IntentUtils.newIntent(this, MarkerEditActivity.class);
|
||||
startActivity(intent);
|
||||
|
||||
@@ -42,8 +42,6 @@ import android.location.Location;
|
||||
import android.location.LocationManager;
|
||||
import android.os.Bundle;
|
||||
import android.provider.SearchRecentSuggestions;
|
||||
import android.speech.tts.TextToSpeech;
|
||||
import android.support.v4.app.FragmentActivity;
|
||||
import android.util.Log;
|
||||
import android.view.ContextMenu;
|
||||
import android.view.ContextMenu.ContextMenuInfo;
|
||||
@@ -69,7 +67,7 @@ import java.util.SortedSet;
|
||||
*
|
||||
* @author Rodrigo Damazio
|
||||
*/
|
||||
public class SearchListActivity extends FragmentActivity {
|
||||
public class SearchListActivity extends AbstractMyTracksActivity {
|
||||
|
||||
private static final String TAG = SearchListActivity.class.getSimpleName();
|
||||
|
||||
@@ -119,9 +117,7 @@ public class SearchListActivity extends FragmentActivity {
|
||||
@Override
|
||||
protected void onCreate(Bundle savedInstanceState) {
|
||||
super.onCreate(savedInstanceState);
|
||||
setVolumeControlStream(TextToSpeech.Engine.DEFAULT_STREAM);
|
||||
setDefaultKeyMode(DEFAULT_KEYS_SEARCH_LOCAL);
|
||||
ApiAdapterFactory.getApiAdapter().configureActionBarHomeAsUp(this);
|
||||
setContentView(R.layout.search_list);
|
||||
|
||||
myTracksProviderUtils = MyTracksProviderUtils.Factory.get(this);
|
||||
@@ -210,9 +206,6 @@ public class SearchListActivity extends FragmentActivity {
|
||||
@Override
|
||||
public boolean onOptionsItemSelected(MenuItem item) {
|
||||
switch (item.getItemId()) {
|
||||
case android.R.id.home:
|
||||
finish();
|
||||
return true;
|
||||
case R.id.search_list_search:
|
||||
return ApiAdapterFactory.getApiAdapter().handleSearchMenuSelection(this);
|
||||
default:
|
||||
|
||||