diff --git a/MyTracks/.classpath b/MyTracks/.classpath
index 636d59be6..559438787 100644
--- a/MyTracks/.classpath
+++ b/MyTracks/.classpath
@@ -5,6 +5,7 @@
+
diff --git a/MyTracks/AndroidManifest.xml b/MyTracks/AndroidManifest.xml
index e11a60ae5..bd1910e7e 100755
--- a/MyTracks/AndroidManifest.xml
+++ b/MyTracks/AndroidManifest.xml
@@ -114,6 +114,7 @@ limitations under the License.
+
diff --git a/MyTracks/libs/libGoogleAnalytics.jar b/MyTracks/libs/libGoogleAnalytics.jar
new file mode 100644
index 000000000..a5a4e16bf
Binary files /dev/null and b/MyTracks/libs/libGoogleAnalytics.jar differ
diff --git a/MyTracks/res/values/do_not_translate.xml b/MyTracks/res/values/do_not_translate.xml
index 3d752908a..38cc95e02 100644
--- a/MyTracks/res/values/do_not_translate.xml
+++ b/MyTracks/res/values/do_not_translate.xml
@@ -39,4 +39,7 @@ limitations under the License.
google.com/fusiontables
maps.google.com
docs.google.com
+
+
+ UA-7222692-1
diff --git a/MyTracks/src/com/google/android/apps/mytracks/MyTracks.java b/MyTracks/src/com/google/android/apps/mytracks/MyTracks.java
index ad8209b2e..f591f339f 100644
--- a/MyTracks/src/com/google/android/apps/mytracks/MyTracks.java
+++ b/MyTracks/src/com/google/android/apps/mytracks/MyTracks.java
@@ -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 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.Track;
import com.google.android.apps.mytracks.content.TrackDataHub;
@@ -159,6 +160,11 @@ public class MyTracks extends TabActivity implements OnTouchListener,
private SharedPreferences sharedPreferences;
+ /**
+ * Google Analytics tracker
+ */
+ private GoogleAnalyticsTracker tracker;
+
/**
* The connection to the track recording service.
*/
@@ -250,6 +256,12 @@ public class MyTracks extends TabActivity implements OnTouchListener,
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.trackPageView("/android/appstart");
+ tracker.dispatch();
+
providerUtils = MyTracksProviderUtils.Factory.get(this);
sharedPreferences = getSharedPreferences(Constants.SETTINGS_NAME, 0);
dataHub = new TrackDataHub(this, sharedPreferences, providerUtils);
@@ -325,6 +337,8 @@ public class MyTracks extends TabActivity implements OnTouchListener,
dataHub.destroy();
tryUnbindTrackRecordingService();
+ tracker.dispatch();
+ tracker.stop();
super.onDestroy();
}
@@ -919,15 +933,19 @@ public class MyTracks extends TabActivity implements OnTouchListener,
dialogManager.showDialogSafely(DIALOG_PROGRESS);
if (sendToGoogleDialog.getSendToMyMaps()) {
+ tracker.trackPageView("/android/send/maps");
sendToGoogleMapsOrPickMap(sendToGoogleDialog);
} else if (sendToGoogleDialog.getSendToFusionTables()) {
+ tracker.trackPageView("/android/send/fusion_tables");
authenticateToFusionTables(null);
} else if (sendToGoogleDialog.getSendToDocs()) {
+ tracker.trackPageView("/android/send/docs");
authenticateToGoogleDocs();
} else {
Log.w(TAG, "Nowhere to upload to");
onSendToGoogleDone();
}
+ tracker.dispatch();
}
private void sendToGoogleMapsOrPickMap(SendDialog sendToGoogleDialog) {