merge heads
@@ -19,22 +19,18 @@ limitations under the License.
|
|||||||
android:versionCode="39"
|
android:versionCode="39"
|
||||||
android:versionName="1.1.16"
|
android:versionName="1.1.16"
|
||||||
package="com.google.android.maps.mytracks" >
|
package="com.google.android.maps.mytracks" >
|
||||||
|
|
||||||
<!-- Permission to initialize services -->
|
<!-- Permission to initialize services -->
|
||||||
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
|
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
|
||||||
|
|
||||||
<!-- Permissions to record locations -->
|
<!-- Permissions to record locations -->
|
||||||
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
|
<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_FINE_LOCATION" />
|
||||||
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
|
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
|
||||||
<uses-permission android:name="android.permission.WAKE_LOCK" />
|
<uses-permission android:name="android.permission.WAKE_LOCK" />
|
||||||
|
|
||||||
<!-- Permissions to access sensors -->
|
<!-- Permissions to access sensors -->
|
||||||
<uses-permission android:name="com.dsi.ant.permission.ANT" />
|
<uses-permission android:name="com.dsi.ant.permission.ANT" />
|
||||||
<uses-permission android:name="com.dsi.ant.permission.ANT_ADMIN" />
|
<uses-permission android:name="com.dsi.ant.permission.ANT_ADMIN" />
|
||||||
<uses-permission android:name="android.permission.BLUETOOTH" />
|
<uses-permission android:name="android.permission.BLUETOOTH" />
|
||||||
<uses-permission android:name="android.permission.BLUETOOTH_ADMIN" />
|
<uses-permission android:name="android.permission.BLUETOOTH_ADMIN" />
|
||||||
|
|
||||||
<!-- Permissions to upload tracks -->
|
<!-- Permissions to upload tracks -->
|
||||||
<uses-permission android:name="android.permission.GET_ACCOUNTS" />
|
<uses-permission android:name="android.permission.GET_ACCOUNTS" />
|
||||||
<uses-permission android:name="android.permission.INTERNET" />
|
<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.wise" />
|
||||||
<uses-permission android:name="com.google.android.googleapps.permission.GOOGLE_AUTH.writely" />
|
<uses-permission android:name="com.google.android.googleapps.permission.GOOGLE_AUTH.writely" />
|
||||||
<uses-permission android:name="com.google.android.providers.gsf.permission.READ_GSERVICES" />
|
<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 -->
|
<!-- Permission to read phone state so voice announcement will not interrupt ongoing calls -->
|
||||||
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
|
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
|
||||||
|
|
||||||
<!-- Permission to write to SD card -->
|
<!-- Permission to write to SD card -->
|
||||||
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
|
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
|
||||||
|
|
||||||
<!-- Permissions to access My Tracks data -->
|
<!-- 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.MYTRACKS_NOTIFICATIONS" />
|
||||||
<uses-permission android:name="com.google.android.apps.mytracks.READ_TRACK_DATA" />
|
<uses-permission android:name="com.google.android.apps.mytracks.READ_TRACK_DATA" />
|
||||||
<uses-permission android:name="com.google.android.apps.mytracks.WRITE_TRACK_DATA" />
|
<uses-permission android:name="com.google.android.apps.mytracks.WRITE_TRACK_DATA" />
|
||||||
|
|
||||||
<!-- Permission to receive My Tracks internal broadcasts -->
|
<!-- Permission to receive My Tracks internal broadcasts -->
|
||||||
<permission
|
<permission
|
||||||
android:description="@string/permission_notification_label"
|
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:name="com.google.android.apps.mytracks.WRITE_TRACK_DATA"
|
||||||
android:permissionGroup="android.permission-group.LOCATION"
|
android:permissionGroup="android.permission-group.LOCATION"
|
||||||
android:protectionLevel="dangerous" />
|
android:protectionLevel="dangerous" />
|
||||||
|
|
||||||
<uses-sdk
|
<uses-sdk
|
||||||
android:minSdkVersion="7"
|
android:minSdkVersion="7"
|
||||||
android:targetSdkVersion="15" />
|
android:targetSdkVersion="15" />
|
||||||
|
|
||||||
<!-- Required features -->
|
<!-- Required features -->
|
||||||
<uses-feature
|
<uses-feature
|
||||||
android:name="android.hardware.location"
|
android:name="android.hardware.location"
|
||||||
@@ -98,7 +88,6 @@ limitations under the License.
|
|||||||
<uses-feature
|
<uses-feature
|
||||||
android:name="android.hardware.location.gps"
|
android:name="android.hardware.location.gps"
|
||||||
android:required="true" />
|
android:required="true" />
|
||||||
|
|
||||||
<!-- Optional features -->
|
<!-- Optional features -->
|
||||||
<uses-feature
|
<uses-feature
|
||||||
android:name="android.hardware.bluetooth"
|
android:name="android.hardware.bluetooth"
|
||||||
@@ -124,46 +113,38 @@ limitations under the License.
|
|||||||
<uses-feature
|
<uses-feature
|
||||||
android:name="android.hardware.touchscreen.multitouch"
|
android:name="android.hardware.touchscreen.multitouch"
|
||||||
android:required="false" />
|
android:required="false" />
|
||||||
|
|
||||||
<supports-screens
|
<supports-screens
|
||||||
android:anyDensity="true"
|
android:anyDensity="true"
|
||||||
android:largeScreens="true"
|
android:largeScreens="true"
|
||||||
android:normalScreens="true"
|
android:normalScreens="true"
|
||||||
android:smallScreens="true"
|
android:smallScreens="true"
|
||||||
android:xlargeScreens="true" />
|
android:xlargeScreens="true" />
|
||||||
|
|
||||||
<application
|
<application
|
||||||
android:backupAgent="com.google.android.apps.mytracks.io.backup.MyTracksBackupAgent"
|
android:backupAgent="com.google.android.apps.mytracks.io.backup.MyTracksBackupAgent"
|
||||||
android:icon="@drawable/arrow_icon"
|
android:icon="@drawable/arrow_icon"
|
||||||
android:label="@string/my_tracks_app_name"
|
android:label="@string/my_tracks_app_name"
|
||||||
android:name="com.google.android.apps.mytracks.MyTracksApplication"
|
android:name="com.google.android.apps.mytracks.MyTracksApplication"
|
||||||
android:theme="@style/ThemeSelector" >
|
android:theme="@style/ThemeSelector" >
|
||||||
|
|
||||||
<!-- For data backup -->
|
<!-- For data backup -->
|
||||||
<meta-data
|
<meta-data
|
||||||
android:name="com.google.android.backup.api_key"
|
android:name="com.google.android.backup.api_key"
|
||||||
android:value="AEdPqrEAAAAIi-_QiwoRSc9_bAC9cmuNXTQyU8ajJmGtKdhskQ" />
|
android:value="AEdPqrEAAAAIi-_QiwoRSc9_bAC9cmuNXTQyU8ajJmGtKdhskQ" />
|
||||||
|
<!-- Activities -->
|
||||||
<activity
|
<activity
|
||||||
android:label="@string/menu_aggregated_statistics"
|
android:label="@string/menu_aggregated_statistics"
|
||||||
android:name="com.google.android.apps.mytracks.AggregatedStatsActivity" />
|
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
|
<activity
|
||||||
android:label="@string/menu_help"
|
android:label="@string/menu_help"
|
||||||
android:name="com.google.android.apps.mytracks.HelpActivity" />
|
android:name="com.google.android.apps.mytracks.HelpActivity" />
|
||||||
<activity
|
<activity
|
||||||
android:label="@string/my_tracks_importer"
|
android:label="@string/my_tracks_importer"
|
||||||
android:name="com.google.android.apps.mytracks.ImportActivity"
|
android:name="com.google.android.apps.mytracks.ImportActivity" >
|
||||||
android:noHistory="true"
|
|
||||||
android:theme="@android:style/Theme.Translucent.NoTitleBar" >
|
|
||||||
<intent-filter>
|
<intent-filter>
|
||||||
|
|
||||||
<action android:name="android.intent.action.ATTACH_DATA" />
|
<action android:name="android.intent.action.ATTACH_DATA" />
|
||||||
<action android:name="android.intent.action.VIEW" />
|
<action android:name="android.intent.action.VIEW" />
|
||||||
|
|
||||||
<category android:name="android.intent.category.BROWSABLE" />
|
<category android:name="android.intent.category.BROWSABLE" />
|
||||||
<category android:name="android.intent.category.DEFAULT" />
|
<category android:name="android.intent.category.DEFAULT" />
|
||||||
|
|
||||||
<data android:mimeType="application/gpx" />
|
<data android:mimeType="application/gpx" />
|
||||||
<data android:mimeType="application/gpx+xml" />
|
<data android:mimeType="application/gpx+xml" />
|
||||||
<data android:mimeType="application/vnd.google-earth.gpx" />
|
<data android:mimeType="application/vnd.google-earth.gpx" />
|
||||||
@@ -186,7 +167,6 @@ limitations under the License.
|
|||||||
<intent-filter>
|
<intent-filter>
|
||||||
<action android:name="android.intent.action.SEARCH" />
|
<action android:name="android.intent.action.SEARCH" />
|
||||||
</intent-filter>
|
</intent-filter>
|
||||||
|
|
||||||
<meta-data
|
<meta-data
|
||||||
android:name="android.app.searchable"
|
android:name="android.app.searchable"
|
||||||
android:resource="@xml/search" />
|
android:resource="@xml/search" />
|
||||||
@@ -196,37 +176,25 @@ limitations under the License.
|
|||||||
android:name="com.google.android.apps.mytracks.SensorStateActivity" />
|
android:name="com.google.android.apps.mytracks.SensorStateActivity" />
|
||||||
<activity
|
<activity
|
||||||
android:label="@string/settings_title"
|
android:label="@string/settings_title"
|
||||||
android:name="com.google.android.apps.mytracks.SettingsActivity" >
|
android:name="com.google.android.apps.mytracks.SettingsActivity" />
|
||||||
<intent-filter>
|
|
||||||
<category android:name="android.intent.category.PREFERENCE" />
|
|
||||||
</intent-filter>
|
|
||||||
</activity>
|
|
||||||
<activity android:name="com.google.android.apps.mytracks.TrackDetailActivity" />
|
<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" >
|
<activity android:name="com.google.android.apps.mytracks.TrackListActivity" >
|
||||||
<intent-filter>
|
<intent-filter>
|
||||||
<action android:name="android.intent.action.MAIN" />
|
<action android:name="android.intent.action.MAIN" />
|
||||||
|
|
||||||
<category android:name="android.intent.category.LAUNCHER" />
|
<category android:name="android.intent.category.LAUNCHER" />
|
||||||
</intent-filter>
|
</intent-filter>
|
||||||
<meta-data
|
<meta-data
|
||||||
android:name="android.app.default_searchable"
|
android:name="android.app.default_searchable"
|
||||||
android:value="com.google.android.apps.mytracks.SearchListActivity" />
|
android:value="com.google.android.apps.mytracks.SearchListActivity" />
|
||||||
</activity>
|
</activity>
|
||||||
<activity android:name="com.google.android.apps.mytracks.io.backup.BackupActivity"/>
|
<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.RestoreActivity" />
|
||||||
<activity android:name="com.google.android.apps.mytracks.io.backup.RestoreChooserActivity"/>
|
<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.docs.SendDocsActivity" />
|
||||||
<activity
|
<activity android:name="com.google.android.apps.mytracks.io.file.SaveActivity" />
|
||||||
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.fusiontables.SendFusionTablesActivity" />
|
<activity android:name="com.google.android.apps.mytracks.io.fusiontables.SendFusionTablesActivity" />
|
||||||
<activity
|
<activity
|
||||||
android:label="@string/maps_list_title"
|
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.AccountChooserActivity" />
|
||||||
<activity android:name="com.google.android.apps.mytracks.io.sendtogoogle.UploadResultActivity" />
|
<activity android:name="com.google.android.apps.mytracks.io.sendtogoogle.UploadResultActivity" />
|
||||||
<activity android:name="com.google.android.apps.mytracks.io.sendtogoogle.UploadServiceChooserActivity" />
|
<activity android:name="com.google.android.apps.mytracks.io.sendtogoogle.UploadServiceChooserActivity" />
|
||||||
|
<!-- Services -->
|
||||||
<service
|
<service
|
||||||
android:exported="false"
|
android:exported="false"
|
||||||
android:name="com.google.android.apps.mytracks.services.ControlRecordingService" />
|
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:label="@string/my_tracks_recording_service"
|
||||||
android:name="com.google.android.apps.mytracks.services.TrackRecordingService"
|
android:name="com.google.android.apps.mytracks.services.TrackRecordingService"
|
||||||
android:permission="com.google.android.apps.mytracks.WRITE_TRACK_DATA" />
|
android:permission="com.google.android.apps.mytracks.WRITE_TRACK_DATA" />
|
||||||
|
<!-- Receivers -->
|
||||||
<receiver android:name="com.google.android.apps.mytracks.BootReceiver" >
|
<receiver android:name="com.google.android.apps.mytracks.BootReceiver" >
|
||||||
<intent-filter>
|
<intent-filter>
|
||||||
<action android:name="android.intent.action.BOOT_COMPLETED" />
|
<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_STARTED" />
|
||||||
<action android:name="com.google.android.apps.mytracks.TRACK_STOPPED" />
|
<action android:name="com.google.android.apps.mytracks.TRACK_STOPPED" />
|
||||||
</intent-filter>
|
</intent-filter>
|
||||||
|
|
||||||
<meta-data
|
<meta-data
|
||||||
android:name="android.appwidget.provider"
|
android:name="android.appwidget.provider"
|
||||||
android:resource="@xml/track_widget_info" />
|
android:resource="@xml/track_widget_info" />
|
||||||
</receiver>
|
</receiver>
|
||||||
|
<!-- Providers -->
|
||||||
<!-- My Tracks data provider -->
|
<!-- My Tracks data provider -->
|
||||||
<provider
|
<provider
|
||||||
android:authorities="com.google.android.maps.mytracks"
|
android:authorities="com.google.android.maps.mytracks"
|
||||||
@@ -277,8 +244,6 @@ limitations under the License.
|
|||||||
android:authorities="com.google.android.maps.mytracks.search"
|
android:authorities="com.google.android.maps.mytracks.search"
|
||||||
android:exported="false"
|
android:exported="false"
|
||||||
android:name="com.google.android.apps.mytracks.content.SearchEngineProvider" />
|
android:name="com.google.android.apps.mytracks.content.SearchEngineProvider" />
|
||||||
|
|
||||||
<uses-library android:name="com.google.android.maps" />
|
<uses-library android:name="com.google.android.maps" />
|
||||||
</application>
|
</application>
|
||||||
|
|
||||||
</manifest>
|
</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.
|
limitations under the License.
|
||||||
-->
|
-->
|
||||||
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
|
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
android:layout_height="fill_parent"
|
style="@style/ScrollView" >
|
||||||
android:layout_width="fill_parent" >
|
|
||||||
|
|
||||||
<LinearLayout
|
<LinearLayout
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:layout_width="fill_parent"
|
android:layout_width="fill_parent"
|
||||||
android:orientation="vertical"
|
android:orientation="vertical"
|
||||||
android:padding="8dp" >
|
android:padding="8dp" >
|
||||||
|
|
||||||
<TextView
|
<TextView
|
||||||
android:drawableLeft="@drawable/arrow_icon"
|
android:drawableLeft="@drawable/arrow_icon"
|
||||||
android:drawablePadding="8dp"
|
android:text="@string/about_copyright_notice"
|
||||||
android:gravity="center"
|
style="@style/TextMedium.WithIcon" />
|
||||||
android:layout_height="wrap_content"
|
|
||||||
android:layout_width="wrap_content"
|
|
||||||
style="@android:style/TextAppearance.DeviceDefault.Medium"
|
|
||||||
android:text="@string/about_copyright_notice" />
|
|
||||||
|
|
||||||
<TextView
|
<TextView
|
||||||
android:layout_height="wrap_content"
|
android:text="@string/about_version"
|
||||||
android:layout_width="wrap_content"
|
style="@style/TextLarge" />
|
||||||
style="@android:style/TextAppearance.DeviceDefault.Large"
|
|
||||||
android:text="@string/about_version" />
|
|
||||||
|
|
||||||
<TextView
|
<TextView
|
||||||
android:id="@+id/about_version"
|
android:id="@+id/about_version"
|
||||||
android:layout_height="wrap_content"
|
style="@style/AboutValue" />
|
||||||
android:layout_width="wrap_content"
|
|
||||||
android:paddingLeft="48dp"
|
|
||||||
style="@android:style/TextAppearance.DeviceDefault.Medium" />
|
|
||||||
|
|
||||||
<TextView
|
<TextView
|
||||||
android:layout_height="wrap_content"
|
android:text="@string/about_support"
|
||||||
android:layout_width="wrap_content"
|
style="@style/TextLarge" />
|
||||||
style="@android:style/TextAppearance.DeviceDefault.Large"
|
|
||||||
android:text="@string/about_support" />
|
|
||||||
|
|
||||||
<TextView
|
<TextView
|
||||||
android:autoLink="web"
|
android:autoLink="web"
|
||||||
android:layout_height="wrap_content"
|
android:text="@string/my_tracks_support_url"
|
||||||
android:layout_width="wrap_content"
|
style="@style/AboutValue" />
|
||||||
android:paddingLeft="48dp"
|
|
||||||
style="@android:style/TextAppearance.DeviceDefault.Medium"
|
|
||||||
android:text="@string/my_tracks_support_url" />
|
|
||||||
|
|
||||||
<TextView
|
<TextView
|
||||||
android:layout_height="wrap_content"
|
android:text="@string/about_privacy"
|
||||||
android:layout_width="wrap_content"
|
style="@style/TextLarge" />
|
||||||
style="@android:style/TextAppearance.DeviceDefault.Large"
|
|
||||||
android:text="@string/about_privacy" />
|
|
||||||
|
|
||||||
<TextView
|
<TextView
|
||||||
android:autoLink="web"
|
android:autoLink="web"
|
||||||
android:layout_height="wrap_content"
|
android:text="@string/my_tracks_privacy_url"
|
||||||
android:layout_width="wrap_content"
|
style="@style/AboutValue" />
|
||||||
android:paddingLeft="48dp"
|
|
||||||
style="@android:style/TextAppearance.DeviceDefault.Medium"
|
|
||||||
android:text="@string/my_tracks_privacy_url" />
|
|
||||||
</LinearLayout>
|
</LinearLayout>
|
||||||
|
|
||||||
</ScrollView>
|
</ScrollView>
|
||||||
@@ -1,6 +1,6 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?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");
|
Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
you may not use this file except in compliance with 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
|
See the License for the specific language governing permissions and
|
||||||
limitations under the License.
|
limitations under the License.
|
||||||
-->
|
-->
|
||||||
<shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle">
|
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
<gradient android:startColor="#ff999999" android:endColor="#ff777777" android:angle="270"/>
|
style="@style/ScrollView">
|
||||||
</shape>
|
<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.
|
limitations under the License.
|
||||||
-->
|
-->
|
||||||
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
|
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
android:layout_height="fill_parent"
|
style="@style/ScrollView" >
|
||||||
android:layout_width="fill_parent" >
|
|
||||||
|
|
||||||
<LinearLayout
|
<LinearLayout
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:layout_width="fill_parent"
|
android:layout_width="fill_parent"
|
||||||
android:orientation="vertical"
|
android:orientation="vertical"
|
||||||
android:padding="8dp" >
|
android:padding="8dp" >
|
||||||
|
|
||||||
<TextView
|
<TextView
|
||||||
android:drawableLeft="@drawable/x_axis"
|
android:drawableLeft="@drawable/x_axis"
|
||||||
android:drawablePadding="8dp"
|
android:text="@string/chart_settings_x_axis"
|
||||||
android:gravity="bottom"
|
style="@style/TextLarge.WithIcon" />
|
||||||
android:layout_height="wrap_content"
|
|
||||||
android:layout_width="wrap_content"
|
|
||||||
style="@android:style/TextAppearance.DeviceDefault.Large"
|
|
||||||
android:text="@string/chart_settings_x_axis" />
|
|
||||||
|
|
||||||
<RadioGroup
|
<RadioGroup
|
||||||
android:id="@+id/chart_settings_x"
|
android:id="@+id/chart_settings_x"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:layout_width="wrap_content" >
|
android:layout_width="wrap_content" >
|
||||||
|
|
||||||
<RadioButton
|
<RadioButton
|
||||||
android:id="@+id/chart_settings_by_distance"
|
android:id="@+id/chart_settings_by_distance"
|
||||||
android:layout_height="wrap_content"
|
android:text="@string/chart_settings_by_distance"
|
||||||
android:layout_width="wrap_content"
|
style="@style/TextMedium" />
|
||||||
style="@android:style/TextAppearance.DeviceDefault.Medium"
|
|
||||||
android:text="@string/chart_settings_by_distance" />
|
|
||||||
|
|
||||||
<RadioButton
|
<RadioButton
|
||||||
android:id="@+id/chart_settings_by_time"
|
android:id="@+id/chart_settings_by_time"
|
||||||
android:layout_height="wrap_content"
|
android:text="@string/chart_settings_by_time"
|
||||||
android:layout_width="wrap_content"
|
style="@style/TextMedium" />
|
||||||
style="@android:style/TextAppearance.DeviceDefault.Medium"
|
|
||||||
android:text="@string/chart_settings_by_time" />
|
|
||||||
</RadioGroup>
|
</RadioGroup>
|
||||||
|
|
||||||
<TextView
|
<TextView
|
||||||
android:drawableLeft="@drawable/y_axis"
|
android:drawableLeft="@drawable/y_axis"
|
||||||
android:drawablePadding="8dp"
|
android:text="@string/chart_settings_y_axis"
|
||||||
android:gravity="bottom"
|
style="@style/TextLarge.WithIcon" />
|
||||||
android:layout_height="wrap_content"
|
|
||||||
android:layout_width="wrap_content"
|
|
||||||
style="@android:style/TextAppearance.DeviceDefault.Large"
|
|
||||||
android:text="@string/chart_settings_y_axis" />
|
|
||||||
|
|
||||||
<CheckBox
|
<CheckBox
|
||||||
android:id="@+id/chart_settings_elevation"
|
android:id="@+id/chart_settings_elevation"
|
||||||
android:layout_height="wrap_content"
|
android:text="@string/stats_elevation"
|
||||||
android:layout_width="wrap_content"
|
style="@style/TextMedium" />
|
||||||
style="@android:style/TextAppearance.DeviceDefault.Medium"
|
|
||||||
android:text="@string/stat_elevation" />
|
|
||||||
|
|
||||||
<CheckBox
|
<CheckBox
|
||||||
android:id="@+id/chart_settings_speed"
|
android:id="@+id/chart_settings_speed"
|
||||||
android:layout_height="wrap_content"
|
android:text="@string/stats_speed"
|
||||||
android:layout_width="wrap_content"
|
style="@style/TextMedium" />
|
||||||
style="@android:style/TextAppearance.DeviceDefault.Medium"
|
|
||||||
android:text="@string/stat_speed" />
|
|
||||||
|
|
||||||
<CheckBox
|
<CheckBox
|
||||||
android:id="@+id/chart_settings_power"
|
android:id="@+id/chart_settings_power"
|
||||||
android:layout_height="wrap_content"
|
android:text="@string/sensor_state_power"
|
||||||
android:layout_width="wrap_content"
|
style="@style/TextMedium" />
|
||||||
style="@android:style/TextAppearance.DeviceDefault.Medium"
|
|
||||||
android:text="@string/sensor_state_power" />
|
|
||||||
|
|
||||||
<CheckBox
|
<CheckBox
|
||||||
android:id="@+id/chart_settings_cadence"
|
android:id="@+id/chart_settings_cadence"
|
||||||
android:layout_height="wrap_content"
|
android:text="@string/sensor_state_cadence"
|
||||||
android:layout_width="wrap_content"
|
style="@style/TextMedium" />
|
||||||
style="@android:style/TextAppearance.DeviceDefault.Medium"
|
|
||||||
android:text="@string/sensor_state_cadence" />
|
|
||||||
|
|
||||||
<CheckBox
|
<CheckBox
|
||||||
android:id="@+id/chart_settings_heart_rate"
|
android:id="@+id/chart_settings_heart_rate"
|
||||||
android:layout_height="wrap_content"
|
android:text="@string/sensor_state_heart_rate"
|
||||||
android:layout_width="wrap_content"
|
style="@style/TextMedium" />
|
||||||
style="@android:style/TextAppearance.DeviceDefault.Medium"
|
|
||||||
android:text="@string/sensor_state_heart_rate" />
|
|
||||||
</LinearLayout>
|
</LinearLayout>
|
||||||
|
|
||||||
</ScrollView>
|
</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
|
See the License for the specific language governing permissions and
|
||||||
limitations under the License.
|
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_height="fill_parent"
|
||||||
android:layout_width="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"/>
|
|
||||||
<ListView
|
<ListView
|
||||||
android:id="@+id/choose_map_list_view"
|
android:id="@+id/choose_map_list_view"
|
||||||
android:layout_height="fill_parent"
|
android:layout_height="fill_parent"
|
||||||
android:layout_weight="1"
|
android:layout_width="fill_parent" />
|
||||||
android:layout_width="fill_parent"
|
|
||||||
android:padding="5dp"/>
|
|
||||||
<TextView
|
<TextView
|
||||||
android:id="@+id/choose_map_empty_view"
|
android:id="@+id/choose_map_empty_view"
|
||||||
android:gravity="center"
|
style="@style/ListEmptyTextView" >
|
||||||
android:layout_height="fill_parent"
|
</TextView>
|
||||||
android:layout_weight="1"
|
</merge>
|
||||||
android:layout_width="fill_parent"
|
|
||||||
android:padding="5dp"
|
|
||||||
android:textColor="@color/red"
|
|
||||||
android:textSize="16sp"
|
|
||||||
android:textStyle="bold"/>
|
|
||||||
</LinearLayout>
|
|
||||||
|
|||||||
@@ -15,33 +15,23 @@ See the License for the specific language governing permissions and
|
|||||||
limitations under the License.
|
limitations under the License.
|
||||||
-->
|
-->
|
||||||
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
|
android:gravity="center_vertical"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:layout_width="fill_parent"
|
android:layout_width="fill_parent"
|
||||||
|
android:minHeight="?android:attr/listPreferredItemHeight"
|
||||||
android:orientation="vertical"
|
android:orientation="vertical"
|
||||||
android:paddingBottom="2dp"
|
android:padding="8dp" >
|
||||||
android:paddingTop="2dp">
|
|
||||||
<TextView
|
<TextView
|
||||||
android:id="@+id/choose_map_list_item_title"
|
android:id="@+id/choose_map_item_title"
|
||||||
android:layout_height="wrap_content"
|
android:singleLine="true"
|
||||||
android:layout_marginLeft="6dp"
|
style="@style/TextLarge" />
|
||||||
android:layout_marginTop="6dp"
|
|
||||||
android:layout_width="fill_parent"
|
|
||||||
android:textColor="@color/white"
|
|
||||||
android:textSize="18sp"
|
|
||||||
android:textStyle="bold"
|
|
||||||
android:singleLine="true"/>
|
|
||||||
<TextView
|
<TextView
|
||||||
android:id="@+id/choose_map_list_item_description"
|
android:id="@+id/choose_map_item_description"
|
||||||
android:layout_height="wrap_content"
|
android:singleLine="false"
|
||||||
android:layout_marginLeft="6dp"
|
android:textColor="@android:color/secondary_text_dark"
|
||||||
android:layout_width="fill_parent"
|
style="@style/TextSmall" />
|
||||||
android:textSize="14sp"
|
|
||||||
android:singleLine="true"/>
|
|
||||||
<TextView
|
<TextView
|
||||||
android:id="@+id/choose_map_list_item_search_status"
|
android:id="@+id/choose_map_item_search_status"
|
||||||
android:layout_height="wrap_content"
|
android:singleLine="true"
|
||||||
android:layout_marginLeft="6dp"
|
style="@style/TextSmall" />
|
||||||
android:layout_width="fill_parent"
|
</LinearLayout>
|
||||||
android:textSize="14sp"
|
|
||||||
android:singleLine="true"/>
|
|
||||||
</LinearLayout>
|
|
||||||
@@ -18,11 +18,8 @@ limitations under the License.
|
|||||||
android:layout_height="fill_parent"
|
android:layout_height="fill_parent"
|
||||||
android:layout_width="fill_parent"
|
android:layout_width="fill_parent"
|
||||||
android:orientation="vertical" >
|
android:orientation="vertical" >
|
||||||
<ScrollView
|
<ScrollView style="@style/ScrollView.WithBottomButtons" >
|
||||||
android:layout_height="0dp"
|
<include layout="@layout/help_content" />
|
||||||
android:layout_weight="1"
|
|
||||||
android:layout_width="fill_parent" >
|
|
||||||
<include layout="@layout/welcome" />
|
|
||||||
</ScrollView>
|
</ScrollView>
|
||||||
<LinearLayout style="@style/BottomButtonBar" >
|
<LinearLayout style="@style/BottomButtonBar" >
|
||||||
<include layout="@layout/help_buttons" />
|
<include layout="@layout/help_buttons" />
|
||||||
|
|||||||
@@ -27,10 +27,13 @@ limitations under the License.
|
|||||||
android:orientation="horizontal" >
|
android:orientation="horizontal" >
|
||||||
<TextView
|
<TextView
|
||||||
android:id="@+id/list_item_name"
|
android:id="@+id/list_item_name"
|
||||||
style="@style/ListItemName" />
|
android:singleLine="true"
|
||||||
|
style="@style/TextLarge.WithIcon" />
|
||||||
<TextView
|
<TextView
|
||||||
android:id="@+id/list_item_category"
|
android:id="@+id/list_item_category"
|
||||||
style="@style/ListItemCategory" />
|
android:layout_marginLeft="8dp"
|
||||||
|
android:singleLine="true"
|
||||||
|
style="@style/TextSmall" />
|
||||||
</LinearLayout>
|
</LinearLayout>
|
||||||
<LinearLayout
|
<LinearLayout
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
@@ -39,16 +42,18 @@ limitations under the License.
|
|||||||
<TextView
|
<TextView
|
||||||
android:id="@+id/list_item_total_time"
|
android:id="@+id/list_item_total_time"
|
||||||
android:layout_marginRight="8dp"
|
android:layout_marginRight="8dp"
|
||||||
style="@style/ListItemStat" />
|
style="@style/ListItemStats" />
|
||||||
<TextView
|
<TextView
|
||||||
android:id="@+id/list_item_total_distance"
|
android:id="@+id/list_item_total_distance"
|
||||||
android:layout_marginRight="8dp"
|
android:layout_marginRight="8dp"
|
||||||
style="@style/ListItemStat" />
|
style="@style/ListItemStats" />
|
||||||
<TextView
|
<TextView
|
||||||
android:id="@+id/list_item_start_time"
|
android:id="@+id/list_item_start_time"
|
||||||
style="@style/ListItemStat" />
|
style="@style/ListItemStats" />
|
||||||
</LinearLayout>
|
</LinearLayout>
|
||||||
<TextView
|
<TextView
|
||||||
android:id="@+id/list_item_description"
|
android:id="@+id/list_item_description"
|
||||||
style="@style/ListItemDescription" />
|
android:singleLine="false"
|
||||||
|
android:textColor="@android:color/secondary_text_dark"
|
||||||
|
style="@style/TextSmall" />
|
||||||
</LinearLayout>
|
</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.
|
limitations under the License.
|
||||||
-->
|
-->
|
||||||
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
|
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
android:layout_height="fill_parent"
|
style="@style/ScrollView" >
|
||||||
android:layout_width="fill_parent" >
|
|
||||||
<LinearLayout
|
<LinearLayout
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:layout_width="fill_parent"
|
android:layout_width="fill_parent"
|
||||||
@@ -24,7 +23,7 @@ limitations under the License.
|
|||||||
android:padding="8dp" >
|
android:padding="8dp" >
|
||||||
<TextView
|
<TextView
|
||||||
android:id="@+id/marker_detail_name"
|
android:id="@+id/marker_detail_name"
|
||||||
style="@style/MarkerDetailLabel" />
|
style="@style/TextLarge" />
|
||||||
<LinearLayout
|
<LinearLayout
|
||||||
android:id="@+id/marker_detail_waypoint_section"
|
android:id="@+id/marker_detail_waypoint_section"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
@@ -32,131 +31,19 @@ limitations under the License.
|
|||||||
android:orientation="vertical" >
|
android:orientation="vertical" >
|
||||||
<TextView
|
<TextView
|
||||||
android:id="@+id/marker_detail_marker_type"
|
android:id="@+id/marker_detail_marker_type"
|
||||||
style="@style/MarkerDetailLabel" />
|
style="@style/TextLarge" />
|
||||||
<TextView
|
<TextView
|
||||||
android:id="@+id/marker_detail_description"
|
android:id="@+id/marker_detail_description"
|
||||||
style="@style/MarkerDetailLabel" />
|
style="@style/TextLarge" />
|
||||||
</LinearLayout>
|
</LinearLayout>
|
||||||
<TableLayout
|
<TableLayout
|
||||||
android:id="@+id/marker_detail_statistics_section"
|
android:id="@+id/marker_detail_statistics_section"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:layout_width="fill_parent"
|
android:layout_width="fill_parent"
|
||||||
|
android:paddingTop="8dp"
|
||||||
android:shrinkColumns="0,2"
|
android:shrinkColumns="0,2"
|
||||||
android:stretchColumns="0,2" >
|
android:stretchColumns="0,2" >
|
||||||
<!-- Total distance and max speed (fastest pace) -->
|
<include layout="@layout/stats_core" />
|
||||||
<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>
|
|
||||||
</TableLayout>
|
</TableLayout>
|
||||||
</LinearLayout>
|
</LinearLayout>
|
||||||
</ScrollView>
|
</ScrollView>
|
||||||
@@ -18,10 +18,7 @@ limitations under the License.
|
|||||||
android:layout_height="fill_parent"
|
android:layout_height="fill_parent"
|
||||||
android:layout_width="fill_parent"
|
android:layout_width="fill_parent"
|
||||||
android:orientation="vertical" >
|
android:orientation="vertical" >
|
||||||
<ScrollView
|
<ScrollView style="@style/ScrollView.WithBottomButtons" >
|
||||||
android:layout_height="0dp"
|
|
||||||
android:layout_weight="1"
|
|
||||||
android:layout_width="fill_parent" >
|
|
||||||
<LinearLayout
|
<LinearLayout
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:layout_width="fill_parent"
|
android:layout_width="fill_parent"
|
||||||
@@ -34,7 +31,7 @@ limitations under the License.
|
|||||||
android:orientation="vertical" >
|
android:orientation="vertical" >
|
||||||
<TextView
|
<TextView
|
||||||
android:text="@string/marker_edit_type"
|
android:text="@string/marker_edit_type"
|
||||||
style="@style/EditLabel" />
|
style="@style/TextMedium" />
|
||||||
<RadioGroup
|
<RadioGroup
|
||||||
android:id="@+id/marker_edit_type"
|
android:id="@+id/marker_edit_type"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
@@ -42,16 +39,16 @@ limitations under the License.
|
|||||||
<RadioButton
|
<RadioButton
|
||||||
android:id="@+id/marker_edit_type_statistics"
|
android:id="@+id/marker_edit_type_statistics"
|
||||||
android:text="@string/marker_edit_type_statistics"
|
android:text="@string/marker_edit_type_statistics"
|
||||||
style="@style/EditLabel" />
|
style="@style/TextMedium" />
|
||||||
<RadioButton
|
<RadioButton
|
||||||
android:id="@+id/marker_edit_type_waypoint"
|
android:id="@+id/marker_edit_type_waypoint"
|
||||||
android:text="@string/marker_edit_type_waypoint"
|
android:text="@string/marker_edit_type_waypoint"
|
||||||
style="@style/EditLabel" />
|
style="@style/TextMedium" />
|
||||||
</RadioGroup>
|
</RadioGroup>
|
||||||
</LinearLayout>
|
</LinearLayout>
|
||||||
<TextView
|
<TextView
|
||||||
android:text="@string/generic_name"
|
android:text="@string/generic_name"
|
||||||
style="@style/EditLabel" />
|
style="@style/TextMedium" />
|
||||||
<EditText
|
<EditText
|
||||||
android:hint="@string/generic_name"
|
android:hint="@string/generic_name"
|
||||||
android:id="@+id/marker_edit_name"
|
android:id="@+id/marker_edit_name"
|
||||||
@@ -63,7 +60,7 @@ limitations under the License.
|
|||||||
android:orientation="vertical" >
|
android:orientation="vertical" >
|
||||||
<TextView
|
<TextView
|
||||||
android:text="@string/marker_edit_marker_type"
|
android:text="@string/marker_edit_marker_type"
|
||||||
style="@style/EditLabel" />
|
style="@style/TextMedium" />
|
||||||
<AutoCompleteTextView
|
<AutoCompleteTextView
|
||||||
android:hint="@string/marker_edit_marker_type_hint"
|
android:hint="@string/marker_edit_marker_type_hint"
|
||||||
android:id="@+id/marker_edit_marker_type"
|
android:id="@+id/marker_edit_marker_type"
|
||||||
@@ -71,7 +68,7 @@ limitations under the License.
|
|||||||
style="@style/EditCategory" />
|
style="@style/EditCategory" />
|
||||||
<TextView
|
<TextView
|
||||||
android:text="@string/generic_description"
|
android:text="@string/generic_description"
|
||||||
style="@style/EditLabel" />
|
style="@style/TextMedium" />
|
||||||
<EditText
|
<EditText
|
||||||
android:hint="@string/generic_description"
|
android:hint="@string/generic_description"
|
||||||
android:id="@+id/marker_edit_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
|
See the License for the specific language governing permissions and
|
||||||
limitations under the License.
|
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_height="fill_parent"
|
||||||
android:layout_width="fill_parent" >
|
android:layout_width="fill_parent" >
|
||||||
<ListView
|
<ListView
|
||||||
@@ -26,4 +26,4 @@ limitations under the License.
|
|||||||
android:text="@string/marker_list_empty_message"
|
android:text="@string/marker_list_empty_message"
|
||||||
style="@style/ListEmptyTextView" >
|
style="@style/ListEmptyTextView" >
|
||||||
</TextView>
|
</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
|
See the License for the specific language governing permissions and
|
||||||
limitations under the License.
|
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_height="fill_parent"
|
||||||
android:layout_width="fill_parent" >
|
android:layout_width="fill_parent" >
|
||||||
<ListView
|
<ListView
|
||||||
@@ -26,4 +26,4 @@ limitations under the License.
|
|||||||
android:text="@string/search_list_empty_message"
|
android:text="@string/search_list_empty_message"
|
||||||
style="@style/ListEmptyTextView" >
|
style="@style/ListEmptyTextView" >
|
||||||
</TextView>
|
</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
|
See the License for the specific language governing permissions and
|
||||||
limitations under the License.
|
limitations under the License.
|
||||||
-->
|
-->
|
||||||
<LinearLayout
|
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
xmlns:android="http://schemas.android.com/apk/res/android"
|
style="@style/ScrollView" >
|
||||||
android:layout_height="fill_parent"
|
<LinearLayout
|
||||||
android:layout_width="fill_parent"
|
android:layout_height="wrap_content"
|
||||||
android:orientation="vertical">
|
android:layout_width="fill_parent"
|
||||||
<ScrollView
|
android:orientation="vertical"
|
||||||
android:layout_height="0dp"
|
android:padding="8dp" >
|
||||||
android:layout_weight="1"
|
<TextView
|
||||||
android:layout_width="fill_parent">
|
android:text="@string/menu_sensor_state"
|
||||||
<LinearLayout
|
style="@style/TextMedium" />
|
||||||
android:layout_height="wrap_content"
|
<TextView
|
||||||
android:layout_width="fill_parent"
|
android:id="@+id/sensor_state"
|
||||||
android:orientation="vertical">
|
style="@style/SensorStateValue" />
|
||||||
|
<!-- Last sensor time -->
|
||||||
<!-- Sensor state -->
|
<TextView
|
||||||
<TextView
|
android:text="@string/sensor_state_last_sensor_time"
|
||||||
android:text="@string/menu_sensor_state"
|
style="@style/TextMedium" />
|
||||||
style="@style/SensorStateLabel"/>
|
<TextView
|
||||||
<TextView
|
android:id="@+id/sensor_state_last_sensor_time"
|
||||||
android:id="@+id/sensor_state"
|
style="@style/SensorStateValue" />
|
||||||
style="@style/SensorStateValue"/>
|
<!-- Power -->
|
||||||
|
<TextView
|
||||||
<!-- Last sensor time -->
|
android:text="@string/sensor_state_power"
|
||||||
<TextView
|
style="@style/TextMedium" />
|
||||||
android:text="@string/sensor_state_last_sensor_time"
|
<TextView
|
||||||
style="@style/SensorStateLabel"/>
|
android:id="@+id/sensor_state_power"
|
||||||
<TextView
|
style="@style/SensorStateValue" />
|
||||||
android:id="@+id/sensor_state_last_sensor_time"
|
<!-- Cadence -->
|
||||||
style="@style/SensorStateValue"/>
|
<TextView
|
||||||
|
android:text="@string/sensor_state_cadence"
|
||||||
<!-- Power -->
|
style="@style/TextMedium" />
|
||||||
<TextView
|
<TextView
|
||||||
android:text="@string/sensor_state_power"
|
android:id="@+id/sensor_state_cadence"
|
||||||
style="@style/SensorStateLabel"/>
|
style="@style/SensorStateValue" />
|
||||||
<TextView
|
<!-- Heart rate -->
|
||||||
android:id="@+id/sensor_state_power"
|
<TextView
|
||||||
style="@style/SensorStateValue"/>
|
android:text="@string/sensor_state_heart_rate"
|
||||||
|
style="@style/TextMedium" />
|
||||||
<!-- Cadence -->
|
<TextView
|
||||||
<TextView
|
android:id="@+id/sensor_state_heart_rate"
|
||||||
android:text="@string/sensor_state_cadence"
|
style="@style/SensorStateValue" />
|
||||||
style="@style/SensorStateLabel"/>
|
<!-- Battery level -->
|
||||||
<TextView
|
<TextView
|
||||||
android:id="@+id/sensor_state_cadence"
|
android:text="@string/sensor_state_battery"
|
||||||
style="@style/SensorStateValue"/>
|
style="@style/TextMedium" />
|
||||||
|
<TextView
|
||||||
<!-- Heart rate -->
|
android:id="@+id/sensor_state_battery"
|
||||||
<TextView
|
style="@style/SensorStateValue" />
|
||||||
android:text="@string/sensor_state_heart_rate"
|
</LinearLayout>
|
||||||
style="@style/SensorStateLabel"/>
|
</ScrollView>
|
||||||
<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>
|
|
||||||
@@ -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
|
See the License for the specific language governing permissions and
|
||||||
limitations under the License.
|
limitations under the License.
|
||||||
-->
|
-->
|
||||||
<RelativeLayout
|
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
xmlns:android="http://schemas.android.com/apk/res/android"
|
style="@style/ScrollView" >
|
||||||
android:id="@+id/stats_root"
|
<TableLayout
|
||||||
android:layout_height="wrap_content"
|
|
||||||
android:orientation="horizontal"
|
|
||||||
android:layout_width="fill_parent">
|
|
||||||
|
|
||||||
<ScrollView
|
|
||||||
android:id="@+id/scrolly"
|
|
||||||
android:layout_height="wrap_content"
|
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_width="fill_parent"
|
||||||
android:layout_height="fill_parent"
|
android:padding="8dp"
|
||||||
android:padding="3dp"
|
android:shrinkColumns="0,2"
|
||||||
android:visibility="gone">
|
android:stretchColumns="0,2" >
|
||||||
<ProgressBar
|
<!-- Speed on one line -->
|
||||||
android:layout_weight="1"
|
<TableRow>
|
||||||
android:layout_height="0dp"
|
<TextView
|
||||||
android:layout_width="wrap_content"
|
android:id="@+id/stats_speed_label"
|
||||||
android:maxWidth="80dp"
|
style="@style/StatsLabel" />
|
||||||
android:maxHeight="80dp"
|
</TableRow>
|
||||||
android:minWidth="80dp"
|
<TableRow>
|
||||||
android:minHeight="80dp"
|
<TextView
|
||||||
android:layout_gravity="center"/>
|
android:id="@+id/stats_speed_value"
|
||||||
</LinearLayout>
|
style="@style/StatsValue" />
|
||||||
</RelativeLayout>
|
</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_height="fill_parent"
|
||||||
android:layout_width="fill_parent"
|
android:layout_width="fill_parent"
|
||||||
android:orientation="vertical" >
|
android:orientation="vertical" >
|
||||||
<ScrollView
|
<ScrollView style="@style/ScrollView.WithBottomButtons" >
|
||||||
android:layout_height="0dp"
|
|
||||||
android:layout_weight="1"
|
|
||||||
android:layout_width="fill_parent" >
|
|
||||||
<LinearLayout
|
<LinearLayout
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:layout_width="fill_parent"
|
android:layout_width="fill_parent"
|
||||||
@@ -29,7 +26,7 @@ limitations under the License.
|
|||||||
android:padding="8dp" >
|
android:padding="8dp" >
|
||||||
<TextView
|
<TextView
|
||||||
android:text="@string/generic_name"
|
android:text="@string/generic_name"
|
||||||
style="@style/EditLabel" />
|
style="@style/TextMedium" />
|
||||||
<EditText
|
<EditText
|
||||||
android:drawableLeft="@drawable/track"
|
android:drawableLeft="@drawable/track"
|
||||||
android:hint="@string/generic_name"
|
android:hint="@string/generic_name"
|
||||||
@@ -38,7 +35,7 @@ limitations under the License.
|
|||||||
style="@style/EditName" />
|
style="@style/EditName" />
|
||||||
<TextView
|
<TextView
|
||||||
android:text="@string/track_edit_activity_type"
|
android:text="@string/track_edit_activity_type"
|
||||||
style="@style/EditLabel" />
|
style="@style/TextMedium" />
|
||||||
<AutoCompleteTextView
|
<AutoCompleteTextView
|
||||||
android:hint="@string/track_edit_activity_type_hint"
|
android:hint="@string/track_edit_activity_type_hint"
|
||||||
android:id="@+id/track_edit_activity_type"
|
android:id="@+id/track_edit_activity_type"
|
||||||
@@ -46,7 +43,7 @@ limitations under the License.
|
|||||||
style="@style/EditCategory" />
|
style="@style/EditCategory" />
|
||||||
<TextView
|
<TextView
|
||||||
android:text="@string/generic_description"
|
android:text="@string/generic_description"
|
||||||
style="@style/EditLabel" />
|
style="@style/TextMedium" />
|
||||||
<EditText
|
<EditText
|
||||||
android:hint="@string/generic_description"
|
android:hint="@string/generic_description"
|
||||||
android:id="@+id/track_edit_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
|
See the License for the specific language governing permissions and
|
||||||
limitations under the License.
|
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_height="fill_parent"
|
||||||
android:layout_width="fill_parent" >
|
android:layout_width="fill_parent" >
|
||||||
<ListView
|
<ListView
|
||||||
@@ -26,7 +26,7 @@ limitations under the License.
|
|||||||
android:id="@+id/track_list_empty"
|
android:id="@+id/track_list_empty"
|
||||||
android:layout_height="fill_parent"
|
android:layout_height="fill_parent"
|
||||||
android:layout_width="fill_parent"
|
android:layout_width="fill_parent"
|
||||||
android:orientation="vertical">
|
android:orientation="vertical" >
|
||||||
<TextView
|
<TextView
|
||||||
android:text="@string/track_list_empty_message"
|
android:text="@string/track_list_empty_message"
|
||||||
style="@style/ListEmptyTextView" >
|
style="@style/ListEmptyTextView" >
|
||||||
@@ -40,4 +40,4 @@ limitations under the License.
|
|||||||
android:src="@drawable/menu_record_track"
|
android:src="@drawable/menu_record_track"
|
||||||
style="@android:style/Widget.DeviceDefault.ImageButton" />
|
style="@android:style/Widget.DeviceDefault.ImageButton" />
|
||||||
</LinearLayout>
|
</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
|
See the License for the specific language governing permissions and
|
||||||
limitations under the License.
|
limitations under the License.
|
||||||
-->
|
-->
|
||||||
|
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
<LinearLayout
|
android:background="@drawable/appwidget_background"
|
||||||
xmlns:android="http://schemas.android.com/apk/res/android"
|
|
||||||
android:layout_width="fill_parent"
|
|
||||||
android:layout_height="fill_parent"
|
android:layout_height="fill_parent"
|
||||||
|
android:layout_width="fill_parent"
|
||||||
|
android:paddingBottom="5dp"
|
||||||
android:paddingLeft="10dp"
|
android:paddingLeft="10dp"
|
||||||
android:paddingRight="10dp"
|
android:paddingRight="10dp"
|
||||||
android:paddingTop="5dp"
|
android:paddingTop="5dp" >
|
||||||
android:paddingBottom="5dp">
|
<ImageButton
|
||||||
<LinearLayout
|
android:background="@android:color/transparent"
|
||||||
|
android:contentDescription="@string/my_tracks_app_name"
|
||||||
|
android:id="@+id/appwidget_button"
|
||||||
android:layout_height="fill_parent"
|
android:layout_height="fill_parent"
|
||||||
android:layout_width="fill_parent"
|
android:layout_width="wrap_content"
|
||||||
android:background="@drawable/appwidget_background">
|
android:paddingLeft="10dp"
|
||||||
<ImageButton
|
android:paddingRight="10dp"
|
||||||
android:id="@+id/appwidget_button"
|
android:src="@drawable/appwidget_button_disabled" />
|
||||||
android:layout_height="fill_parent"
|
<LinearLayout
|
||||||
android:layout_width="wrap_content"
|
android:clickable="true"
|
||||||
android:background="@android:color/transparent"
|
android:id="@+id/appwidget_track_statistics"
|
||||||
android:paddingLeft="10dp"
|
android:layout_height="fill_parent"
|
||||||
android:paddingRight="10dp"
|
android:layout_weight="1"
|
||||||
android:src="@drawable/appwidget_button_disabled" />
|
android:layout_width="0dp"
|
||||||
|
android:orientation="vertical"
|
||||||
|
android:paddingLeft="16dp" >
|
||||||
<LinearLayout
|
<LinearLayout
|
||||||
android:id="@+id/appwidget_track_statistics"
|
android:layout_height="wrap_content"
|
||||||
android:layout_height="fill_parent"
|
android:layout_width="fill_parent"
|
||||||
android:layout_width="0dp"
|
android:orientation="horizontal" >
|
||||||
android:layout_weight="1"
|
<TextView
|
||||||
android:clickable="true"
|
android:id="@+id/appwidget_distance_text"
|
||||||
android:orientation="vertical"
|
style="@style/TrackWidgetValue" />
|
||||||
android:paddingLeft="15dp">
|
<TextView
|
||||||
<LinearLayout
|
android:text="@string/stats_total_distance"
|
||||||
android:layout_height="wrap_content"
|
style="@style/TextSmall" />
|
||||||
android:layout_width="fill_parent"
|
</LinearLayout>
|
||||||
android:orientation="horizontal">
|
<LinearLayout
|
||||||
<TextView
|
android:background="@color/appwidget_hr"
|
||||||
style="@style/WidgetTextView.Value"
|
android:layout_height="1dp"
|
||||||
android:id="@+id/appwidget_distance_text" />
|
android:layout_width="fill_parent" />
|
||||||
<TextView
|
<LinearLayout
|
||||||
style="@style/WidgetTextView"
|
android:layout_height="wrap_content"
|
||||||
android:text="@string/stat_total_distance" />
|
android:layout_width="fill_parent"
|
||||||
</LinearLayout>
|
android:orientation="horizontal" >
|
||||||
<LinearLayout
|
<TextView
|
||||||
android:layout_width="fill_parent"
|
android:id="@+id/appwidget_time_text"
|
||||||
android:layout_height="1dp"
|
style="@style/TrackWidgetValue" />
|
||||||
android:background="@color/appwidget_hr" />
|
<TextView
|
||||||
<LinearLayout
|
android:text="@string/stats_moving_time"
|
||||||
android:layout_height="wrap_content"
|
style="@style/TextSmall" />
|
||||||
android:layout_width="fill_parent"
|
</LinearLayout>
|
||||||
android:orientation="horizontal"
|
<LinearLayout
|
||||||
android:paddingBottom="2dp">
|
android:background="@color/appwidget_hr"
|
||||||
<TextView
|
android:layout_height="1dp"
|
||||||
style="@style/WidgetTextView.Value"
|
android:layout_width="fill_parent" />
|
||||||
android:id="@+id/appwidget_time_text" />
|
<LinearLayout
|
||||||
<TextView
|
android:layout_height="wrap_content"
|
||||||
style="@style/WidgetTextView"
|
android:layout_width="fill_parent"
|
||||||
android:text="@string/stat_moving_time" />
|
android:orientation="horizontal" >
|
||||||
</LinearLayout>
|
<TextView
|
||||||
<LinearLayout
|
android:id="@+id/appwidget_speed_text"
|
||||||
android:layout_width="fill_parent"
|
style="@style/TrackWidgetValue" />
|
||||||
android:layout_height="1dp"
|
<TextView
|
||||||
android:background="@color/appwidget_hr" />
|
android:text="@string/stats_speed"
|
||||||
<LinearLayout
|
style="@style/TextSmall" />
|
||||||
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>
|
|
||||||
</LinearLayout>
|
</LinearLayout>
|
||||||
</LinearLayout>
|
</LinearLayout>
|
||||||
</LinearLayout>
|
</LinearLayout>
|
||||||
@@ -15,13 +15,12 @@ See the License for the specific language governing permissions and
|
|||||||
limitations under the License.
|
limitations under the License.
|
||||||
-->
|
-->
|
||||||
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
|
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
android:layout_height="fill_parent"
|
style="@style/ScrollView" >
|
||||||
android:layout_margin="8dp"
|
|
||||||
android:layout_width="fill_parent" >
|
|
||||||
<LinearLayout
|
<LinearLayout
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:layout_width="fill_parent"
|
android:layout_width="fill_parent"
|
||||||
android:orientation="vertical" >
|
android:orientation="vertical"
|
||||||
|
android:padding="8dp" >
|
||||||
<!-- Google Maps result -->
|
<!-- Google Maps result -->
|
||||||
<LinearLayout
|
<LinearLayout
|
||||||
android:id="@+id/upload_result_maps_result"
|
android:id="@+id/upload_result_maps_result"
|
||||||
@@ -36,20 +35,17 @@ limitations under the License.
|
|||||||
android:layout_width="wrap_content"
|
android:layout_width="wrap_content"
|
||||||
android:src="@drawable/success" />
|
android:src="@drawable/success" />
|
||||||
<LinearLayout
|
<LinearLayout
|
||||||
|
android:layout_gravity="center_vertical"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:layout_width="wrap_content"
|
android:layout_width="wrap_content"
|
||||||
android:orientation="vertical"
|
android:orientation="vertical"
|
||||||
android:paddingLeft="8dp" >
|
android:paddingLeft="8dp" >
|
||||||
<TextView
|
<TextView
|
||||||
android:layout_height="wrap_content"
|
|
||||||
android:layout_width="wrap_content"
|
|
||||||
android:text="@string/send_google_maps"
|
android:text="@string/send_google_maps"
|
||||||
style="@android:style/TextAppearance.DeviceDefault.Medium" />
|
style="@style/TextMedium" />
|
||||||
<TextView
|
<TextView
|
||||||
android:layout_height="wrap_content"
|
|
||||||
android:layout_width="wrap_content"
|
|
||||||
android:text="@string/send_google_maps_url"
|
android:text="@string/send_google_maps_url"
|
||||||
style="@android:style/TextAppearance.DeviceDefault.Small" />
|
style="@style/TextSmall" />
|
||||||
</LinearLayout>
|
</LinearLayout>
|
||||||
</LinearLayout>
|
</LinearLayout>
|
||||||
<!-- Google Fusion Tables result -->
|
<!-- Google Fusion Tables result -->
|
||||||
@@ -66,20 +62,17 @@ limitations under the License.
|
|||||||
android:layout_width="wrap_content"
|
android:layout_width="wrap_content"
|
||||||
android:src="@drawable/success" />
|
android:src="@drawable/success" />
|
||||||
<LinearLayout
|
<LinearLayout
|
||||||
|
android:layout_gravity="center_vertical"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:layout_width="wrap_content"
|
android:layout_width="wrap_content"
|
||||||
android:orientation="vertical"
|
android:orientation="vertical"
|
||||||
android:paddingLeft="8dp" >
|
android:paddingLeft="8dp" >
|
||||||
<TextView
|
<TextView
|
||||||
android:layout_height="wrap_content"
|
|
||||||
android:layout_width="wrap_content"
|
|
||||||
android:text="@string/send_google_fusion_tables"
|
android:text="@string/send_google_fusion_tables"
|
||||||
style="@android:style/TextAppearance.DeviceDefault.Medium" />
|
style="@style/TextMedium" />
|
||||||
<TextView
|
<TextView
|
||||||
android:layout_height="wrap_content"
|
|
||||||
android:layout_width="wrap_content"
|
|
||||||
android:text="@string/send_google_fusion_tables_url"
|
android:text="@string/send_google_fusion_tables_url"
|
||||||
style="@android:style/TextAppearance.DeviceDefault.Small" />
|
style="@style/TextSmall" />
|
||||||
</LinearLayout>
|
</LinearLayout>
|
||||||
</LinearLayout>
|
</LinearLayout>
|
||||||
<!-- Google Docs result -->
|
<!-- Google Docs result -->
|
||||||
@@ -96,36 +89,29 @@ limitations under the License.
|
|||||||
android:layout_width="wrap_content"
|
android:layout_width="wrap_content"
|
||||||
android:src="@drawable/success" />
|
android:src="@drawable/success" />
|
||||||
<LinearLayout
|
<LinearLayout
|
||||||
|
android:layout_gravity="center_vertical"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:layout_width="wrap_content"
|
android:layout_width="wrap_content"
|
||||||
android:orientation="vertical"
|
android:orientation="vertical"
|
||||||
android:paddingLeft="8dp" >
|
android:paddingLeft="8dp" >
|
||||||
<TextView
|
<TextView
|
||||||
android:layout_height="wrap_content"
|
|
||||||
android:layout_width="wrap_content"
|
|
||||||
android:text="@string/send_google_docs"
|
android:text="@string/send_google_docs"
|
||||||
style="@android:style/TextAppearance.DeviceDefault.Medium" />
|
style="@style/TextMedium" />
|
||||||
<TextView
|
<TextView
|
||||||
android:layout_height="wrap_content"
|
|
||||||
android:layout_width="wrap_content"
|
|
||||||
android:text="@string/send_google_docs_url"
|
android:text="@string/send_google_docs_url"
|
||||||
style="@android:style/TextAppearance.DeviceDefault.Small" />
|
style="@style/TextSmall" />
|
||||||
</LinearLayout>
|
</LinearLayout>
|
||||||
</LinearLayout>
|
</LinearLayout>
|
||||||
<!-- Footer -->
|
<!-- Footer -->
|
||||||
<TextView
|
<TextView
|
||||||
android:id="@+id/upload_result_success_footer"
|
android:id="@+id/upload_result_success_footer"
|
||||||
android:layout_height="wrap_content"
|
|
||||||
android:layout_width="wrap_content"
|
|
||||||
android:padding="8dp"
|
android:padding="8dp"
|
||||||
android:text="@string/send_google_success_footer"
|
android:text="@string/send_google_success_footer"
|
||||||
style="@android:style/TextAppearance.DeviceDefault.Small" />
|
style="@style/TextSmall" />
|
||||||
<TextView
|
<TextView
|
||||||
android:id="@+id/upload_result_error_footer"
|
android:id="@+id/upload_result_error_footer"
|
||||||
android:layout_height="wrap_content"
|
|
||||||
android:layout_width="wrap_content"
|
|
||||||
android:padding="8dp"
|
android:padding="8dp"
|
||||||
android:text="@string/send_google_error"
|
android:text="@string/send_google_error"
|
||||||
style="@android:style/TextAppearance.DeviceDefault.Medium" />
|
style="@style/TextMedium" />
|
||||||
</LinearLayout>
|
</LinearLayout>
|
||||||
</ScrollView>
|
</ScrollView>
|
||||||
@@ -15,27 +15,21 @@ See the License for the specific language governing permissions and
|
|||||||
limitations under the License.
|
limitations under the License.
|
||||||
-->
|
-->
|
||||||
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
|
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
android:layout_height="fill_parent"
|
style="@style/ScrollView" >
|
||||||
android:layout_width="fill_parent" >
|
|
||||||
<TableLayout
|
<TableLayout
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:layout_margin="8dp"
|
|
||||||
android:layout_width="fill_parent"
|
android:layout_width="fill_parent"
|
||||||
|
android:padding="8dp"
|
||||||
android:stretchColumns="1" >
|
android:stretchColumns="1" >
|
||||||
<TableRow android:id="@+id/send_google_maps_row" >
|
<TableRow android:id="@+id/send_google_maps_row" >
|
||||||
<ImageView
|
<ImageView
|
||||||
android:contentDescription="@string/send_google_maps"
|
android:contentDescription="@string/send_google_maps"
|
||||||
android:layout_height="wrap_content"
|
android:src="@drawable/maps_icon"
|
||||||
android:layout_width="wrap_content"
|
style="@style/UploadServiceChooserImageView" />
|
||||||
android:src="@drawable/maps_icon" />
|
|
||||||
<CheckBox
|
<CheckBox
|
||||||
android:id="@+id/send_google_maps"
|
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"
|
android:text="@string/send_google_maps"
|
||||||
style="@android:style/TextAppearance.DeviceDefault.Medium" />
|
style="@style/UploadServiceChooserCheckBox" />
|
||||||
</TableRow>
|
</TableRow>
|
||||||
<TableRow android:id="@+id/send_google_maps_option_row" >
|
<TableRow android:id="@+id/send_google_maps_option_row" >
|
||||||
<RadioGroup
|
<RadioGroup
|
||||||
@@ -45,47 +39,33 @@ limitations under the License.
|
|||||||
android:layout_width="0dp" >
|
android:layout_width="0dp" >
|
||||||
<RadioButton
|
<RadioButton
|
||||||
android:id="@+id/send_google_new_map"
|
android:id="@+id/send_google_new_map"
|
||||||
android:layout_height="wrap_content"
|
|
||||||
android:layout_width="wrap_content"
|
|
||||||
android:text="@string/send_google_new_map"
|
android:text="@string/send_google_new_map"
|
||||||
style="@android:style/TextAppearance.DeviceDefault.Medium" />
|
style="@style/TextMedium" />
|
||||||
<RadioButton
|
<RadioButton
|
||||||
android:id="@+id/send_google_existing_map"
|
android:id="@+id/send_google_existing_map"
|
||||||
android:layout_height="wrap_content"
|
|
||||||
android:layout_width="wrap_content"
|
|
||||||
android:text="@string/send_google_existing_map"
|
android:text="@string/send_google_existing_map"
|
||||||
style="@android:style/TextAppearance.DeviceDefault.Medium" />
|
style="@style/TextMedium" />
|
||||||
</RadioGroup>
|
</RadioGroup>
|
||||||
</TableRow>
|
</TableRow>
|
||||||
<TableRow android:id="@+id/send_google_fusion_tables_row" >
|
<TableRow android:id="@+id/send_google_fusion_tables_row" >
|
||||||
<ImageView
|
<ImageView
|
||||||
android:contentDescription="@string/send_google_fusion_tables"
|
android:contentDescription="@string/send_google_fusion_tables"
|
||||||
android:layout_height="wrap_content"
|
android:src="@drawable/googledocs_icon"
|
||||||
android:layout_width="wrap_content"
|
style="@style/UploadServiceChooserImageView" />
|
||||||
android:src="@drawable/googledocs_icon" />
|
|
||||||
<CheckBox
|
<CheckBox
|
||||||
android:id="@+id/send_google_fusion_tables"
|
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"
|
android:text="@string/send_google_fusion_tables"
|
||||||
style="@android:style/TextAppearance.DeviceDefault.Medium" />
|
style="@style/UploadServiceChooserCheckBox" />
|
||||||
</TableRow>
|
</TableRow>
|
||||||
<TableRow android:id="@+id/send_google_docs_row" >
|
<TableRow android:id="@+id/send_google_docs_row" >
|
||||||
<ImageView
|
<ImageView
|
||||||
android:contentDescription="@string/send_google_docs"
|
android:contentDescription="@string/send_google_docs"
|
||||||
android:layout_height="wrap_content"
|
android:src="@drawable/googledocs_icon"
|
||||||
android:layout_width="wrap_content"
|
style="@style/UploadServiceChooserImageView" />
|
||||||
android:src="@drawable/googledocs_icon" />
|
|
||||||
<CheckBox
|
<CheckBox
|
||||||
android:id="@+id/send_google_docs"
|
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"
|
android:text="@string/send_google_docs"
|
||||||
style="@android:style/TextAppearance.DeviceDefault.Medium" />
|
style="@style/UploadServiceChooserCheckBox" />
|
||||||
</TableRow>
|
</TableRow>
|
||||||
</TableLayout>
|
</TableLayout>
|
||||||
</ScrollView>
|
</ScrollView>
|
||||||
@@ -15,7 +15,6 @@ See the License for the specific language governing permissions and
|
|||||||
limitations under the License.
|
limitations under the License.
|
||||||
-->
|
-->
|
||||||
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
|
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
android:layout_height="fill_parent"
|
style="@style/ScrollView" >
|
||||||
android:layout_width="fill_parent" >
|
<include layout="@layout/help_content" />
|
||||||
<include layout="@layout/help_content"/>
|
|
||||||
</ScrollView>
|
</ScrollView>
|
||||||
@@ -18,16 +18,16 @@ limitations under the License.
|
|||||||
<item
|
<item
|
||||||
android:icon="@drawable/menu_show_on_map"
|
android:icon="@drawable/menu_show_on_map"
|
||||||
android:id="@+id/list_context_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"/>
|
android:title="@string/menu_show_on_map"/>
|
||||||
<item
|
<item
|
||||||
android:icon="@drawable/menu_edit"
|
android:icon="@drawable/menu_edit"
|
||||||
android:id="@+id/list_context_menu_edit"
|
android:id="@+id/list_context_menu_edit"
|
||||||
android:showAsAction="always"
|
android:showAsAction="ifRoom"
|
||||||
android:title="@string/menu_edit"/>
|
android:title="@string/menu_edit"/>
|
||||||
<item
|
<item
|
||||||
android:icon="@drawable/menu_delete"
|
android:icon="@drawable/menu_delete"
|
||||||
android:id="@+id/list_context_menu_delete"
|
android:id="@+id/list_context_menu_delete"
|
||||||
android:showAsAction="always"
|
android:showAsAction="ifRoom"
|
||||||
android:title="@string/menu_delete"/>
|
android:title="@string/menu_delete"/>
|
||||||
</menu>
|
</menu>
|
||||||
@@ -18,12 +18,12 @@ limitations under the License.
|
|||||||
<item
|
<item
|
||||||
android:icon="@drawable/menu_show_on_map"
|
android:icon="@drawable/menu_show_on_map"
|
||||||
android:id="@+id/marker_detail_show_on_map"
|
android:id="@+id/marker_detail_show_on_map"
|
||||||
android:showAsAction="always"
|
android:showAsAction="ifRoom"
|
||||||
android:title="@string/menu_show_on_map"/>
|
android:title="@string/menu_show_on_map"/>
|
||||||
<item
|
<item
|
||||||
android:icon="@drawable/menu_edit"
|
android:icon="@drawable/menu_edit"
|
||||||
android:id="@+id/marker_detail_edit"
|
android:id="@+id/marker_detail_edit"
|
||||||
android:showAsAction="always"
|
android:showAsAction="ifRoom"
|
||||||
android:title="@string/menu_edit"/>
|
android:title="@string/menu_edit"/>
|
||||||
<item
|
<item
|
||||||
android:icon="@drawable/menu_delete"
|
android:icon="@drawable/menu_delete"
|
||||||
|
|||||||
@@ -18,7 +18,7 @@ limitations under the License.
|
|||||||
<item
|
<item
|
||||||
android:icon="@drawable/menu_insert_marker"
|
android:icon="@drawable/menu_insert_marker"
|
||||||
android:id="@+id/marker_list_insert_marker"
|
android:id="@+id/marker_list_insert_marker"
|
||||||
android:showAsAction="always"
|
android:showAsAction="ifRoom"
|
||||||
android:title="@string/menu_insert_marker"/>
|
android:title="@string/menu_insert_marker"/>
|
||||||
<item
|
<item
|
||||||
android:actionViewClass="android.widget.SearchView"
|
android:actionViewClass="android.widget.SearchView"
|
||||||
|
|||||||
@@ -18,22 +18,22 @@ limitations under the License.
|
|||||||
<item
|
<item
|
||||||
android:icon="@drawable/menu_stop_recording"
|
android:icon="@drawable/menu_stop_recording"
|
||||||
android:id="@+id/track_detail_stop_recording"
|
android:id="@+id/track_detail_stop_recording"
|
||||||
android:showAsAction="always"
|
android:showAsAction="ifRoom"
|
||||||
android:title="@string/menu_stop_recording"/>
|
android:title="@string/menu_stop_recording"/>
|
||||||
<item
|
<item
|
||||||
android:icon="@drawable/menu_insert_marker"
|
android:icon="@drawable/menu_insert_marker"
|
||||||
android:id="@+id/track_detail_insert_marker"
|
android:id="@+id/track_detail_insert_marker"
|
||||||
android:showAsAction="always"
|
android:showAsAction="ifRoom"
|
||||||
android:title="@string/menu_insert_marker"/>
|
android:title="@string/menu_insert_marker"/>
|
||||||
<item
|
<item
|
||||||
android:icon="@drawable/menu_play"
|
android:icon="@drawable/menu_play"
|
||||||
android:id="@+id/track_detail_play"
|
android:id="@+id/track_detail_play"
|
||||||
android:showAsAction="always"
|
android:showAsAction="ifRoom"
|
||||||
android:title="@string/menu_play"/>
|
android:title="@string/menu_play"/>
|
||||||
<item
|
<item
|
||||||
android:icon="@drawable/menu_share"
|
android:icon="@drawable/menu_share"
|
||||||
android:id="@+id/track_detail_share"
|
android:id="@+id/track_detail_share"
|
||||||
android:showAsAction="always"
|
android:showAsAction="ifRoom"
|
||||||
android:title="@string/menu_share">
|
android:title="@string/menu_share">
|
||||||
<menu>
|
<menu>
|
||||||
<item
|
<item
|
||||||
@@ -49,13 +49,16 @@ limitations under the License.
|
|||||||
</menu>
|
</menu>
|
||||||
</item>
|
</item>
|
||||||
<item
|
<item
|
||||||
android:icon="@drawable/ic_menu_waypoints"
|
android:icon="@drawable/menu_markers"
|
||||||
android:id="@+id/track_detail_markers"
|
android:id="@+id/track_detail_markers"
|
||||||
|
android:showAsAction="ifRoom"
|
||||||
android:title="@string/menu_markers"/>
|
android:title="@string/menu_markers"/>
|
||||||
<item
|
<item
|
||||||
|
android:icon="@drawable/menu_send_google"
|
||||||
android:id="@+id/track_detail_send_google"
|
android:id="@+id/track_detail_send_google"
|
||||||
android:title="@string/menu_send_google"/>
|
android:title="@string/menu_send_google"/>
|
||||||
<item
|
<item
|
||||||
|
android:icon="@drawable/menu_save"
|
||||||
android:id="@+id/track_detail_save"
|
android:id="@+id/track_detail_save"
|
||||||
android:title="@string/menu_save">
|
android:title="@string/menu_save">
|
||||||
<menu>
|
<menu>
|
||||||
@@ -74,19 +77,19 @@ limitations under the License.
|
|||||||
android:id="@+id/track_detail_delete"
|
android:id="@+id/track_detail_delete"
|
||||||
android:title="@string/menu_delete"/>
|
android:title="@string/menu_delete"/>
|
||||||
<item
|
<item
|
||||||
android:icon="@android:drawable/ic_menu_mylocation"
|
android:icon="@drawable/menu_my_location"
|
||||||
android:id="@+id/track_detail_my_location"
|
android:id="@+id/track_detail_my_location"
|
||||||
android:title="@string/menu_my_location"/>
|
android:title="@string/menu_my_location"/>
|
||||||
<item
|
<item
|
||||||
android:icon="@android:drawable/ic_menu_mapmode"
|
android:icon="@drawable/menu_satellite_mode"
|
||||||
android:id="@+id/track_detail_satellite_mode"
|
android:id="@+id/track_detail_satellite_mode"
|
||||||
android:title="@string/menu_satellite_mode"/>
|
android:title="@string/menu_satellite_mode"/>
|
||||||
<item
|
<item
|
||||||
android:icon="@drawable/ic_menu_chartsettings"
|
android:icon="@drawable/menu_chart_settings"
|
||||||
android:id="@+id/track_detail_chart_settings"
|
android:id="@+id/track_detail_chart_settings"
|
||||||
android:title="@string/menu_chart_settings"/>
|
android:title="@string/menu_chart_settings"/>
|
||||||
<item
|
<item
|
||||||
android:icon="@drawable/ic_menu_sensorstatus"
|
android:icon="@drawable/menu_sensor_state"
|
||||||
android:id="@+id/track_detail_sensor_state"
|
android:id="@+id/track_detail_sensor_state"
|
||||||
android:title="@string/menu_sensor_state"/>
|
android:title="@string/menu_sensor_state"/>
|
||||||
<item
|
<item
|
||||||
|
|||||||
@@ -18,12 +18,12 @@ limitations under the License.
|
|||||||
<item
|
<item
|
||||||
android:icon="@drawable/menu_record_track"
|
android:icon="@drawable/menu_record_track"
|
||||||
android:id="@+id/track_list_record_track"
|
android:id="@+id/track_list_record_track"
|
||||||
android:showAsAction="always"
|
android:showAsAction="ifRoom"
|
||||||
android:title="@string/menu_record_track"/>
|
android:title="@string/menu_record_track"/>
|
||||||
<item
|
<item
|
||||||
android:icon="@drawable/menu_stop_recording"
|
android:icon="@drawable/menu_stop_recording"
|
||||||
android:id="@+id/track_list_stop_recording"
|
android:id="@+id/track_list_stop_recording"
|
||||||
android:showAsAction="always"
|
android:showAsAction="ifRoom"
|
||||||
android:title="@string/menu_stop_recording"/>
|
android:title="@string/menu_stop_recording"/>
|
||||||
<item
|
<item
|
||||||
android:actionViewClass="android.widget.SearchView"
|
android:actionViewClass="android.widget.SearchView"
|
||||||
@@ -32,9 +32,11 @@ limitations under the License.
|
|||||||
android:showAsAction="always|collapseActionView"
|
android:showAsAction="always|collapseActionView"
|
||||||
android:title="@string/menu_search"/>
|
android:title="@string/menu_search"/>
|
||||||
<item
|
<item
|
||||||
|
android:icon="@drawable/menu_import_all"
|
||||||
android:id="@+id/track_list_import_all"
|
android:id="@+id/track_list_import_all"
|
||||||
android:title="@string/menu_import_all"/>
|
android:title="@string/menu_import_all"/>
|
||||||
<item
|
<item
|
||||||
|
android:icon="@drawable/menu_export_all"
|
||||||
android:id="@+id/track_list_export_all"
|
android:id="@+id/track_list_export_all"
|
||||||
android:title="@string/menu_export_all">
|
android:title="@string/menu_export_all">
|
||||||
<menu>
|
<menu>
|
||||||
@@ -45,9 +47,11 @@ limitations under the License.
|
|||||||
</menu>
|
</menu>
|
||||||
</item>
|
</item>
|
||||||
<item
|
<item
|
||||||
|
android:icon="@drawable/menu_delete_all"
|
||||||
android:id="@+id/track_list_delete_all"
|
android:id="@+id/track_list_delete_all"
|
||||||
android:title="@string/menu_delete_all"/>
|
android:title="@string/menu_delete_all"/>
|
||||||
<item
|
<item
|
||||||
|
android:icon="@drawable/menu_aggregated_statistics"
|
||||||
android:id="@+id/track_list_aggregated_statistics"
|
android:id="@+id/track_list_aggregated_statistics"
|
||||||
android:title="@string/menu_aggregated_statistics"/>
|
android:title="@string/menu_aggregated_statistics"/>
|
||||||
<item
|
<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>
|
<resources>
|
||||||
<color name="black">#FF000000</color>
|
<color name="black">#FF000000</color>
|
||||||
<color name="blue">#FF0000FF</color>
|
<color name="blue">#FF0000FF</color>
|
||||||
<color name="green">#FF00FF00</color>
|
|
||||||
<color name="gray">#FFAAAAAA</color>
|
<color name="gray">#FFAAAAAA</color>
|
||||||
<color name="red">#FFFF0000</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>
|
<color name="white">#FFFFFFFF</color>
|
||||||
|
|
||||||
|
<!-- holo_orange_dark -->
|
||||||
|
<color name="background_warning">#FFFF8800</color>
|
||||||
|
|
||||||
<!-- Chart colors by series. -->
|
<!-- Chart colors by series. -->
|
||||||
<!-- Green and a transparent green -->
|
<!-- Green and a transparent green -->
|
||||||
<color name="elevation_border">#FF339933</color>
|
<color name="elevation_border">#FF339933</color>
|
||||||
|
|||||||
@@ -494,7 +494,7 @@ limitations under the License.
|
|||||||
Accuracy (m)
|
Accuracy (m)
|
||||||
</string>
|
</string>
|
||||||
<string name="description_location_altitude"
|
<string name="description_location_altitude"
|
||||||
translation_description="Label for location altitude in degrees.">
|
translation_description="Label for location altitude in meters.">
|
||||||
Altitude (m)
|
Altitude (m)
|
||||||
</string>
|
</string>
|
||||||
<string name="description_location_bearing"
|
<string name="description_location_bearing"
|
||||||
@@ -695,8 +695,8 @@ limitations under the License.
|
|||||||
<string name="gps_need_to_enable"
|
<string name="gps_need_to_enable"
|
||||||
translation_description="In the main view, the message on the top asking the user to enable
|
translation_description="In the main view, the message on the top asking the user to enable
|
||||||
GPS.">
|
GPS.">
|
||||||
Please tap here to go to \'Location & security\' settings & check
|
Tap here to go to \'Location services\' settings & check \'GPS satellites\'. Press the back
|
||||||
\'Use GPS satellites\'. Press the back button to return.
|
button to return.
|
||||||
</string>
|
</string>
|
||||||
<string name="gps_not_found"
|
<string name="gps_not_found"
|
||||||
translation_description="On application start, message when there is no GPS on the device.">
|
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.">
|
'Maps' list page informing the user that he doesn't have any maps.">
|
||||||
You don\'t have any maps.
|
You don\'t have any maps.
|
||||||
</string>
|
</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"
|
<string name="maps_list_progress_message"
|
||||||
translation_description="When sending a track to an existing Google Map, the 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.">
|
informing the user that his maps are being loaded.">
|
||||||
@@ -946,8 +941,8 @@ limitations under the License.
|
|||||||
</string>
|
</string>
|
||||||
<string name="maps_list_title"
|
<string name="maps_list_title"
|
||||||
translation_description="When sending a track to an existing Google Map, the title of the
|
translation_description="When sending a track to an existing Google Map, the title of the
|
||||||
page listing the user's maps in Google Maps.">
|
page asking the user to pick a map.">
|
||||||
Your Google Maps
|
Pick a Map
|
||||||
</string>
|
</string>
|
||||||
<string name="maps_list_unlisted_label"
|
<string name="maps_list_unlisted_label"
|
||||||
translation_description="When sending a track to an existing Google Map, in the 'Maps'
|
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
|
I think you might be interested in this track:\n\n%1$s
|
||||||
</string>
|
</string>
|
||||||
|
|
||||||
<!-- Stat Page -->
|
<!-- Stats Page -->
|
||||||
<string name="stat_average_moving_pace"
|
<string name="stats_average_moving_pace"
|
||||||
translation_description="In the 'Statistics' page, the average moving pace.">
|
translation_description="In the 'Stats' page, the average moving pace.">
|
||||||
Average moving pace
|
Average moving pace
|
||||||
</string>
|
</string>
|
||||||
<string name="stat_average_moving_speed"
|
<string name="stats_average_moving_speed"
|
||||||
translation_description="In the 'Statistics' page, the average moving speed.">
|
translation_description="In the 'Stats' page, the average moving speed.">
|
||||||
Average moving speed
|
Average moving speed
|
||||||
</string>
|
</string>
|
||||||
<string name="stat_average_pace"
|
<string name="stats_average_pace"
|
||||||
translation_description="In the 'Statistics' page, the average pace.">
|
translation_description="In the 'Stats' page, the average pace.">
|
||||||
Average pace
|
Average pace
|
||||||
</string>
|
</string>
|
||||||
<string name="stat_average_speed"
|
<string name="stats_average_speed"
|
||||||
translation_description="In the 'Statistics' page, the average speed.">
|
translation_description="In the 'Stats' page, the average speed.">
|
||||||
Average speed
|
Average speed
|
||||||
</string>
|
</string>
|
||||||
<string name="stat_elevation"
|
<string name="stats_elevation"
|
||||||
translation_description="In the 'Statistics' page, the elevation.">
|
translation_description="In the 'Stats' page, the elevation.">
|
||||||
Elevation
|
Elevation
|
||||||
</string>
|
</string>
|
||||||
<string name="stat_elevation_gain"
|
<string name="stats_elevation_gain"
|
||||||
translation_description="In the 'Statistics' page, the elevation gain.">
|
translation_description="In the 'Stats' page, the elevation gain.">
|
||||||
Elevation gain
|
Elevation gain
|
||||||
</string>
|
</string>
|
||||||
<string name="stat_fastest_pace"
|
<string name="stats_fastest_pace"
|
||||||
translation_description="In the 'Statistics' page, the fastest pace.">
|
translation_description="In the 'Stats' page, the fastest pace.">
|
||||||
Fastest pace
|
Fastest pace
|
||||||
</string>
|
</string>
|
||||||
<string name="stat_latitude"
|
<string name="stats_latitude"
|
||||||
translation_description="In the 'Statistics' page, the latitude.">
|
translation_description="In the 'Stats' page, the latitude.">
|
||||||
Latitude
|
Latitude
|
||||||
</string>
|
</string>
|
||||||
<string name="stat_longitude"
|
<string name="stats_longitude"
|
||||||
translation_description="In the 'Statistics' page, the longitude.">
|
translation_description="In the 'Stats' page, the longitude.">
|
||||||
Longitude
|
Longitude
|
||||||
</string>
|
</string>
|
||||||
<string name="stat_max_elevation"
|
<string name="stats_max_elevation"
|
||||||
translation_description="In the 'Statistics' page, the maximum elevation.">
|
translation_description="In the 'Stats' page, the maximum elevation.">
|
||||||
Max elevation
|
Max elevation
|
||||||
</string>
|
</string>
|
||||||
<string name="stat_max_grade"
|
<string name="stats_max_grade"
|
||||||
translation_description="In the 'Statistics' page, the maximum grade.">
|
translation_description="In the 'Stats' page, the maximum grade.">
|
||||||
Max grade
|
Max grade
|
||||||
</string>
|
</string>
|
||||||
<string name="stat_max_speed"
|
<string name="stats_max_speed"
|
||||||
translation_description="In the 'Statistics' page, the maximum speed.">
|
translation_description="In the 'Stats' page, the maximum speed.">
|
||||||
Max speed
|
Max speed
|
||||||
</string>
|
</string>
|
||||||
<string name="stat_min_elevation"
|
<string name="stats_min_elevation"
|
||||||
translation_description="In the 'Statistics' page, the minimum elevation.">
|
translation_description="In the 'Stats' page, the minimum elevation.">
|
||||||
Min elevation
|
Min elevation
|
||||||
</string>
|
</string>
|
||||||
<string name="stat_min_grade"
|
<string name="stats_min_grade"
|
||||||
translation_description="In the 'Statistics' page, the minimum grade.">
|
translation_description="In the 'Stats' page, the minimum grade.">
|
||||||
Min grade
|
Min grade
|
||||||
</string>
|
</string>
|
||||||
<string name="stat_moving_time"
|
<string name="stats_moving_time"
|
||||||
translation_description="In the 'Statistics' page, the moving time.">
|
translation_description="In the 'Stats' page, the moving time.">
|
||||||
Moving time
|
Moving time
|
||||||
</string>
|
</string>
|
||||||
<string name="stat_pace"
|
<string name="stats_pace"
|
||||||
translation_description="In the 'Statistics' page, the pace like hours per mile.">
|
translation_description="In the 'Stats' page, the pace like hours per mile.">
|
||||||
Pace
|
Pace
|
||||||
</string>
|
</string>
|
||||||
<string name="stat_speed"
|
<string name="stats_speed"
|
||||||
translation_description="In the 'Statistics' page, the speed like miles per hour.">
|
translation_description="In the 'Stats' page, the speed like miles per hour.">
|
||||||
Speed
|
Speed
|
||||||
</string>
|
</string>
|
||||||
<string name="stat_total_distance"
|
<string name="stats_total_distance"
|
||||||
translation_description="In the 'Statistics' page, the total distance.">
|
translation_description="In the 'Stats' page, the total distance.">
|
||||||
Total distance
|
Total distance
|
||||||
</string>
|
</string>
|
||||||
<string name="stat_total_time"
|
<string name="stats_total_time"
|
||||||
translation_description="In the 'Statistics' page, the total time.">
|
translation_description="In the 'Stats' page, the total time.">
|
||||||
Total time
|
Total time
|
||||||
</string>
|
</string>
|
||||||
|
|
||||||
@@ -2417,7 +2412,14 @@ limitations under the License.
|
|||||||
recommended value.">
|
recommended value.">
|
||||||
Smallest (recommended)
|
Smallest (recommended)
|
||||||
</string>
|
</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 -->
|
<!-- Voice -->
|
||||||
<string name="voice_hours_few"
|
<string name="voice_hours_few"
|
||||||
translation_description="For voice announcement, to say 'few' hours.
|
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.
|
limitations under the License.
|
||||||
-->
|
-->
|
||||||
<resources>
|
<resources>
|
||||||
<style name="ThemeSelector" parent="android:Theme" />
|
<!-- The style for the about value -->
|
||||||
|
<style name="AboutValue" parent="@style/TextMedium">
|
||||||
<!-- The style for the bottom button bar -->
|
<item name="android:paddingLeft">48dp</item>
|
||||||
<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>
|
</style>
|
||||||
<!-- The style for the bottom button -->
|
<!-- The style for the bottom button -->
|
||||||
<style name="BottomButton" parent="@android:style/Widget.DeviceDefault.Button.Borderless">
|
<style name="BottomButton" parent="@android:style/Widget.DeviceDefault.Button.Borderless">
|
||||||
<item name="android:layout_height">wrap_content</item>
|
<item name="android:layout_height">wrap_content</item>
|
||||||
<item name="android:layout_weight">1</item>
|
<item name="android:layout_weight">1</item>
|
||||||
<item name="android:layout_width">0dp</item>
|
<item name="android:layout_width">0dp</item>
|
||||||
</style>
|
</style>
|
||||||
<!-- The style for the edit category -->
|
<!-- The style for the bottom button bar -->
|
||||||
<style name="EditCategory" parent="@android:style/TextAppearance.DeviceDefault.Medium">
|
<style name="BottomButtonBar" parent="@android:style/DeviceDefault.ButtonBar">
|
||||||
<item name="android:layout_height">wrap_content</item>
|
<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:layout_width">fill_parent</item>
|
||||||
<item name="android:selectAllOnFocus">true</item>
|
<item name="android:selectAllOnFocus">true</item>
|
||||||
<item name="android:singleLine">true</item>
|
<item name="android:singleLine">true</item>
|
||||||
</style>
|
</style>
|
||||||
<!-- The style for the edit description -->
|
<!-- The style for the edit description -->
|
||||||
<style name="EditDescription" parent="@android:style/TextAppearance.DeviceDefault.Medium">
|
<style name="EditDescription" parent="@style/TextMedium">
|
||||||
<item name="android:layout_height">wrap_content</item>
|
<item name="android:inputType">textAutoCorrect|textCapSentences</item>
|
||||||
<item name="android:layout_width">fill_parent</item>
|
<item name="android:layout_width">fill_parent</item>
|
||||||
|
<item name="android:maxLines">50</item>
|
||||||
<item name="android:selectAllOnFocus">true</item>
|
<item name="android:selectAllOnFocus">true</item>
|
||||||
<item name="android:singleLine">false</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>
|
</style>
|
||||||
<!-- The style for the edit name -->
|
<!-- The style for the edit name -->
|
||||||
<style name="EditName" parent="@android:style/TextAppearance.DeviceDefault.Medium">
|
<style name="EditName" parent="@style/TextMedium.WithIcon">
|
||||||
<item name="android:layout_height">wrap_content</item>
|
<item name="android:inputType">textAutoCorrect|textCapWords</item>
|
||||||
<item name="android:layout_width">fill_parent</item>
|
<item name="android:layout_width">fill_parent</item>
|
||||||
<item name="android:selectAllOnFocus">true</item>
|
<item name="android:selectAllOnFocus">true</item>
|
||||||
<item name="android:singleLine">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:drawablePadding">8dp</item>
|
||||||
<item name="android:gravity">center_vertical</item>
|
<item name="android:gravity">center_vertical</item>
|
||||||
</style>
|
</style>
|
||||||
<!-- The style for the list empty text view -->
|
<!-- The style for medium size text -->
|
||||||
<style name="ListEmptyTextView" parent="@android:style/TextAppearance.DeviceDefault.Large">
|
<style name="TextMedium">
|
||||||
<item name="android:gravity">center</item>
|
|
||||||
<item name="android:layout_gravity">center</item>
|
|
||||||
<item name="android:layout_height">wrap_content</item>
|
<item name="android:layout_height">wrap_content</item>
|
||||||
<item name="android:layout_width">wrap_content</item>
|
<item name="android:layout_width">wrap_content</item>
|
||||||
<item name="android:padding">8dp</item>
|
<item name="android:textSize">18sp</item>
|
||||||
</style>
|
</style>
|
||||||
<!-- The style for the list item category -->
|
<!-- The style for medium size text with an icon on the left -->
|
||||||
<style name="ListItemCategory" parent="@android:style/TextAppearance.DeviceDefault.Small">
|
<style name="TextMedium.WithIcon">
|
||||||
<item name="android:layout_height">wrap_content</item>
|
<item name="android:drawablePadding">8dp</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>
|
|
||||||
<item name="android:gravity">center_vertical</item>
|
<item name="android:gravity">center_vertical</item>
|
||||||
<item name="android:paddingLeft">9dp</item>
|
|
||||||
</style>
|
</style>
|
||||||
<!-- style for the list item stat -->
|
<!-- The style for large size text -->
|
||||||
<style name="ListItemStat" parent="@android:style/TextAppearance.DeviceDefault.Small">
|
<style name="TextSmall">
|
||||||
<item name="android:layout_height">wrap_content</item>
|
<item name="android:layout_height">wrap_content</item>
|
||||||
<item name="android:layout_width">wrap_content</item>
|
<item name="android:layout_width">wrap_content</item>
|
||||||
<item name="android:singleLine">true</item>
|
<item name="android:textColor">?android:textColorSecondary</item>
|
||||||
<item name="android:textColor">@color/green</item>
|
<item name="android:textSize">14sp</item>
|
||||||
</style>
|
</style>
|
||||||
<!-- The style for the marker detail label -->
|
<!-- Theme selector -->
|
||||||
<style name="MarkerDetailLabel" parent="@android:style/TextAppearance.DeviceDefault.Large">
|
<style name="ThemeSelector" parent="android:Theme" />
|
||||||
<item name="android:layout_height">wrap_content</item>
|
<!-- The style for the track widget value -->
|
||||||
<item name="android:layout_width">wrap_content</item>
|
<style name="TrackWidgetValue" parent="@style/TextSmall">
|
||||||
|
<item name="android:width">100dp</item>
|
||||||
</style>
|
</style>
|
||||||
<!-- The style for the marker detail statistics label -->
|
<!-- The style for upload service chooser check box -->
|
||||||
<style name="MarkerDetailStatisticsLabel" parent="@android:style/TextAppearance.DeviceDefault.Medium">
|
<style name="UploadServiceChooserCheckBox" parent="@style/TextMedium">
|
||||||
<item name="android:layout_height">wrap_content</item>
|
<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_width">0dp</item>
|
||||||
<item name="android:layout_weight">1</item>
|
|
||||||
</style>
|
</style>
|
||||||
<!-- The style for the marker detail statistics spacer -->
|
<!-- The style for upload service chooser image view -->
|
||||||
<style name="MarkerDetailStatisticsSpacer">
|
<style name="UploadServiceChooserImageView">
|
||||||
<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>
|
|
||||||
<item name="android:layout_height">wrap_content</item>
|
<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:layout_width">wrap_content</item>
|
||||||
<item name="android:textColor">@color/stat_label_text</item>
|
|
||||||
</style>
|
</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 -->
|
<!-- The style for the welcome page answer -->
|
||||||
<style name="WelcomeAnswerTextView" parent="@android:style/TextAppearance.DeviceDefault.Small">
|
<style name="WelcomeAnswerTextView" parent="@style/TextSmall">
|
||||||
<item name="android:layout_height">wrap_content</item>
|
|
||||||
<item name="android:layout_width">wrap_content</item>
|
|
||||||
<item name="android:paddingBottom">8dp</item>
|
<item name="android:paddingBottom">8dp</item>
|
||||||
</style>
|
</style>
|
||||||
<!-- The style for welcome page question -->
|
<!-- The style for welcome page question -->
|
||||||
<style name="WelcomeQuestionTextView" parent="@android:style/TextAppearance.DeviceDefault.Medium">
|
<style name="WelcomeQuestionTextView" parent="@style/TextMedium">
|
||||||
<item name="android:layout_height">wrap_content</item>
|
|
||||||
<item name="android:layout_width">wrap_content</item>
|
|
||||||
<item name="android:textStyle">bold</item>
|
|
||||||
<item name="android:paddingTop">8dp</item>
|
<item name="android:paddingTop">8dp</item>
|
||||||
|
<item name="android:textStyle">bold</item>
|
||||||
</style>
|
</style>
|
||||||
|
</resources>
|
||||||
<!-- 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>
|
|
||||||
@@ -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;
|
package com.google.android.apps.mytracks;
|
||||||
|
|
||||||
import com.google.android.apps.mytracks.content.MyTracksProviderUtils;
|
import com.google.android.apps.mytracks.content.MyTracksProviderUtils;
|
||||||
import com.google.android.apps.mytracks.content.Track;
|
import com.google.android.apps.mytracks.content.Track;
|
||||||
import com.google.android.apps.mytracks.stats.TripStatistics;
|
import com.google.android.apps.mytracks.stats.TripStatistics;
|
||||||
import com.google.android.apps.mytracks.util.ApiAdapterFactory;
|
import com.google.android.apps.mytracks.util.StatsUtils;
|
||||||
import com.google.android.apps.mytracks.util.IntentUtils;
|
|
||||||
import com.google.android.maps.mytracks.R;
|
import com.google.android.maps.mytracks.R;
|
||||||
|
|
||||||
import android.app.Activity;
|
|
||||||
import android.content.Context;
|
import android.content.Context;
|
||||||
import android.content.Intent;
|
|
||||||
import android.content.SharedPreferences;
|
import android.content.SharedPreferences;
|
||||||
import android.content.SharedPreferences.OnSharedPreferenceChangeListener;
|
|
||||||
import android.os.Bundle;
|
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;
|
import java.util.List;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Activity for viewing the combined statistics for all the recorded tracks.
|
* An activity to view aggregated stats from all recorded tracks.
|
||||||
*
|
|
||||||
* Other features to add - menu items to change setings.
|
|
||||||
*
|
*
|
||||||
* @author Fergus Nelson
|
* @author Fergus Nelson
|
||||||
*/
|
*/
|
||||||
public class AggregatedStatsActivity extends Activity implements
|
public class AggregatedStatsActivity extends AbstractMyTracksActivity {
|
||||||
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();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected void onCreate(Bundle savedInstanceState) {
|
protected void onCreate(Bundle savedInstanceState) {
|
||||||
super.onCreate(savedInstanceState);
|
super.onCreate(savedInstanceState);
|
||||||
|
setContentView(R.layout.aggregated_stats);
|
||||||
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);
|
|
||||||
|
|
||||||
SharedPreferences preferences = getSharedPreferences(
|
SharedPreferences preferences = getSharedPreferences(
|
||||||
Constants.SETTINGS_NAME, Context.MODE_PRIVATE);
|
Constants.SETTINGS_NAME, Context.MODE_PRIVATE);
|
||||||
if (preferences != null) {
|
boolean metricUnits = preferences.getBoolean(getString(R.string.metric_units_key), true);
|
||||||
metricUnits = preferences.getBoolean(getString(R.string.metric_units_key), true);
|
boolean reportSpeed = preferences.getBoolean(getString(R.string.report_speed_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();
|
|
||||||
|
|
||||||
DisplayMetrics metrics = new DisplayMetrics();
|
StatsUtils.setSpeedLabels(this, reportSpeed, false);
|
||||||
getWindowManager().getDefaultDisplay().getMetrics(metrics);
|
StatsUtils.setTripStatisticsValues(this, getTripStatistics(), metricUnits, reportSpeed);
|
||||||
if (metrics.heightPixels > 600) {
|
StatsUtils.setLocationElevationValue(this, Double.NaN, metricUnits);
|
||||||
((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;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 1. Reads tracks from the db
|
* Gets the aggregated trip statistics for all the recorded tracks or null if
|
||||||
* 2. Merges the trip stats from the tracks
|
* there is no track.
|
||||||
* 3. Updates the view
|
|
||||||
*/
|
*/
|
||||||
private void loadAggregatedStats() {
|
private TripStatistics getTripStatistics() {
|
||||||
List<Track> tracks = retrieveTracks();
|
List<Track> tracks = MyTracksProviderUtils.Factory.get(this).getAllTracks();
|
||||||
TripStatistics rollingStats = null;
|
TripStatistics tripStatistics = null;
|
||||||
if (!tracks.isEmpty()) {
|
if (!tracks.isEmpty()) {
|
||||||
rollingStats = new TripStatistics(tracks.iterator().next()
|
tripStatistics = new TripStatistics(tracks.iterator().next().getStatistics());
|
||||||
.getStatistics());
|
|
||||||
for (int i = 1; i < tracks.size(); i++) {
|
for (int i = 1; i < tracks.size(); i++) {
|
||||||
rollingStats.merge(tracks.get(i).getStatistics());
|
tripStatistics.merge(tracks.get(i).getStatistics());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
updateView(rollingStats);
|
return tripStatistics;
|
||||||
}
|
|
||||||
|
|
||||||
private List<Track> retrieveTracks() {
|
|
||||||
return tracksProvider.getAllTracks();
|
|
||||||
}
|
|
||||||
|
|
||||||
private void updateView(TripStatistics aggStats) {
|
|
||||||
if (aggStats != null) {
|
|
||||||
utils.setAllStats(aggStats);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -215,7 +215,7 @@ public class ChartView extends View {
|
|||||||
R.color.elevation_border,
|
R.color.elevation_border,
|
||||||
new ZoomSettings(MAX_INTERVALS,
|
new ZoomSettings(MAX_INTERVALS,
|
||||||
new int[] {5, 10, 25, 50, 100, 250, 500, 1000, 2500, 5000}),
|
new int[] {5, 10, 25, 50, 100, 250, 500, 1000, 2500, 5000}),
|
||||||
R.string.stat_elevation);
|
R.string.stats_elevation);
|
||||||
|
|
||||||
series[SPEED_SERIES] =
|
series[SPEED_SERIES] =
|
||||||
new ChartValueSeries(context,
|
new ChartValueSeries(context,
|
||||||
@@ -223,7 +223,7 @@ public class ChartView extends View {
|
|||||||
R.color.speed_border,
|
R.color.speed_border,
|
||||||
new ZoomSettings(MAX_INTERVALS, 0, Integer.MIN_VALUE,
|
new ZoomSettings(MAX_INTERVALS, 0, Integer.MIN_VALUE,
|
||||||
new int[] {1, 5, 10, 20, 50}),
|
new int[] {1, 5, 10, 20, 50}),
|
||||||
R.string.stat_speed);
|
R.string.stats_speed);
|
||||||
series[POWER_SERIES] =
|
series[POWER_SERIES] =
|
||||||
new ChartValueSeries(context,
|
new ChartValueSeries(context,
|
||||||
R.color.power_fill,
|
R.color.power_fill,
|
||||||
@@ -270,8 +270,8 @@ public class ChartView extends View {
|
|||||||
|
|
||||||
public void setReportSpeed(boolean reportSpeed, Context c) {
|
public void setReportSpeed(boolean reportSpeed, Context c) {
|
||||||
series[SPEED_SERIES].setTitle(c.getString(reportSpeed
|
series[SPEED_SERIES].setTitle(c.getString(reportSpeed
|
||||||
? R.string.stat_speed
|
? R.string.stats_speed
|
||||||
: R.string.stat_pace));
|
: R.string.stats_pace));
|
||||||
}
|
}
|
||||||
|
|
||||||
private void addDataPointInternal(double[] theData) {
|
private void addDataPointInternal(double[] theData) {
|
||||||
|
|||||||
@@ -33,14 +33,6 @@ public abstract class Constants {
|
|||||||
*/
|
*/
|
||||||
public static final String SDCARD_TOP_DIR = "MyTracks";
|
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.
|
* The number of distance readings to smooth to get a stable signal.
|
||||||
*/
|
*/
|
||||||
|
|||||||
@@ -17,15 +17,9 @@
|
|||||||
package com.google.android.apps.mytracks;
|
package com.google.android.apps.mytracks;
|
||||||
|
|
||||||
import com.google.android.apps.mytracks.fragments.AboutDialogFragment;
|
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 com.google.android.maps.mytracks.R;
|
||||||
|
|
||||||
import android.content.Intent;
|
|
||||||
import android.os.Bundle;
|
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;
|
||||||
import android.view.View.OnClickListener;
|
import android.view.View.OnClickListener;
|
||||||
|
|
||||||
@@ -34,13 +28,11 @@ import android.view.View.OnClickListener;
|
|||||||
*
|
*
|
||||||
* @author Sandor Dornbush
|
* @author Sandor Dornbush
|
||||||
*/
|
*/
|
||||||
public class HelpActivity extends FragmentActivity {
|
public class HelpActivity extends AbstractMyTracksActivity {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onCreate(Bundle savedInstanceState) {
|
protected void onCreate(Bundle savedInstanceState) {
|
||||||
super.onCreate(savedInstanceState);
|
super.onCreate(savedInstanceState);
|
||||||
setVolumeControlStream(TextToSpeech.Engine.DEFAULT_STREAM);
|
|
||||||
ApiAdapterFactory.getApiAdapter().configureActionBarHomeAsUp(this);
|
|
||||||
setContentView(R.layout.help);
|
setContentView(R.layout.help);
|
||||||
|
|
||||||
findViewById(R.id.help_ok).setOnClickListener(new OnClickListener() {
|
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.MyTracksProviderUtils;
|
||||||
import com.google.android.apps.mytracks.content.Waypoint;
|
import com.google.android.apps.mytracks.content.Waypoint;
|
||||||
import com.google.android.apps.mytracks.fragments.DeleteOneMarkerDialogFragment;
|
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.IntentUtils;
|
||||||
import com.google.android.apps.mytracks.util.StatsUtils;
|
import com.google.android.apps.mytracks.util.StatsUtils;
|
||||||
import com.google.android.maps.mytracks.R;
|
import com.google.android.maps.mytracks.R;
|
||||||
@@ -29,8 +27,6 @@ import android.content.Context;
|
|||||||
import android.content.Intent;
|
import android.content.Intent;
|
||||||
import android.content.SharedPreferences;
|
import android.content.SharedPreferences;
|
||||||
import android.os.Bundle;
|
import android.os.Bundle;
|
||||||
import android.speech.tts.TextToSpeech;
|
|
||||||
import android.support.v4.app.FragmentActivity;
|
|
||||||
import android.util.Log;
|
import android.util.Log;
|
||||||
import android.view.Menu;
|
import android.view.Menu;
|
||||||
import android.view.MenuItem;
|
import android.view.MenuItem;
|
||||||
@@ -42,7 +38,7 @@ import android.widget.TextView;
|
|||||||
*
|
*
|
||||||
* @author Leif Hendrik Wilden
|
* @author Leif Hendrik Wilden
|
||||||
*/
|
*/
|
||||||
public class MarkerDetailActivity extends FragmentActivity {
|
public class MarkerDetailActivity extends AbstractMyTracksActivity {
|
||||||
|
|
||||||
public static final String EXTRA_MARKER_ID = "marker_id";
|
public static final String EXTRA_MARKER_ID = "marker_id";
|
||||||
private static final String TAG = MarkerDetailActivity.class.getSimpleName();
|
private static final String TAG = MarkerDetailActivity.class.getSimpleName();
|
||||||
@@ -53,8 +49,6 @@ public class MarkerDetailActivity extends FragmentActivity {
|
|||||||
@Override
|
@Override
|
||||||
protected void onCreate(Bundle bundle) {
|
protected void onCreate(Bundle bundle) {
|
||||||
super.onCreate(bundle);
|
super.onCreate(bundle);
|
||||||
setVolumeControlStream(TextToSpeech.Engine.DEFAULT_STREAM);
|
|
||||||
ApiAdapterFactory.getApiAdapter().configureActionBarHomeAsUp(this);
|
|
||||||
setContentView(R.layout.marker_detail);
|
setContentView(R.layout.marker_detail);
|
||||||
|
|
||||||
markerId = getIntent().getLongExtra(EXTRA_MARKER_ID, -1L);
|
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 metricUnits = preferences.getBoolean(getString(R.string.metric_units_key), true);
|
||||||
boolean reportSpeed = preferences.getBoolean(getString(R.string.report_speed_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,
|
StatsUtils.setSpeedLabels(this, reportSpeed, false);
|
||||||
R.string.stat_fastest_pace, reportSpeed);
|
StatsUtils.setTripStatisticsValues(this, waypoint.getStatistics(), metricUnits, reportSpeed);
|
||||||
StatsUtils.setSpeedLabel(this, R.id.marker_detail_average_speed_label,
|
StatsUtils.setLocationElevationValue(this, waypoint.getLocation().getAltitude(), metricUnits);
|
||||||
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());
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -141,15 +100,17 @@ public class MarkerDetailActivity extends FragmentActivity {
|
|||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected void onHomeSelected() {
|
||||||
|
Intent intent = IntentUtils.newIntent(this, MarkerListActivity.class)
|
||||||
|
.putExtra(MarkerListActivity.EXTRA_TRACK_ID, waypoint.getTrackId());
|
||||||
|
startActivity(intent);
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean onOptionsItemSelected(MenuItem item) {
|
public boolean onOptionsItemSelected(MenuItem item) {
|
||||||
Intent intent;
|
Intent intent;
|
||||||
switch (item.getItemId()) {
|
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:
|
case R.id.marker_detail_show_on_map:
|
||||||
intent = IntentUtils.newIntent(this, TrackDetailActivity.class)
|
intent = IntentUtils.newIntent(this, TrackDetailActivity.class)
|
||||||
.putExtra(TrackDetailActivity.EXTRA_MARKER_ID, markerId);
|
.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.content.WaypointCreationRequest.WaypointType;
|
||||||
import com.google.android.apps.mytracks.services.ITrackRecordingService;
|
import com.google.android.apps.mytracks.services.ITrackRecordingService;
|
||||||
import com.google.android.apps.mytracks.services.TrackRecordingServiceConnection;
|
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.apps.mytracks.util.TrackRecordingServiceConnectionUtils;
|
||||||
import com.google.android.maps.mytracks.R;
|
import com.google.android.maps.mytracks.R;
|
||||||
|
|
||||||
import android.app.Activity;
|
|
||||||
import android.os.Bundle;
|
import android.os.Bundle;
|
||||||
import android.os.RemoteException;
|
import android.os.RemoteException;
|
||||||
import android.speech.tts.TextToSpeech;
|
|
||||||
import android.util.Log;
|
import android.util.Log;
|
||||||
import android.view.MenuItem;
|
|
||||||
import android.view.View;
|
import android.view.View;
|
||||||
import android.view.View.OnClickListener;
|
import android.view.View.OnClickListener;
|
||||||
import android.view.inputmethod.EditorInfo;
|
import android.view.inputmethod.EditorInfo;
|
||||||
@@ -47,7 +43,7 @@ import android.widget.Toast;
|
|||||||
*
|
*
|
||||||
* @author Jimmy Shih
|
* @author Jimmy Shih
|
||||||
*/
|
*/
|
||||||
public class MarkerEditActivity extends Activity {
|
public class MarkerEditActivity extends AbstractMyTracksActivity {
|
||||||
|
|
||||||
private static final String TAG = MarkerEditActivity.class.getSimpleName();
|
private static final String TAG = MarkerEditActivity.class.getSimpleName();
|
||||||
|
|
||||||
@@ -69,8 +65,6 @@ public class MarkerEditActivity extends Activity {
|
|||||||
@Override
|
@Override
|
||||||
protected void onCreate(Bundle bundle) {
|
protected void onCreate(Bundle bundle) {
|
||||||
super.onCreate(bundle);
|
super.onCreate(bundle);
|
||||||
setVolumeControlStream(TextToSpeech.Engine.DEFAULT_STREAM);
|
|
||||||
ApiAdapterFactory.getApiAdapter().configureActionBarHomeAsUp(this);
|
|
||||||
setContentView(R.layout.marker_edit);
|
setContentView(R.layout.marker_edit);
|
||||||
|
|
||||||
markerId = getIntent().getLongExtra(EXTRA_MARKER_ID, -1L);
|
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;
|
boolean statistics = checkedId == R.id.marker_edit_type_statistics;
|
||||||
name.setText(
|
name.setText(
|
||||||
statistics ? R.string.marker_edit_type_statistics : R.string.marker_edit_type_waypoint);
|
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);
|
updateUiByMarkerType(statistics);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
@@ -172,15 +168,6 @@ public class MarkerEditActivity extends Activity {
|
|||||||
trackRecordingServiceConnection.unbind();
|
trackRecordingServiceConnection.unbind();
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
|
||||||
public boolean onOptionsItemSelected(MenuItem item) {
|
|
||||||
if (item.getItemId() != android.R.id.home) {
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
finish();
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Adds a marker.
|
* Adds a marker.
|
||||||
*/
|
*/
|
||||||
|
|||||||
@@ -33,8 +33,6 @@ import android.content.SharedPreferences;
|
|||||||
import android.content.SharedPreferences.OnSharedPreferenceChangeListener;
|
import android.content.SharedPreferences.OnSharedPreferenceChangeListener;
|
||||||
import android.database.Cursor;
|
import android.database.Cursor;
|
||||||
import android.os.Bundle;
|
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.app.LoaderManager.LoaderCallbacks;
|
||||||
import android.support.v4.content.CursorLoader;
|
import android.support.v4.content.CursorLoader;
|
||||||
import android.support.v4.content.Loader;
|
import android.support.v4.content.Loader;
|
||||||
@@ -56,7 +54,7 @@ import android.widget.ListView;
|
|||||||
*
|
*
|
||||||
* @author Leif Hendrik Wilden
|
* @author Leif Hendrik Wilden
|
||||||
*/
|
*/
|
||||||
public class MarkerListActivity extends FragmentActivity {
|
public class MarkerListActivity extends AbstractMyTracksActivity {
|
||||||
|
|
||||||
public static final String EXTRA_TRACK_ID = "track_id";
|
public static final String EXTRA_TRACK_ID = "track_id";
|
||||||
|
|
||||||
@@ -111,9 +109,7 @@ public class MarkerListActivity extends FragmentActivity {
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
setVolumeControlStream(TextToSpeech.Engine.DEFAULT_STREAM);
|
|
||||||
setDefaultKeyMode(DEFAULT_KEYS_SEARCH_LOCAL);
|
setDefaultKeyMode(DEFAULT_KEYS_SEARCH_LOCAL);
|
||||||
ApiAdapterFactory.getApiAdapter().configureActionBarHomeAsUp(this);
|
|
||||||
setContentView(R.layout.marker_list);
|
setContentView(R.layout.marker_list);
|
||||||
|
|
||||||
SharedPreferences sharedPreferences = getSharedPreferences(
|
SharedPreferences sharedPreferences = getSharedPreferences(
|
||||||
@@ -198,9 +194,6 @@ public class MarkerListActivity extends FragmentActivity {
|
|||||||
@Override
|
@Override
|
||||||
public boolean onOptionsItemSelected(MenuItem item) {
|
public boolean onOptionsItemSelected(MenuItem item) {
|
||||||
switch (item.getItemId()) {
|
switch (item.getItemId()) {
|
||||||
case android.R.id.home:
|
|
||||||
finish();
|
|
||||||
return true;
|
|
||||||
case R.id.marker_list_insert_marker:
|
case R.id.marker_list_insert_marker:
|
||||||
Intent intent = IntentUtils.newIntent(this, MarkerEditActivity.class);
|
Intent intent = IntentUtils.newIntent(this, MarkerEditActivity.class);
|
||||||
startActivity(intent);
|
startActivity(intent);
|
||||||
|
|||||||
@@ -42,8 +42,6 @@ import android.location.Location;
|
|||||||
import android.location.LocationManager;
|
import android.location.LocationManager;
|
||||||
import android.os.Bundle;
|
import android.os.Bundle;
|
||||||
import android.provider.SearchRecentSuggestions;
|
import android.provider.SearchRecentSuggestions;
|
||||||
import android.speech.tts.TextToSpeech;
|
|
||||||
import android.support.v4.app.FragmentActivity;
|
|
||||||
import android.util.Log;
|
import android.util.Log;
|
||||||
import android.view.ContextMenu;
|
import android.view.ContextMenu;
|
||||||
import android.view.ContextMenu.ContextMenuInfo;
|
import android.view.ContextMenu.ContextMenuInfo;
|
||||||
@@ -69,7 +67,7 @@ import java.util.SortedSet;
|
|||||||
*
|
*
|
||||||
* @author Rodrigo Damazio
|
* @author Rodrigo Damazio
|
||||||
*/
|
*/
|
||||||
public class SearchListActivity extends FragmentActivity {
|
public class SearchListActivity extends AbstractMyTracksActivity {
|
||||||
|
|
||||||
private static final String TAG = SearchListActivity.class.getSimpleName();
|
private static final String TAG = SearchListActivity.class.getSimpleName();
|
||||||
|
|
||||||
@@ -119,9 +117,7 @@ public class SearchListActivity extends FragmentActivity {
|
|||||||
@Override
|
@Override
|
||||||
protected void onCreate(Bundle savedInstanceState) {
|
protected void onCreate(Bundle savedInstanceState) {
|
||||||
super.onCreate(savedInstanceState);
|
super.onCreate(savedInstanceState);
|
||||||
setVolumeControlStream(TextToSpeech.Engine.DEFAULT_STREAM);
|
|
||||||
setDefaultKeyMode(DEFAULT_KEYS_SEARCH_LOCAL);
|
setDefaultKeyMode(DEFAULT_KEYS_SEARCH_LOCAL);
|
||||||
ApiAdapterFactory.getApiAdapter().configureActionBarHomeAsUp(this);
|
|
||||||
setContentView(R.layout.search_list);
|
setContentView(R.layout.search_list);
|
||||||
|
|
||||||
myTracksProviderUtils = MyTracksProviderUtils.Factory.get(this);
|
myTracksProviderUtils = MyTracksProviderUtils.Factory.get(this);
|
||||||
@@ -210,9 +206,6 @@ public class SearchListActivity extends FragmentActivity {
|
|||||||
@Override
|
@Override
|
||||||
public boolean onOptionsItemSelected(MenuItem item) {
|
public boolean onOptionsItemSelected(MenuItem item) {
|
||||||
switch (item.getItemId()) {
|
switch (item.getItemId()) {
|
||||||
case android.R.id.home:
|
|
||||||
finish();
|
|
||||||
return true;
|
|
||||||
case R.id.search_list_search:
|
case R.id.search_list_search:
|
||||||
return ApiAdapterFactory.getApiAdapter().handleSearchMenuSelection(this);
|
return ApiAdapterFactory.getApiAdapter().handleSearchMenuSelection(this);
|
||||||
default:
|
default:
|
||||||
|
|||||||