forked from upstream-mirrors/OpenTracks
Merged with 1.1.7
This commit is contained in:
@@ -5,6 +5,7 @@
|
|||||||
<classpathentry kind="lib" path="libs/google-common.jar"/>
|
<classpathentry kind="lib" path="libs/google-common.jar"/>
|
||||||
<classpathentry kind="lib" path="libs/accounts.jar"/>
|
<classpathentry kind="lib" path="libs/accounts.jar"/>
|
||||||
<classpathentry kind="lib" path="libs/google-api-client-1.2.2-alpha.jar"/>
|
<classpathentry kind="lib" path="libs/google-api-client-1.2.2-alpha.jar"/>
|
||||||
|
<classpathentry kind="lib" path="libs/libGoogleAnalytics.jar"/>
|
||||||
<classpathentry kind="src" path="src"/>
|
<classpathentry kind="src" path="src"/>
|
||||||
<classpathentry kind="src" path="gen"/>
|
<classpathentry kind="src" path="gen"/>
|
||||||
<classpathentry exported="true" kind="lib" path="/MyTracksLib/libs/protobuf-java-2.3.0-lite.jar"/>
|
<classpathentry exported="true" kind="lib" path="/MyTracksLib/libs/protobuf-java-2.3.0-lite.jar"/>
|
||||||
|
|||||||
@@ -17,8 +17,8 @@ limitations under the License.
|
|||||||
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
|
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
package="com.google.android.maps.mytracks"
|
package="com.google.android.maps.mytracks"
|
||||||
android:installLocation="auto"
|
android:installLocation="auto"
|
||||||
android:versionCode="29"
|
android:versionCode="30"
|
||||||
android:versionName="1.1.6">
|
android:versionName="1.1.7">
|
||||||
<application android:icon="@drawable/arrow_icon"
|
<application android:icon="@drawable/arrow_icon"
|
||||||
android:label="@string/app_name"
|
android:label="@string/app_name"
|
||||||
android:backupAgent="com.google.android.apps.mytracks.io.backup.MyTracksBackupAgent">
|
android:backupAgent="com.google.android.apps.mytracks.io.backup.MyTracksBackupAgent">
|
||||||
@@ -125,6 +125,7 @@ limitations under the License.
|
|||||||
<!-- Permissions for recording tracks and showing maps -->
|
<!-- Permissions for recording tracks and showing maps -->
|
||||||
<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.INTERNET" />
|
<uses-permission android:name="android.permission.INTERNET" />
|
||||||
<uses-permission android:name="android.permission.WAKE_LOCK" />
|
<uses-permission android:name="android.permission.WAKE_LOCK" />
|
||||||
<uses-permission android:name="android.permission.BLUETOOTH" />
|
<uses-permission android:name="android.permission.BLUETOOTH" />
|
||||||
|
|||||||
Binary file not shown.
@@ -170,6 +170,11 @@ limitations under the License.
|
|||||||
<item>inline skating</item>
|
<item>inline skating</item>
|
||||||
<item>skate boarding</item>
|
<item>skate boarding</item>
|
||||||
|
|
||||||
|
<item>roller skiing (classic)</item>
|
||||||
|
<item>roller skiing (skate)</item>
|
||||||
|
<item>cross-country skiing (classic)</item>
|
||||||
|
<item>cross-country skiing (skate)</item>
|
||||||
|
|
||||||
<item>snow shoeing</item>
|
<item>snow shoeing</item>
|
||||||
<item>skiing</item>
|
<item>skiing</item>
|
||||||
<item>snow boarding</item>
|
<item>snow boarding</item>
|
||||||
|
|||||||
@@ -38,16 +38,6 @@ limitations under the License.
|
|||||||
<item>100</item>
|
<item>100</item>
|
||||||
</string-array>
|
</string-array>
|
||||||
|
|
||||||
<string-array name="min_recording_distance_values">
|
|
||||||
<item>1</item>
|
|
||||||
<item>2</item>
|
|
||||||
<item>3</item>
|
|
||||||
<item>4</item>
|
|
||||||
<item>5</item>
|
|
||||||
<item>10</item>
|
|
||||||
<item>100</item>
|
|
||||||
</string-array>
|
|
||||||
|
|
||||||
<string-array name="max_recording_distance_values">
|
<string-array name="max_recording_distance_values">
|
||||||
<item>50</item>
|
<item>50</item>
|
||||||
<item>100</item>
|
<item>100</item>
|
||||||
|
|||||||
@@ -39,4 +39,7 @@ limitations under the License.
|
|||||||
<string name="sendtogoogle_google_fusiontables_url">google.com/fusiontables</string>
|
<string name="sendtogoogle_google_fusiontables_url">google.com/fusiontables</string>
|
||||||
<string name="sendtogoogle_google_mymaps_url">maps.google.com</string>
|
<string name="sendtogoogle_google_mymaps_url">maps.google.com</string>
|
||||||
<string name="sendtogoogle_google_docs_url">docs.google.com</string>
|
<string name="sendtogoogle_google_docs_url">docs.google.com</string>
|
||||||
|
|
||||||
|
<!-- ID for Google Analytics -->
|
||||||
|
<string name="google_analytics_id">UA-7222692-2</string>
|
||||||
</resources>
|
</resources>
|
||||||
|
|||||||
@@ -42,7 +42,7 @@ limitations under the License.
|
|||||||
android:summary="@string/settings_announcement_frequency_summary"
|
android:summary="@string/settings_announcement_frequency_summary"
|
||||||
android:entries="@array/task_frequency_options"
|
android:entries="@array/task_frequency_options"
|
||||||
android:entryValues="@array/task_frequency_values"
|
android:entryValues="@array/task_frequency_values"
|
||||||
android:defaultValue="-1" />
|
android:defaultValue="0" />
|
||||||
|
|
||||||
<com.google.android.apps.mytracks.IntegerListPreference
|
<com.google.android.apps.mytracks.IntegerListPreference
|
||||||
android:key="@string/split_frequency_key"
|
android:key="@string/split_frequency_key"
|
||||||
|
|||||||
@@ -21,6 +21,7 @@ import static com.google.android.apps.mytracks.DialogManager.DIALOG_PROGRESS;
|
|||||||
import static com.google.android.apps.mytracks.DialogManager.DIALOG_SEND_TO_GOOGLE;
|
import static com.google.android.apps.mytracks.DialogManager.DIALOG_SEND_TO_GOOGLE;
|
||||||
|
|
||||||
import com.google.android.accounts.Account;
|
import com.google.android.accounts.Account;
|
||||||
|
import com.google.android.apps.analytics.GoogleAnalyticsTracker;
|
||||||
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.content.TrackDataHub;
|
import com.google.android.apps.mytracks.content.TrackDataHub;
|
||||||
@@ -159,6 +160,11 @@ public class MyTracks extends TabActivity implements OnTouchListener,
|
|||||||
|
|
||||||
private SharedPreferences sharedPreferences;
|
private SharedPreferences sharedPreferences;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Google Analytics tracker
|
||||||
|
*/
|
||||||
|
private GoogleAnalyticsTracker tracker;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* The connection to the track recording service.
|
* The connection to the track recording service.
|
||||||
*/
|
*/
|
||||||
@@ -250,6 +256,13 @@ public class MyTracks extends TabActivity implements OnTouchListener,
|
|||||||
apiFeatures.getApiPlatformAdapter().enableStrictMode();
|
apiFeatures.getApiPlatformAdapter().enableStrictMode();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
tracker = GoogleAnalyticsTracker.getInstance();
|
||||||
|
// Start the tracker in manual dispatch mode...
|
||||||
|
tracker.start(this.getString(R.string.google_analytics_id), this.getApplicationContext());
|
||||||
|
tracker.setProductVersion("android-mytracks", SystemUtils.getMyTracksVersion(this));
|
||||||
|
tracker.trackPageView("/appstart");
|
||||||
|
tracker.dispatch();
|
||||||
|
|
||||||
providerUtils = MyTracksProviderUtils.Factory.get(this);
|
providerUtils = MyTracksProviderUtils.Factory.get(this);
|
||||||
sharedPreferences = getSharedPreferences(Constants.SETTINGS_NAME, 0);
|
sharedPreferences = getSharedPreferences(Constants.SETTINGS_NAME, 0);
|
||||||
dataHub = new TrackDataHub(this, sharedPreferences, providerUtils);
|
dataHub = new TrackDataHub(this, sharedPreferences, providerUtils);
|
||||||
@@ -325,6 +338,8 @@ public class MyTracks extends TabActivity implements OnTouchListener,
|
|||||||
dataHub.destroy();
|
dataHub.destroy();
|
||||||
|
|
||||||
tryUnbindTrackRecordingService();
|
tryUnbindTrackRecordingService();
|
||||||
|
tracker.dispatch();
|
||||||
|
tracker.stop();
|
||||||
super.onDestroy();
|
super.onDestroy();
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -931,6 +946,7 @@ public class MyTracks extends TabActivity implements OnTouchListener,
|
|||||||
}
|
}
|
||||||
|
|
||||||
private void sendToGoogleMapsOrPickMap(SendDialog sendToGoogleDialog) {
|
private void sendToGoogleMapsOrPickMap(SendDialog sendToGoogleDialog) {
|
||||||
|
tracker.trackPageView("/send/maps");
|
||||||
if (!sendToGoogleDialog.getCreateNewMap()) {
|
if (!sendToGoogleDialog.getCreateNewMap()) {
|
||||||
// Ask the user to choose a map to upload into
|
// Ask the user to choose a map to upload into
|
||||||
Intent listIntent = new Intent(this, MyMapsList.class);
|
Intent listIntent = new Intent(this, MyMapsList.class);
|
||||||
@@ -1010,6 +1026,7 @@ public class MyTracks extends TabActivity implements OnTouchListener,
|
|||||||
}
|
}
|
||||||
|
|
||||||
private void sendToFusionTables(final long trackId) {
|
private void sendToFusionTables(final long trackId) {
|
||||||
|
tracker.trackPageView("/send/fusion_tables");
|
||||||
OnSendCompletedListener onCompletion = new OnSendCompletedListener() {
|
OnSendCompletedListener onCompletion = new OnSendCompletedListener() {
|
||||||
@Override
|
@Override
|
||||||
public void onSendCompleted(String tableId, boolean success,
|
public void onSendCompleted(String tableId, boolean success,
|
||||||
@@ -1078,6 +1095,7 @@ public class MyTracks extends TabActivity implements OnTouchListener,
|
|||||||
|
|
||||||
private void sendToGoogleDocs(final long trackId) {
|
private void sendToGoogleDocs(final long trackId) {
|
||||||
Log.d(TAG, "Sending to Docs....");
|
Log.d(TAG, "Sending to Docs....");
|
||||||
|
tracker.trackPageView("/send/docs");
|
||||||
setProgressValue(50);
|
setProgressValue(50);
|
||||||
setProgressMessage(R.string.progress_message_sending_docs);
|
setProgressMessage(R.string.progress_message_sending_docs);
|
||||||
final SendToDocs sender = new SendToDocs(this,
|
final SendToDocs sender = new SendToDocs(this,
|
||||||
@@ -1103,6 +1121,7 @@ public class MyTracks extends TabActivity implements OnTouchListener,
|
|||||||
}
|
}
|
||||||
|
|
||||||
private void onSendToGoogleDone() {
|
private void onSendToGoogleDone() {
|
||||||
|
tracker.dispatch();
|
||||||
SendDialog sendToGoogleDialog = dialogManager.getSendToGoogleDialog();
|
SendDialog sendToGoogleDialog = dialogManager.getSendToGoogleDialog();
|
||||||
final boolean sentToMyMaps = sendToGoogleDialog.getSendToMyMaps();
|
final boolean sentToMyMaps = sendToGoogleDialog.getSendToMyMaps();
|
||||||
final boolean sentToFusionTables = sendToGoogleDialog.getSendToFusionTables();
|
final boolean sentToFusionTables = sendToGoogleDialog.getSendToFusionTables();
|
||||||
|
|||||||
@@ -187,7 +187,7 @@ public class TcxTrackWriter implements TrackFormatWriter {
|
|||||||
&& sensorData.getCadence().getState() == Sensor.SensorState.SENDING
|
&& sensorData.getCadence().getState() == Sensor.SensorState.SENDING
|
||||||
&& sensorData.getCadence().hasValue()) {
|
&& sensorData.getCadence().hasValue()) {
|
||||||
pw.print(" <Cadence>");
|
pw.print(" <Cadence>");
|
||||||
pw.print(Math.min(255, sensorData.getCadence().getValue()));
|
pw.print(Math.min(254, sensorData.getCadence().getValue()));
|
||||||
pw.println("</Cadence>");
|
pw.println("</Cadence>");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
+2
-2
@@ -846,7 +846,7 @@ public class MyTracksProviderUtilsImpl implements MyTracksProviderUtils {
|
|||||||
@Override
|
@Override
|
||||||
public Cursor getLocationsCursor(long trackId, long minTrackPointId,
|
public Cursor getLocationsCursor(long trackId, long minTrackPointId,
|
||||||
int maxLocations, boolean descending) {
|
int maxLocations, boolean descending) {
|
||||||
if (trackId < 0 || maxLocations < 1) {
|
if (trackId < 0) {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -870,7 +870,7 @@ public class MyTracksProviderUtilsImpl implements MyTracksProviderUtils {
|
|||||||
@Override
|
@Override
|
||||||
public Cursor getWaypointsCursor(long trackId, long minWaypointId,
|
public Cursor getWaypointsCursor(long trackId, long minWaypointId,
|
||||||
int maxWaypoints) {
|
int maxWaypoints) {
|
||||||
if (trackId < 0 || maxWaypoints < 1) {
|
if (trackId < 0) {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user