Code cleanup: move analytics constants to AnalyticsUtils

This commit is contained in:
Jimmy Shih
2013-06-28 13:18:37 -07:00
parent a318b88ac8
commit ad8349b2b4
5 changed files with 50 additions and 34 deletions
@@ -103,7 +103,7 @@ public abstract class AbstractSendToGoogleActivity extends AbstractMyTracksActiv
* @param trackId the track id * @param trackId the track id
*/ */
protected void shareTrack(long trackId) { protected void shareTrack(long trackId) {
AnalyticsUtils.sendPageViews(this, "/action/share_drive"); AnalyticsUtils.sendPageViews(this, AnalyticsUtils.ACTION_SHARE_DRIVE);
SendRequest newRequest; SendRequest newRequest;
newRequest = new SendRequest(trackId); newRequest = new SendRequest(trackId);
newRequest.setSendDrive(true); newRequest.setSendDrive(true);
@@ -365,6 +365,7 @@ public abstract class AbstractSendToGoogleActivity extends AbstractMyTracksActiv
* @param trackIds the track ids * @param trackIds the track ids
*/ */
protected void confirmPlay(long[] trackIds) { protected void confirmPlay(long[] trackIds) {
AnalyticsUtils.sendPageViews(this, AnalyticsUtils.ACTION_PLAY);
if (GoogleEarthUtils.isEarthInstalled(this)) { if (GoogleEarthUtils.isEarthInstalled(this)) {
if (PreferencesUtils.getBoolean( if (PreferencesUtils.getBoolean(
this, R.string.confirm_play_earth_key, PreferencesUtils.CONFIRM_PLAY_EARTH_DEFAULT)) { this, R.string.confirm_play_earth_key, PreferencesUtils.CONFIRM_PLAY_EARTH_DEFAULT)) {
@@ -381,12 +382,11 @@ public abstract class AbstractSendToGoogleActivity extends AbstractMyTracksActiv
@Override @Override
public void onConfirmPlayDone(long[] trackIds) { public void onConfirmPlayDone(long[] trackIds) {
AnalyticsUtils.sendPageViews(this, "/action/play"); Intent intent = IntentUtils.newIntent(this, SaveActivity.class)
Intent intent = IntentUtils.newIntent(this, SaveActivity.class) .putExtra(SaveActivity.EXTRA_TRACK_IDS, trackIds)
.putExtra(SaveActivity.EXTRA_TRACK_IDS, trackIds) .putExtra(SaveActivity.EXTRA_TRACK_FILE_FORMAT, (Parcelable) TrackFileFormat.KML)
.putExtra(SaveActivity.EXTRA_TRACK_FILE_FORMAT, (Parcelable) TrackFileFormat.KML) .putExtra(SaveActivity.EXTRA_PLAY_TRACK, true);
.putExtra(SaveActivity.EXTRA_PLAY_TRACK, true); startActivity(intent);
startActivity(intent);
} }
protected void deleteTrack(long[] trackIds) { protected void deleteTrack(long[] trackIds) {
@@ -58,8 +58,6 @@ import android.view.View.OnClickListener;
import android.widget.TabHost; import android.widget.TabHost;
import android.widget.TabHost.TabSpec; import android.widget.TabHost.TabSpec;
import java.util.Locale;
/** /**
* An activity to show the track detail. * An activity to show the track detail.
* *
@@ -151,13 +149,13 @@ public class TrackDetailActivity extends AbstractSendToGoogleActivity implements
public void onClick(View v) { public void onClick(View v) {
if (recordingTrackPaused) { if (recordingTrackPaused) {
// Paused -> Resume // Paused -> Resume
AnalyticsUtils.sendPageViews(TrackDetailActivity.this, "/action/resume_track"); AnalyticsUtils.sendPageViews(TrackDetailActivity.this, AnalyticsUtils.ACTION_RESUME_TRACK);
updateMenuItems(true, false); updateMenuItems(true, false);
TrackRecordingServiceConnectionUtils.resumeTrack(trackRecordingServiceConnection); TrackRecordingServiceConnectionUtils.resumeTrack(trackRecordingServiceConnection);
trackController.update(true, false); trackController.update(true, false);
} else { } else {
// Recording -> Paused // Recording -> Paused
AnalyticsUtils.sendPageViews(TrackDetailActivity.this, "/action/pause_track"); AnalyticsUtils.sendPageViews(TrackDetailActivity.this, AnalyticsUtils.ACTION_PAUSE_TRACK);
updateMenuItems(true, true); updateMenuItems(true, true);
TrackRecordingServiceConnectionUtils.pauseTrack(trackRecordingServiceConnection); TrackRecordingServiceConnectionUtils.pauseTrack(trackRecordingServiceConnection);
trackController.update(true, true); trackController.update(true, true);
@@ -168,7 +166,7 @@ public class TrackDetailActivity extends AbstractSendToGoogleActivity implements
private final OnClickListener stopListener = new OnClickListener() { private final OnClickListener stopListener = new OnClickListener() {
@Override @Override
public void onClick(View v) { public void onClick(View v) {
AnalyticsUtils.sendPageViews(TrackDetailActivity.this, "/action/stop_recording"); AnalyticsUtils.sendPageViews(TrackDetailActivity.this, AnalyticsUtils.ACTION_STOP_RECORDING);
updateMenuItems(false, true); updateMenuItems(false, true);
TrackRecordingServiceConnectionUtils.stopRecording( TrackRecordingServiceConnectionUtils.stopRecording(
TrackDetailActivity.this, trackRecordingServiceConnection, true); TrackDetailActivity.this, trackRecordingServiceConnection, true);
@@ -228,7 +226,7 @@ public class TrackDetailActivity extends AbstractSendToGoogleActivity implements
TrackRecordingServiceConnectionUtils.startConnection(this, trackRecordingServiceConnection); TrackRecordingServiceConnectionUtils.startConnection(this, trackRecordingServiceConnection);
trackDataHub.start(); trackDataHub.start();
AnalyticsUtils.sendPageViews(this, "/page/track_detail"); AnalyticsUtils.sendPageViews(this, AnalyticsUtils.PAGE_TRACK_DETAIL);
} }
@Override @Override
@@ -329,7 +327,7 @@ public class TrackDetailActivity extends AbstractSendToGoogleActivity implements
Intent intent; Intent intent;
switch (item.getItemId()) { switch (item.getItemId()) {
case R.id.track_detail_insert_marker: case R.id.track_detail_insert_marker:
AnalyticsUtils.sendPageViews(this, "/action/insert_marker"); AnalyticsUtils.sendPageViews(this, AnalyticsUtils.ACTION_INSERT_MARKER);
intent = IntentUtils.newIntent(this, MarkerEditActivity.class) intent = IntentUtils.newIntent(this, MarkerEditActivity.class)
.putExtra(MarkerEditActivity.EXTRA_TRACK_ID, trackId); .putExtra(MarkerEditActivity.EXTRA_TRACK_ID, trackId);
startActivity(intent); startActivity(intent);
@@ -356,7 +354,6 @@ public class TrackDetailActivity extends AbstractSendToGoogleActivity implements
.show(getSupportFragmentManager(), FrequencyDialogFragment.FREQUENCY_DIALOG_TAG); .show(getSupportFragmentManager(), FrequencyDialogFragment.FREQUENCY_DIALOG_TAG);
return true; return true;
case R.id.track_detail_export: case R.id.track_detail_export:
AnalyticsUtils.sendPageViews(this, "/export");
new ExportDialogFragment().show(getSupportFragmentManager(), new ExportDialogFragment().show(getSupportFragmentManager(),
ExportDialogFragment.EXPORT_DIALOG_TAG); ExportDialogFragment.EXPORT_DIALOG_TAG);
return true; return true;
@@ -403,27 +400,27 @@ public class TrackDetailActivity extends AbstractSendToGoogleActivity implements
@Override @Override
public void onExportDone(ExportType exportType, TrackFileFormat trackFileFormat) { public void onExportDone(ExportType exportType, TrackFileFormat trackFileFormat) {
String pageView;
if (exportType == ExportType.EXTERNAL_STORAGE) { if (exportType == ExportType.EXTERNAL_STORAGE) {
pageView = "/export/external_storage_" + trackFileFormat.name().toLowerCase(Locale.US); AnalyticsUtils.sendPageViews(this,
AnalyticsUtils.sendPageViews(this, pageView); AnalyticsUtils.ACTION_EXPORT_PREFIX + trackFileFormat.getExtension());
Intent intent = IntentUtils.newIntent(this, SaveActivity.class) Intent intent = IntentUtils.newIntent(this, SaveActivity.class)
.putExtra(SaveActivity.EXTRA_TRACK_IDS, new long[] { trackId }) .putExtra(SaveActivity.EXTRA_TRACK_IDS, new long[] { trackId })
.putExtra(SaveActivity.EXTRA_TRACK_FILE_FORMAT, (Parcelable) trackFileFormat); .putExtra(SaveActivity.EXTRA_TRACK_FILE_FORMAT, (Parcelable) trackFileFormat);
startActivity(intent); startActivity(intent);
} else { } else {
SendRequest sendRequest = new SendRequest(trackId); SendRequest sendRequest = new SendRequest(trackId);
String pageView;
switch (exportType) { switch (exportType) {
case GOOGLE_MAPS: case GOOGLE_MAPS:
pageView = "/export/maps"; pageView = AnalyticsUtils.ACTION_EXPORT_MAPS;
sendRequest.setSendMaps(true); sendRequest.setSendMaps(true);
break; break;
case GOOGLE_FUSION_TABLES: case GOOGLE_FUSION_TABLES:
pageView = "/export/fusion_tables"; pageView = AnalyticsUtils.ACTION_EXPORT_FUSION_TABLES;
sendRequest.setSendFusionTables(true); sendRequest.setSendFusionTables(true);
break; break;
default: default:
pageView = "/export/spreadsheets"; pageView = AnalyticsUtils.ACTION_EXPORT_SPREADSHEETS;
sendRequest.setSendSpreadsheets(true); sendRequest.setSendSpreadsheets(true);
} }
AnalyticsUtils.sendPageViews(this, pageView); AnalyticsUtils.sendPageViews(this, pageView);
@@ -84,8 +84,6 @@ import android.widget.AdapterView.OnItemClickListener;
import android.widget.ListView; import android.widget.ListView;
import android.widget.Toast; import android.widget.Toast;
import java.util.Locale;
/** /**
* An activity displaying a list of tracks. * An activity displaying a list of tracks.
* *
@@ -242,19 +240,19 @@ public class TrackListActivity extends AbstractSendToGoogleActivity
public void onClick(View v) { public void onClick(View v) {
if (recordingTrackId == PreferencesUtils.RECORDING_TRACK_ID_DEFAULT) { if (recordingTrackId == PreferencesUtils.RECORDING_TRACK_ID_DEFAULT) {
// Not recording -> Recording // Not recording -> Recording
AnalyticsUtils.sendPageViews(TrackListActivity.this, "/action/record_track"); AnalyticsUtils.sendPageViews(TrackListActivity.this, AnalyticsUtils.ACTION_RECORD_TRACK);
updateMenuItems(false, true); updateMenuItems(false, true);
startRecording(); startRecording();
} else { } else {
if (recordingTrackPaused) { if (recordingTrackPaused) {
// Paused -> Resume // Paused -> Resume
AnalyticsUtils.sendPageViews(TrackListActivity.this, "/action/resume_track"); AnalyticsUtils.sendPageViews(TrackListActivity.this, AnalyticsUtils.ACTION_RESUME_TRACK);
updateMenuItems(false, true); updateMenuItems(false, true);
TrackRecordingServiceConnectionUtils.resumeTrack(trackRecordingServiceConnection); TrackRecordingServiceConnectionUtils.resumeTrack(trackRecordingServiceConnection);
trackController.update(true, false); trackController.update(true, false);
} else { } else {
// Recording -> Paused // Recording -> Paused
AnalyticsUtils.sendPageViews(TrackListActivity.this, "/action/pause_track"); AnalyticsUtils.sendPageViews(TrackListActivity.this, AnalyticsUtils.ACTION_PAUSE_TRACK);
updateMenuItems(false, true); updateMenuItems(false, true);
TrackRecordingServiceConnectionUtils.pauseTrack(trackRecordingServiceConnection); TrackRecordingServiceConnectionUtils.pauseTrack(trackRecordingServiceConnection);
trackController.update(true, true); trackController.update(true, true);
@@ -266,7 +264,7 @@ public class TrackListActivity extends AbstractSendToGoogleActivity
private final OnClickListener stopListener = new OnClickListener() { private final OnClickListener stopListener = new OnClickListener() {
@Override @Override
public void onClick(View v) { public void onClick(View v) {
AnalyticsUtils.sendPageViews(TrackListActivity.this, "/action/stop_recording"); AnalyticsUtils.sendPageViews(TrackListActivity.this, AnalyticsUtils.ACTION_STOP_RECORDING);
updateMenuItems(false, false); updateMenuItems(false, false);
TrackRecordingServiceConnectionUtils.stopRecording( TrackRecordingServiceConnectionUtils.stopRecording(
TrackListActivity.this, trackRecordingServiceConnection, true); TrackListActivity.this, trackRecordingServiceConnection, true);
@@ -406,7 +404,7 @@ public class TrackListActivity extends AbstractSendToGoogleActivity
// Update track recording service connection // Update track recording service connection
TrackRecordingServiceConnectionUtils.startConnection(this, trackRecordingServiceConnection); TrackRecordingServiceConnectionUtils.startConnection(this, trackRecordingServiceConnection);
AnalyticsUtils.sendPageViews(this, "/page/track_list"); AnalyticsUtils.sendPageViews(this, AnalyticsUtils.PAGE_TRACK_LIST);
} }
@Override @Override
@@ -625,7 +623,7 @@ public class TrackListActivity extends AbstractSendToGoogleActivity
switch (menuId) { switch (menuId) {
case R.id.track_list_export_all: case R.id.track_list_export_all:
AnalyticsUtils.sendPageViews( AnalyticsUtils.sendPageViews(
this, "/action/save_all_" + trackFileFormat.name().toLowerCase(Locale.US)); this, AnalyticsUtils.ACTION_EXPORT_ALL_PREFIX + trackFileFormat.getExtension());
intent = IntentUtils.newIntent(this, SaveActivity.class) intent = IntentUtils.newIntent(this, SaveActivity.class)
.putExtra(SaveActivity.EXTRA_TRACK_IDS, new long[] {-1L}) .putExtra(SaveActivity.EXTRA_TRACK_IDS, new long[] {-1L})
.putExtra(SaveActivity.EXTRA_TRACK_FILE_FORMAT, (Parcelable) trackFileFormat); .putExtra(SaveActivity.EXTRA_TRACK_FILE_FORMAT, (Parcelable) trackFileFormat);
@@ -633,7 +631,7 @@ public class TrackListActivity extends AbstractSendToGoogleActivity
break; break;
case R.id.track_list_import_all: case R.id.track_list_import_all:
AnalyticsUtils.sendPageViews( AnalyticsUtils.sendPageViews(
this, "/action/import_all_" + trackFileFormat.name().toLowerCase(Locale.US)); this, AnalyticsUtils.ACTION_IMPORT_ALL_PREFIX + trackFileFormat.getExtension());
intent = IntentUtils.newIntent(this, ImportActivity.class) intent = IntentUtils.newIntent(this, ImportActivity.class)
.putExtra(ImportActivity.EXTRA_IMPORT_ALL, true) .putExtra(ImportActivity.EXTRA_IMPORT_ALL, true)
.putExtra(ImportActivity.EXTRA_TRACK_FILE_FORMAT, (Parcelable) trackFileFormat); .putExtra(ImportActivity.EXTRA_TRACK_FILE_FORMAT, (Parcelable) trackFileFormat);
@@ -98,17 +98,17 @@ public class SensorManagerFactory {
if (sensorType.equals(context.getString(R.string.sensor_type_value_ant))) { if (sensorType.equals(context.getString(R.string.sensor_type_value_ant))) {
if (sendPageViews) { if (sendPageViews) {
AnalyticsUtils.sendPageViews(context, "/sensor/ant"); AnalyticsUtils.sendPageViews(context, AnalyticsUtils.SENSOR_ANT);
} }
return new AntSensorManager(context); return new AntSensorManager(context);
} else if (sensorType.equals(context.getString(R.string.sensor_type_value_zephyr))) { } else if (sensorType.equals(context.getString(R.string.sensor_type_value_zephyr))) {
if (sendPageViews) { if (sendPageViews) {
AnalyticsUtils.sendPageViews(context, "/sensor/zephyr"); AnalyticsUtils.sendPageViews(context, AnalyticsUtils.SENSOR_ZEPHYR);
} }
return new ZephyrSensorManager(context); return new ZephyrSensorManager(context);
} else if (sensorType.equals(context.getString(R.string.sensor_type_value_polar))) { } else if (sensorType.equals(context.getString(R.string.sensor_type_value_polar))) {
if (sendPageViews) { if (sendPageViews) {
AnalyticsUtils.sendPageViews(context, "/sensor/polar"); AnalyticsUtils.sendPageViews(context, AnalyticsUtils.SENSOR_POLAR);
} }
return new PolarSensorManager(context); return new PolarSensorManager(context);
} }
@@ -27,6 +27,27 @@ import android.content.Context;
*/ */
public class AnalyticsUtils { public class AnalyticsUtils {
public static final String ACTION_EXPORT_ALL_PREFIX = "/action/export_all_";
public static final String ACTION_EXPORT_PREFIX = "/action/export_";
public static final String ACTION_EXPORT_FUSION_TABLES = "/action/export_fusion_tables";
public static final String ACTION_EXPORT_MAPS = "/action/export_maps";
public static final String ACTION_EXPORT_SPREADSHEETS = "/action/export_spreadsheets";
public static final String ACTION_IMPORT_ALL_PREFIX = "/action/import_all_";
public static final String ACTION_INSERT_MARKER = "/action/insert_marker";
public static final String ACTION_PAUSE_TRACK = "/action/pause_track";
public static final String ACTION_PLAY = "/action/play";
public static final String ACTION_RECORD_TRACK = "/action/record_track";
public static final String ACTION_RESUME_TRACK = "/action/resume_track";
public static final String ACTION_SHARE_DRIVE = "/action/share_drive";
public static final String ACTION_STOP_RECORDING = "/action/stop_recording";
public static final String PAGE_TRACK_DETAIL = "/page/track_detail";
public static final String PAGE_TRACK_LIST = "/page/track_list";
public static final String SENSOR_ANT = "/sensor/ant";
public static final String SENSOR_POLAR = "/sensor/polar";
public static final String SENSOR_ZEPHYR = "/sensor/zephyr";
private static final String UA = "UA-7222692-2"; private static final String UA = "UA-7222692-2";
private static final String PRODUCT_NAME = "android-mytracks"; private static final String PRODUCT_NAME = "android-mytracks";
private static GoogleAnalyticsTracker tracker; private static GoogleAnalyticsTracker tracker;
@@ -53,4 +74,4 @@ public class AnalyticsUtils {
tracker.dispatch(); tracker.dispatch();
} }
} }
} }