mirror of
https://codeberg.org/OpenTracksApp/OpenTracks.git
synced 2026-10-02 09:33:06 +02:00
Update Google Analytics.
This commit is contained in:
Binary file not shown.
@@ -18,7 +18,6 @@ limitations under the License.
|
||||
<!-- DO NOT TRANSLATE ANY STRINGS IN THIS FILE. -->
|
||||
<string name="marker_statistics_icon_url">http://maps.google.com/mapfiles/ms/micons/ylw-pushpin.png</string>
|
||||
<string name="marker_waypoint_icon_url">http://maps.google.com/mapfiles/ms/micons/blue-pushpin.png</string>
|
||||
<string name="my_tracks_analytics_id">UA-7222692-2</string>
|
||||
<string name="my_tracks_privacy_url">www.google.com/policies/privacy/</string>
|
||||
<string name="my_tracks_recording_service_name">My Tracks Recording Service</string>
|
||||
<string name="my_tracks_support_url">groups.google.com/a/googleproductforums.com/forum/#!categories/maps/mytracks</string>
|
||||
|
||||
@@ -35,10 +35,11 @@ public class MyTracksApplication extends Application {
|
||||
|
||||
@Override
|
||||
public void onCreate() {
|
||||
super.onCreate();
|
||||
if (BuildConfig.DEBUG) {
|
||||
ApiAdapterFactory.getApiAdapter().enableStrictMode();
|
||||
}
|
||||
AnalyticsUtils.sendPageViews(this, "/appstart");
|
||||
AnalyticsUtils.sendPageViews(getApplicationContext(), "/appstart");
|
||||
Intent intent = new Intent(this, RemoveTempFilesService.class);
|
||||
startService(intent);
|
||||
}
|
||||
|
||||
@@ -91,7 +91,7 @@ public class TrackDetailActivity extends AbstractMyTracksActivity implements Del
|
||||
private MenuItem saveMenuItem;
|
||||
|
||||
private View mapViewContainer;
|
||||
|
||||
|
||||
/*
|
||||
* Note that sharedPreferenceChangeListener cannot be an anonymous inner
|
||||
* class. Anonymous inner class will get garbage collected.
|
||||
@@ -252,6 +252,7 @@ public class TrackDetailActivity extends AbstractMyTracksActivity implements Del
|
||||
TrackRecordingServiceConnectionUtils.stop(this, trackRecordingServiceConnection, true);
|
||||
return true;
|
||||
case R.id.track_detail_insert_marker:
|
||||
AnalyticsUtils.sendPageViews(this, "/action/insert_marker");
|
||||
intent = IntentUtils.newIntent(this, MarkerEditActivity.class)
|
||||
.putExtra(MarkerEditActivity.EXTRA_TRACK_ID, trackId);
|
||||
startActivity(intent);
|
||||
@@ -270,6 +271,7 @@ public class TrackDetailActivity extends AbstractMyTracksActivity implements Del
|
||||
}
|
||||
return true;
|
||||
case R.id.track_detail_share:
|
||||
AnalyticsUtils.sendPageViews(this, "/action/share");
|
||||
ChooseActivityDialogFragment.newInstance(trackId, null).show(
|
||||
getSupportFragmentManager(), ChooseActivityDialogFragment.CHOOSE_ACTIVITY_DIALOG_TAG);
|
||||
return true;
|
||||
@@ -290,6 +292,7 @@ public class TrackDetailActivity extends AbstractMyTracksActivity implements Del
|
||||
.show(getSupportFragmentManager(), FrequencyDialogFragment.FREQUENCY_DIALOG_TAG);
|
||||
return true;
|
||||
case R.id.track_detail_send_google:
|
||||
AnalyticsUtils.sendPageViews(this, "/action/send_google");
|
||||
ChooseUploadServiceDialogFragment.newInstance(new SendRequest(trackId)).show(
|
||||
getSupportFragmentManager(),
|
||||
ChooseUploadServiceDialogFragment.CHOOSE_UPLOAD_SERVICE_DIALOG_TAG);
|
||||
@@ -457,6 +460,7 @@ public class TrackDetailActivity extends AbstractMyTracksActivity implements Del
|
||||
* @param trackFileFormat the track file format
|
||||
*/
|
||||
private void startSaveActivity(TrackFileFormat trackFileFormat) {
|
||||
AnalyticsUtils.sendPageViews(this, "/action/save");
|
||||
Intent intent = IntentUtils.newIntent(this, SaveActivity.class)
|
||||
.putExtra(SaveActivity.EXTRA_TRACK_ID, trackId)
|
||||
.putExtra(SaveActivity.EXTRA_TRACK_FILE_FORMAT, (Parcelable) trackFileFormat);
|
||||
|
||||
@@ -28,6 +28,7 @@ import com.google.android.apps.mytracks.io.file.TrackWriterFactory.TrackFileForm
|
||||
import com.google.android.apps.mytracks.services.ITrackRecordingService;
|
||||
import com.google.android.apps.mytracks.services.TrackRecordingServiceConnection;
|
||||
import com.google.android.apps.mytracks.settings.SettingsActivity;
|
||||
import com.google.android.apps.mytracks.util.AnalyticsUtils;
|
||||
import com.google.android.apps.mytracks.util.ApiAdapterFactory;
|
||||
import com.google.android.apps.mytracks.util.EulaUtils;
|
||||
import com.google.android.apps.mytracks.util.IntentUtils;
|
||||
@@ -384,6 +385,7 @@ public class TrackListActivity extends FragmentActivity implements DeleteOneTrac
|
||||
Intent intent;
|
||||
switch (item.getItemId()) {
|
||||
case R.id.track_list_record_track:
|
||||
AnalyticsUtils.sendPageViews(this, "/action/record_track");
|
||||
updateMenuItems(true);
|
||||
startRecording();
|
||||
return true;
|
||||
@@ -394,6 +396,7 @@ public class TrackListActivity extends FragmentActivity implements DeleteOneTrac
|
||||
case R.id.track_list_search:
|
||||
return ApiAdapterFactory.getApiAdapter().handleSearchMenuSelection(this);
|
||||
case R.id.track_list_import:
|
||||
AnalyticsUtils.sendPageViews(this, "/action/import");
|
||||
intent = IntentUtils.newIntent(this, ImportActivity.class)
|
||||
.putExtra(ImportActivity.EXTRA_IMPORT_ALL, true);
|
||||
startActivity(intent);
|
||||
@@ -437,6 +440,7 @@ public class TrackListActivity extends FragmentActivity implements DeleteOneTrac
|
||||
* @param trackFileFormat the track file format
|
||||
*/
|
||||
private void startSaveActivity(TrackFileFormat trackFileFormat) {
|
||||
AnalyticsUtils.sendPageViews(this, "/action/save_all");
|
||||
Intent intent = IntentUtils.newIntent(this, SaveActivity.class)
|
||||
.putExtra(SaveActivity.EXTRA_TRACK_FILE_FORMAT, (Parcelable) trackFileFormat);
|
||||
startActivity(intent);
|
||||
|
||||
+4
-8
@@ -36,8 +36,6 @@ import android.widget.RadioButton;
|
||||
import android.widget.TableRow;
|
||||
import android.widget.Toast;
|
||||
|
||||
import java.util.ArrayList;
|
||||
|
||||
/**
|
||||
* A DialogFragment to choose upload service.
|
||||
*
|
||||
@@ -143,11 +141,11 @@ public class ChooseUploadServiceDialogFragment extends DialogFragment {
|
||||
* Starts the next activity, {@link AccountChooserActivity}.
|
||||
*/
|
||||
private void startNextActivity() {
|
||||
sendStats();
|
||||
sendRequest.setSendMaps(mapsCheckBox.isChecked());
|
||||
sendRequest.setSendFusionTables(fusionTablesCheckBox.isChecked());
|
||||
sendRequest.setSendDocs(docsCheckBox.isChecked());
|
||||
sendRequest.setNewMap(!existingMapRadioButton.isChecked());
|
||||
sendStats();
|
||||
Intent intent = IntentUtils.newIntent(getActivity(), AccountChooserActivity.class)
|
||||
.putExtra(SendRequest.SEND_REQUEST_KEY, sendRequest);
|
||||
startActivity(intent);
|
||||
@@ -157,16 +155,14 @@ public class ChooseUploadServiceDialogFragment extends DialogFragment {
|
||||
* Sends stats to Google Analytics.
|
||||
*/
|
||||
private void sendStats() {
|
||||
ArrayList<String> pages = new ArrayList<String>();
|
||||
if (sendRequest.isSendMaps()) {
|
||||
pages.add("/send/maps");
|
||||
AnalyticsUtils.sendPageViews(getActivity(), "/send/maps");
|
||||
}
|
||||
if (sendRequest.isSendFusionTables()) {
|
||||
pages.add("/send/fusion_tables");
|
||||
AnalyticsUtils.sendPageViews(getActivity(), "/send/fusion_tables");
|
||||
}
|
||||
if (sendRequest.isSendDocs()) {
|
||||
pages.add("/send/docs");
|
||||
AnalyticsUtils.sendPageViews(getActivity(), "/send/docs");
|
||||
}
|
||||
AnalyticsUtils.sendPageViews(getActivity(), pages.toArray(new String[pages.size()]));
|
||||
}
|
||||
}
|
||||
|
||||
+13
-3
@@ -17,6 +17,7 @@
|
||||
package com.google.android.apps.mytracks.services.sensors;
|
||||
|
||||
import com.google.android.apps.mytracks.services.sensors.ant.AntSensorManager;
|
||||
import com.google.android.apps.mytracks.util.AnalyticsUtils;
|
||||
import com.google.android.apps.mytracks.util.PreferencesUtils;
|
||||
import com.google.android.maps.mytracks.R;
|
||||
|
||||
@@ -42,7 +43,7 @@ public class SensorManagerFactory {
|
||||
public static SensorManager getSystemSensorManager(Context context) {
|
||||
releaseTempSensorManager();
|
||||
releaseSystemSensorManager();
|
||||
systemSensorManager = getSensorManager(context);
|
||||
systemSensorManager = getSensorManager(context, true);
|
||||
if (systemSensorManager != null) {
|
||||
systemSensorManager.startSensor();
|
||||
}
|
||||
@@ -69,7 +70,7 @@ public class SensorManagerFactory {
|
||||
if (systemSensorManager != null) {
|
||||
return null;
|
||||
}
|
||||
tempSensorManager = getSensorManager(context);
|
||||
tempSensorManager = getSensorManager(context, false);
|
||||
if (tempSensorManager != null) {
|
||||
tempSensorManager.startSensor();
|
||||
}
|
||||
@@ -91,16 +92,25 @@ public class SensorManagerFactory {
|
||||
*
|
||||
* @param context the context
|
||||
*/
|
||||
private static SensorManager getSensorManager(Context context) {
|
||||
private static SensorManager getSensorManager(Context context, boolean sendPageViews) {
|
||||
String sensorTypeValueNone = context.getString(R.string.sensor_type_value_none);
|
||||
String sensorType = PreferencesUtils.getString(
|
||||
context, R.string.sensor_type_key, sensorTypeValueNone);
|
||||
|
||||
if (sensorType.equals(context.getString(R.string.sensor_type_value_ant))) {
|
||||
if (sendPageViews) {
|
||||
AnalyticsUtils.sendPageViews(context, "/sensor/ant");
|
||||
}
|
||||
return new AntSensorManager(context);
|
||||
} else if (sensorType.equals(context.getString(R.string.sensor_type_value_zephyr))) {
|
||||
if (sendPageViews) {
|
||||
AnalyticsUtils.sendPageViews(context, "/sensor/zephyr");
|
||||
}
|
||||
return new ZephyrSensorManager(context);
|
||||
} else if (sensorType.equals(context.getString(R.string.sensor_type_value_polar))) {
|
||||
if (sendPageViews) {
|
||||
AnalyticsUtils.sendPageViews(context, "/sensor/polar");
|
||||
}
|
||||
return new PolarSensorManager(context);
|
||||
}
|
||||
return null;
|
||||
|
||||
@@ -17,7 +17,6 @@
|
||||
package com.google.android.apps.mytracks.util;
|
||||
|
||||
import com.google.android.apps.analytics.GoogleAnalyticsTracker;
|
||||
import com.google.android.maps.mytracks.R;
|
||||
|
||||
import android.content.Context;
|
||||
|
||||
@@ -28,16 +27,23 @@ import android.content.Context;
|
||||
*/
|
||||
public class AnalyticsUtils {
|
||||
|
||||
private static final String UA = "UA-7222692-2";
|
||||
private static final String PRODUCT_NAME = "android-mytracks";
|
||||
|
||||
private AnalyticsUtils() {}
|
||||
|
||||
public static void sendPageViews(Context context, String ... pages) {
|
||||
|
||||
/**
|
||||
* Sends a page view.
|
||||
*
|
||||
* @param context the context
|
||||
* @param page the page
|
||||
*/
|
||||
public static void sendPageViews(Context context, String page) {
|
||||
GoogleAnalyticsTracker tracker = GoogleAnalyticsTracker.getInstance();
|
||||
tracker.start(context.getString(R.string.my_tracks_analytics_id), context);
|
||||
tracker.setProductVersion("android-mytracks", SystemUtils.getMyTracksVersion(context));
|
||||
for (String page : pages) {
|
||||
tracker.trackPageView(page);
|
||||
}
|
||||
tracker.startNewSession(UA, context);
|
||||
tracker.setProductVersion(PRODUCT_NAME, SystemUtils.getMyTracksVersion(context));
|
||||
tracker.trackPageView(page);
|
||||
tracker.dispatch();
|
||||
tracker.stop();
|
||||
tracker.stopSession();
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user