forked from upstream-mirrors/OpenTracks
Add simple analytics.
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"/>
|
||||||
|
|||||||
@@ -114,6 +114,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.
@@ -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-1</string>
|
||||||
</resources>
|
</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 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,12 @@ 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.trackPageView("/android/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 +337,8 @@ public class MyTracks extends TabActivity implements OnTouchListener,
|
|||||||
dataHub.destroy();
|
dataHub.destroy();
|
||||||
|
|
||||||
tryUnbindTrackRecordingService();
|
tryUnbindTrackRecordingService();
|
||||||
|
tracker.dispatch();
|
||||||
|
tracker.stop();
|
||||||
super.onDestroy();
|
super.onDestroy();
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -919,15 +933,19 @@ public class MyTracks extends TabActivity implements OnTouchListener,
|
|||||||
dialogManager.showDialogSafely(DIALOG_PROGRESS);
|
dialogManager.showDialogSafely(DIALOG_PROGRESS);
|
||||||
|
|
||||||
if (sendToGoogleDialog.getSendToMyMaps()) {
|
if (sendToGoogleDialog.getSendToMyMaps()) {
|
||||||
|
tracker.trackPageView("/android/send/maps");
|
||||||
sendToGoogleMapsOrPickMap(sendToGoogleDialog);
|
sendToGoogleMapsOrPickMap(sendToGoogleDialog);
|
||||||
} else if (sendToGoogleDialog.getSendToFusionTables()) {
|
} else if (sendToGoogleDialog.getSendToFusionTables()) {
|
||||||
|
tracker.trackPageView("/android/send/fusion_tables");
|
||||||
authenticateToFusionTables(null);
|
authenticateToFusionTables(null);
|
||||||
} else if (sendToGoogleDialog.getSendToDocs()) {
|
} else if (sendToGoogleDialog.getSendToDocs()) {
|
||||||
|
tracker.trackPageView("/android/send/docs");
|
||||||
authenticateToGoogleDocs();
|
authenticateToGoogleDocs();
|
||||||
} else {
|
} else {
|
||||||
Log.w(TAG, "Nowhere to upload to");
|
Log.w(TAG, "Nowhere to upload to");
|
||||||
onSendToGoogleDone();
|
onSendToGoogleDone();
|
||||||
}
|
}
|
||||||
|
tracker.dispatch();
|
||||||
}
|
}
|
||||||
|
|
||||||
private void sendToGoogleMapsOrPickMap(SendDialog sendToGoogleDialog) {
|
private void sendToGoogleMapsOrPickMap(SendDialog sendToGoogleDialog) {
|
||||||
|
|||||||
Reference in New Issue
Block a user