Removed analytics code.

This commit is contained in:
Dennis Guse
2019-06-20 06:39:29 +02:00
parent 9d8dee86e8
commit 7d9a7659d8
7 changed files with 12 additions and 138 deletions
+3 -1
View File
@@ -5,7 +5,7 @@ android {
defaultConfig { defaultConfig {
applicationId "com.google.android.maps.mytracks" applicationId "com.google.android.maps.mytracks"
minSdkVersion 9 minSdkVersion 14
targetSdkVersion 26 targetSdkVersion 26
testApplicationId "com.google.android.maps.mytracks.test" testApplicationId "com.google.android.maps.mytracks.test"
@@ -49,4 +49,6 @@ dependencies {
compile files('libs/libGoogleAnalytics.jar') compile files('libs/libGoogleAnalytics.jar')
androidTestCompile files('libs/AndroidMockGenerator.jar') androidTestCompile files('libs/AndroidMockGenerator.jar')
androidTestCompile files('libs/robotium-solo-5.0.1.jar') androidTestCompile files('libs/robotium-solo-5.0.1.jar')
implementation 'com.google.android.gms:play-services-location:11.8.0'
} }
@@ -18,38 +18,24 @@ package com.google.android.apps.mytracks;
import com.google.android.apps.mytracks.fragments.ConfirmDeleteDialogFragment; import com.google.android.apps.mytracks.fragments.ConfirmDeleteDialogFragment;
import com.google.android.apps.mytracks.fragments.ConfirmDeleteDialogFragment.ConfirmDeleteCaller; import com.google.android.apps.mytracks.fragments.ConfirmDeleteDialogFragment.ConfirmDeleteCaller;
import com.google.android.apps.mytracks.fragments.ExportDialogFragment.ExportType;
import com.google.android.apps.mytracks.fragments.InstallEarthDialogFragment; import com.google.android.apps.mytracks.fragments.InstallEarthDialogFragment;
import com.google.android.apps.mytracks.fragments.ShareTrackDialogFragment; import com.google.android.apps.mytracks.fragments.ShareTrackDialogFragment;
import com.google.android.apps.mytracks.fragments.ShareTrackDialogFragment.ShareTrackCaller; import com.google.android.apps.mytracks.fragments.ShareTrackDialogFragment.ShareTrackCaller;
import com.google.android.apps.mytracks.io.file.TrackFileFormat; import com.google.android.apps.mytracks.io.file.TrackFileFormat;
import com.google.android.apps.mytracks.io.file.exporter.SaveActivity; import com.google.android.apps.mytracks.io.file.exporter.SaveActivity;
import com.google.android.apps.mytracks.io.sync.SyncUtils;
import com.google.android.apps.mytracks.services.TrackRecordingServiceConnection; import com.google.android.apps.mytracks.services.TrackRecordingServiceConnection;
import com.google.android.apps.mytracks.services.tasks.CheckPermissionAsyncTask; import com.google.android.apps.mytracks.services.tasks.CheckPermissionAsyncTask;
import com.google.android.apps.mytracks.services.tasks.CheckPermissionAsyncTask.CheckPermissionCaller;
import com.google.android.apps.mytracks.util.AnalyticsUtils;
import com.google.android.apps.mytracks.util.GoogleEarthUtils; import com.google.android.apps.mytracks.util.GoogleEarthUtils;
import com.google.android.apps.mytracks.util.IntentUtils; import com.google.android.apps.mytracks.util.IntentUtils;
import com.google.android.apps.mytracks.util.PreferencesUtils; import com.google.android.apps.mytracks.util.PreferencesUtils;
import com.google.android.apps.mytracks.util.TrackRecordingServiceConnectionUtils; import com.google.android.apps.mytracks.util.TrackRecordingServiceConnectionUtils;
import com.google.android.maps.mytracks.R; import com.google.android.maps.mytracks.R;
import android.accounts.Account;
import android.accounts.AccountManager;
import android.accounts.AccountManagerCallback;
import android.accounts.AccountManagerFuture;
import android.accounts.AuthenticatorException;
import android.accounts.OperationCanceledException;
import android.app.Activity;
import android.content.Intent; import android.content.Intent;
import android.os.Bundle; import android.os.Bundle;
import android.os.Parcelable; import android.os.Parcelable;
import android.util.Log;
import android.widget.Toast; import android.widget.Toast;
import java.io.IOException;
/** /**
* An abstract class for the following common tasks across * An abstract class for the following common tasks across
* {@link TrackListActivity}, {@link TrackDetailActivity}, and * {@link TrackListActivity}, {@link TrackDetailActivity}, and
@@ -115,7 +101,6 @@ 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, AnalyticsUtils.ACTION_SHARE_DRIVE);
ShareTrackDialogFragment.newInstance(trackId) ShareTrackDialogFragment.newInstance(trackId)
.show(getSupportFragmentManager(), ShareTrackDialogFragment.SHARE_TRACK_DIALOG_TAG); .show(getSupportFragmentManager(), ShareTrackDialogFragment.SHARE_TRACK_DIALOG_TAG);
} }
@@ -177,7 +162,6 @@ public abstract class AbstractSendToGoogleActivity extends AbstractMyTracksActiv
* @param trackIds the track ids * @param trackIds the track ids
*/ */
protected void playTracks(long[] trackIds) { protected void playTracks(long[] trackIds) {
AnalyticsUtils.sendPageViews(this, AnalyticsUtils.ACTION_PLAY);
if (GoogleEarthUtils.isEarthInstalled(this)) { if (GoogleEarthUtils.isEarthInstalled(this)) {
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)
@@ -38,7 +38,6 @@ import com.google.android.apps.mytracks.io.file.TrackFileFormat;
import com.google.android.apps.mytracks.io.file.exporter.SaveActivity; import com.google.android.apps.mytracks.io.file.exporter.SaveActivity;
import com.google.android.apps.mytracks.services.TrackRecordingServiceConnection; import com.google.android.apps.mytracks.services.TrackRecordingServiceConnection;
import com.google.android.apps.mytracks.settings.SettingsActivity; 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.ApiAdapterFactory;
import com.google.android.apps.mytracks.util.CalorieUtils; import com.google.android.apps.mytracks.util.CalorieUtils;
import com.google.android.apps.mytracks.util.CalorieUtils.ActivityType; import com.google.android.apps.mytracks.util.CalorieUtils.ActivityType;
@@ -191,13 +190,11 @@ public class TrackDetailActivity extends AbstractSendToGoogleActivity
public void onClick(View v) { public void onClick(View v) {
if (recordingTrackPaused) { if (recordingTrackPaused) {
// Paused -> Resume // Paused -> Resume
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, AnalyticsUtils.ACTION_PAUSE_TRACK);
updateMenuItems(true, true); updateMenuItems(true, true);
TrackRecordingServiceConnectionUtils.pauseTrack(trackRecordingServiceConnection); TrackRecordingServiceConnectionUtils.pauseTrack(trackRecordingServiceConnection);
trackController.update(true, true); trackController.update(true, true);
@@ -208,7 +205,6 @@ public class TrackDetailActivity 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(TrackDetailActivity.this, AnalyticsUtils.ACTION_STOP_RECORDING);
updateMenuItems(false, true); updateMenuItems(false, true);
TrackRecordingServiceConnectionUtils.stopRecording( TrackRecordingServiceConnectionUtils.stopRecording(
TrackDetailActivity.this, trackRecordingServiceConnection, true); TrackDetailActivity.this, trackRecordingServiceConnection, true);
@@ -275,7 +271,6 @@ public class TrackDetailActivity extends AbstractSendToGoogleActivity
TrackRecordingServiceConnectionUtils.startConnection(this, trackRecordingServiceConnection); TrackRecordingServiceConnectionUtils.startConnection(this, trackRecordingServiceConnection);
trackDataHub.start(); trackDataHub.start();
AnalyticsUtils.sendPageViews(this, AnalyticsUtils.PAGE_TRACK_DETAIL);
} }
@Override @Override
@@ -301,7 +296,6 @@ public class TrackDetailActivity extends AbstractSendToGoogleActivity
sharedPreferences.unregisterOnSharedPreferenceChangeListener(sharedPreferenceChangeListener); sharedPreferences.unregisterOnSharedPreferenceChangeListener(sharedPreferenceChangeListener);
trackRecordingServiceConnection.unbind(); trackRecordingServiceConnection.unbind();
trackDataHub.stop(); trackDataHub.stop();
AnalyticsUtils.dispatch();
} }
@Override @Override
@@ -393,7 +387,6 @@ public class TrackDetailActivity extends AbstractSendToGoogleActivity
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, 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);
@@ -487,8 +480,6 @@ public class TrackDetailActivity extends AbstractSendToGoogleActivity
public void onExportDone( public void onExportDone(
ExportType exportType, TrackFileFormat trackFileFormat, Account account) { ExportType exportType, TrackFileFormat trackFileFormat, Account account) {
if (exportType == ExportType.EXTERNAL_STORAGE) { if (exportType == ExportType.EXTERNAL_STORAGE) {
AnalyticsUtils.sendPageViews(
this, 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);
@@ -37,7 +37,6 @@ import com.google.android.apps.mytracks.services.ITrackRecordingService;
import com.google.android.apps.mytracks.services.MyTracksLocationManager; import com.google.android.apps.mytracks.services.MyTracksLocationManager;
import com.google.android.apps.mytracks.services.TrackRecordingServiceConnection; import com.google.android.apps.mytracks.services.TrackRecordingServiceConnection;
import com.google.android.apps.mytracks.settings.SettingsActivity; 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.ApiAdapterFactory;
import com.google.android.apps.mytracks.util.EulaUtils; import com.google.android.apps.mytracks.util.EulaUtils;
import com.google.android.apps.mytracks.util.GoogleLocationUtils; import com.google.android.apps.mytracks.util.GoogleLocationUtils;
@@ -242,19 +241,16 @@ 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, 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, 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, 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 +262,6 @@ 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, AnalyticsUtils.ACTION_STOP_RECORDING);
updateMenuItems(false, false); updateMenuItems(false, false);
TrackRecordingServiceConnectionUtils.stopRecording( TrackRecordingServiceConnectionUtils.stopRecording(
TrackListActivity.this, trackRecordingServiceConnection, true); TrackListActivity.this, trackRecordingServiceConnection, true);
@@ -407,8 +402,6 @@ 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, AnalyticsUtils.PAGE_TRACK_LIST);
} }
@Override @Override
@@ -438,8 +431,6 @@ public class TrackListActivity extends AbstractSendToGoogleActivity
sharedPreferences.unregisterOnSharedPreferenceChangeListener(sharedPreferenceChangeListener); sharedPreferences.unregisterOnSharedPreferenceChangeListener(sharedPreferenceChangeListener);
trackRecordingServiceConnection.unbind(); trackRecordingServiceConnection.unbind();
AnalyticsUtils.dispatch();
} }
@Override @Override
@@ -628,16 +619,12 @@ public class TrackListActivity extends AbstractSendToGoogleActivity
Intent intent; Intent intent;
switch (menuId) { switch (menuId) {
case R.id.track_list_export_all: case R.id.track_list_export_all:
AnalyticsUtils.sendPageViews(
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);
startActivity(intent); startActivity(intent);
break; break;
case R.id.track_list_import_all: case R.id.track_list_import_all:
AnalyticsUtils.sendPageViews(
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);
@@ -17,7 +17,6 @@
package com.google.android.apps.mytracks.services.sensors; package com.google.android.apps.mytracks.services.sensors;
import com.google.android.apps.mytracks.services.sensors.ant.AntSensorManager; 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.apps.mytracks.util.PreferencesUtils;
import com.google.android.maps.mytracks.R; import com.google.android.maps.mytracks.R;
@@ -43,7 +42,7 @@ public class SensorManagerFactory {
public static SensorManager getSystemSensorManager(Context context) { public static SensorManager getSystemSensorManager(Context context) {
releaseTempSensorManager(); releaseTempSensorManager();
releaseSystemSensorManager(); releaseSystemSensorManager();
systemSensorManager = getSensorManager(context, true); systemSensorManager = getSensorManager(context);
if (systemSensorManager != null) { if (systemSensorManager != null) {
systemSensorManager.startSensor(); systemSensorManager.startSensor();
} }
@@ -70,7 +69,7 @@ public class SensorManagerFactory {
if (systemSensorManager != null) { if (systemSensorManager != null) {
return null; return null;
} }
tempSensorManager = getSensorManager(context, false); tempSensorManager = getSensorManager(context);
if (tempSensorManager != null) { if (tempSensorManager != null) {
tempSensorManager.startSensor(); tempSensorManager.startSensor();
} }
@@ -92,26 +91,15 @@ public class SensorManagerFactory {
* *
* @param context the context * @param context the context
*/ */
private static SensorManager getSensorManager(Context context, boolean sendPageViews) { private static SensorManager getSensorManager(Context context) {
String sensorType = PreferencesUtils.getString( String sensorType = PreferencesUtils.getString(
context, R.string.sensor_type_key, PreferencesUtils.SENSOR_TYPE_DEFAULT); context, R.string.sensor_type_key, PreferencesUtils.SENSOR_TYPE_DEFAULT);
if (sensorType.equals(context.getString(R.string.sensor_type_value_ant))) { switch (sensorType) {
if (sendPageViews) { case "ANT": return new AntSensorManager(context);
AnalyticsUtils.sendPageViews(context, AnalyticsUtils.SENSOR_ANT); case "ZEPHYR": return new ZephyrSensorManager(context);
} case "POLAR": return new PolarSensorManager(context);
return new AntSensorManager(context);
} else if (sensorType.equals(context.getString(R.string.sensor_type_value_zephyr))) {
if (sendPageViews) {
AnalyticsUtils.sendPageViews(context, AnalyticsUtils.SENSOR_ZEPHYR);
}
return new ZephyrSensorManager(context);
} else if (sensorType.equals(context.getString(R.string.sensor_type_value_polar))) {
if (sendPageViews) {
AnalyticsUtils.sendPageViews(context, AnalyticsUtils.SENSOR_POLAR);
}
return new PolarSensorManager(context);
} }
return null; return null;
} }
} }
@@ -1,78 +0,0 @@
/*
* Copyright 2012 Google Inc.
*
* Licensed under the Apache License, Version 2.0 (the "License"); you may not
* use this file except in compliance with the License. You may obtain a copy of
* the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
* WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
* License for the specific language governing permissions and limitations under
* the License.
*/
package com.google.android.apps.mytracks.util;
import com.google.android.apps.analytics.GoogleAnalyticsTracker;
import android.content.Context;
/**
* Utitlites for sending pageviews to Google Analytics.
*
* @author Jimmy Shih
*/
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_DRIVE = "/action/export_drive";
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 PRODUCT_NAME = "android-mytracks";
private static GoogleAnalyticsTracker tracker;
private AnalyticsUtils() {}
/**
* Sends a page view.
*
* @param context the context
* @param page the page
*/
public static void sendPageViews(Context context, String page) {
if (tracker == null) {
tracker = GoogleAnalyticsTracker.getInstance();
tracker.startNewSession(UA, context);
tracker.setProductVersion(PRODUCT_NAME, SystemUtils.getMyTracksVersion(context));
}
tracker.trackPageView(page);
}
public static void dispatch() {
if (tracker != null) {
tracker.dispatch();
}
}
}
+1 -1
View File
@@ -4,7 +4,7 @@ android {
compileSdkVersion 26 compileSdkVersion 26
defaultConfig { defaultConfig {
minSdkVersion 9 minSdkVersion 14
targetSdkVersion 26 targetSdkVersion 26
} }