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) {