Add simple analytics.

This commit is contained in:
Sandor Dornbush
2011-06-13 21:15:37 -07:00
parent e9146f5fc1
commit cb785b89f0
5 changed files with 23 additions and 0 deletions
+1
View File
@@ -5,6 +5,7 @@
<classpathentry kind="lib" path="libs/google-common.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/libGoogleAnalytics.jar"/>
<classpathentry kind="src" path="src"/>
<classpathentry kind="src" path="gen"/>
<classpathentry exported="true" kind="lib" path="/MyTracksLib/libs/protobuf-java-2.3.0-lite.jar"/>
+1
View File
@@ -114,6 +114,7 @@ limitations under the License.
<!-- Permissions for recording tracks and showing maps -->
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.WAKE_LOCK" />
<uses-permission android:name="android.permission.BLUETOOTH" />
Binary file not shown.
+3
View File
@@ -39,4 +39,7 @@ limitations under the License.
<string name="sendtogoogle_google_fusiontables_url">google.com/fusiontables</string>
<string name="sendtogoogle_google_mymaps_url">maps.google.com</string>
<string name="sendtogoogle_google_docs_url">docs.google.com</string>
<!-- ID for Google Analytics -->
<string name="google_analytics_id">UA-7222692-1</string>
</resources>
@@ -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) {