forked from upstream-mirrors/OpenTracks
Rename TripStatisticsBuilder to TripStatisticsUpdater.
No logic change.
This commit is contained in:
@@ -27,7 +27,7 @@ import com.google.android.apps.mytracks.content.TrackDataListener;
|
|||||||
import com.google.android.apps.mytracks.content.TrackDataType;
|
import com.google.android.apps.mytracks.content.TrackDataType;
|
||||||
import com.google.android.apps.mytracks.content.Waypoint;
|
import com.google.android.apps.mytracks.content.Waypoint;
|
||||||
import com.google.android.apps.mytracks.stats.TripStatistics;
|
import com.google.android.apps.mytracks.stats.TripStatistics;
|
||||||
import com.google.android.apps.mytracks.stats.TripStatisticsBuilder;
|
import com.google.android.apps.mytracks.stats.TripStatisticsUpdater;
|
||||||
import com.google.android.apps.mytracks.util.LocationUtils;
|
import com.google.android.apps.mytracks.util.LocationUtils;
|
||||||
import com.google.android.apps.mytracks.util.PreferencesUtils;
|
import com.google.android.apps.mytracks.util.PreferencesUtils;
|
||||||
import com.google.android.apps.mytracks.util.UnitConversions;
|
import com.google.android.apps.mytracks.util.UnitConversions;
|
||||||
@@ -61,7 +61,7 @@ public class ChartFragment extends Fragment implements TrackDataListener {
|
|||||||
private TrackDataHub trackDataHub;
|
private TrackDataHub trackDataHub;
|
||||||
|
|
||||||
// Stats gathered from the received data
|
// Stats gathered from the received data
|
||||||
private TripStatisticsBuilder tripStatisticsBuilder;
|
private TripStatisticsUpdater tripStatisticsUpdater;
|
||||||
private long startTime;
|
private long startTime;
|
||||||
|
|
||||||
private boolean metricUnits = PreferencesUtils.METRIC_UNITS_DEFAULT;
|
private boolean metricUnits = PreferencesUtils.METRIC_UNITS_DEFAULT;
|
||||||
@@ -190,7 +190,7 @@ public class ChartFragment extends Fragment implements TrackDataListener {
|
|||||||
@Override
|
@Override
|
||||||
public void clearTrackPoints() {
|
public void clearTrackPoints() {
|
||||||
if (isResumed()) {
|
if (isResumed()) {
|
||||||
tripStatisticsBuilder = startTime != -1L ? new TripStatisticsBuilder(startTime) : null;
|
tripStatisticsUpdater = startTime != -1L ? new TripStatisticsUpdater(startTime) : null;
|
||||||
pendingPoints.clear();
|
pendingPoints.clear();
|
||||||
chartView.reset();
|
chartView.reset();
|
||||||
getActivity().runOnUiThread(new Runnable() {
|
getActivity().runOnUiThread(new Runnable() {
|
||||||
@@ -454,9 +454,9 @@ public class ChartFragment extends Fragment implements TrackDataListener {
|
|||||||
double cadence = Double.NaN;
|
double cadence = Double.NaN;
|
||||||
double power = Double.NaN;
|
double power = Double.NaN;
|
||||||
|
|
||||||
if (tripStatisticsBuilder != null) {
|
if (tripStatisticsUpdater != null) {
|
||||||
tripStatisticsBuilder.addLocation(location, minRecordingDistance);
|
tripStatisticsUpdater.addLocation(location, minRecordingDistance);
|
||||||
TripStatistics tripStatistics = tripStatisticsBuilder.getTripStatistics();
|
TripStatistics tripStatistics = tripStatisticsUpdater.getTripStatistics();
|
||||||
if (chartByDistance) {
|
if (chartByDistance) {
|
||||||
double distance = tripStatistics.getTotalDistance() * UnitConversions.M_TO_KM;
|
double distance = tripStatistics.getTotalDistance() * UnitConversions.M_TO_KM;
|
||||||
if (!metricUnits) {
|
if (!metricUnits) {
|
||||||
@@ -467,12 +467,12 @@ public class ChartFragment extends Fragment implements TrackDataListener {
|
|||||||
timeOrDistance = tripStatistics.getTotalTime();
|
timeOrDistance = tripStatistics.getTotalTime();
|
||||||
}
|
}
|
||||||
|
|
||||||
elevation = tripStatisticsBuilder.getSmoothedElevation();
|
elevation = tripStatisticsUpdater.getSmoothedElevation();
|
||||||
if (!metricUnits) {
|
if (!metricUnits) {
|
||||||
elevation *= UnitConversions.M_TO_FT;
|
elevation *= UnitConversions.M_TO_FT;
|
||||||
}
|
}
|
||||||
|
|
||||||
speed = tripStatisticsBuilder.getSmoothedSpeed() * UnitConversions.MS_TO_KMH;
|
speed = tripStatisticsUpdater.getSmoothedSpeed() * UnitConversions.MS_TO_KMH;
|
||||||
if (!metricUnits) {
|
if (!metricUnits) {
|
||||||
speed *= UnitConversions.KM_TO_MI;
|
speed *= UnitConversions.KM_TO_MI;
|
||||||
}
|
}
|
||||||
@@ -515,8 +515,8 @@ public class ChartFragment extends Fragment implements TrackDataListener {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@VisibleForTesting
|
@VisibleForTesting
|
||||||
void setTripStatisticsBuilder(long time) {
|
void setTripStatisticsUpdater(long time) {
|
||||||
tripStatisticsBuilder = new TripStatisticsBuilder(time);
|
tripStatisticsUpdater = new TripStatisticsUpdater(time);
|
||||||
}
|
}
|
||||||
|
|
||||||
@VisibleForTesting
|
@VisibleForTesting
|
||||||
|
|||||||
@@ -18,7 +18,7 @@ package com.google.android.apps.mytracks.io.file;
|
|||||||
import com.google.android.apps.mytracks.Constants;
|
import com.google.android.apps.mytracks.Constants;
|
||||||
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.stats.TripStatisticsBuilder;
|
import com.google.android.apps.mytracks.stats.TripStatisticsUpdater;
|
||||||
import com.google.android.apps.mytracks.util.LocationUtils;
|
import com.google.android.apps.mytracks.util.LocationUtils;
|
||||||
import com.google.android.apps.mytracks.util.PreferencesUtils;
|
import com.google.android.apps.mytracks.util.PreferencesUtils;
|
||||||
import com.google.android.apps.mytracks.util.StringUtils;
|
import com.google.android.apps.mytracks.util.StringUtils;
|
||||||
@@ -106,9 +106,9 @@ public class GpxImporter extends DefaultHandler {
|
|||||||
private Track track;
|
private Track track;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Statistics builder for the current track.
|
* Trip statistics updater for the current track.
|
||||||
*/
|
*/
|
||||||
private TripStatisticsBuilder tripStatisticsBuilder;
|
private TripStatisticsUpdater tripStatisticsUpdater;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Buffer of locations to be bulk-inserted into the database.
|
* Buffer of locations to be bulk-inserted into the database.
|
||||||
@@ -301,20 +301,20 @@ public class GpxImporter extends DefaultHandler {
|
|||||||
flushPoints();
|
flushPoints();
|
||||||
|
|
||||||
// Calculate statistics for the imported track
|
// Calculate statistics for the imported track
|
||||||
tripStatisticsBuilder.updateTime(lastLocation.getTime());
|
tripStatisticsUpdater.updateTime(lastLocation.getTime());
|
||||||
track.setStopId(getLastPointId());
|
track.setStopId(getLastPointId());
|
||||||
} else {
|
} else {
|
||||||
tripStatisticsBuilder = new TripStatisticsBuilder(0L);
|
tripStatisticsUpdater = new TripStatisticsUpdater(0L);
|
||||||
tripStatisticsBuilder.updateTime(0L);
|
tripStatisticsUpdater.updateTime(0L);
|
||||||
}
|
}
|
||||||
track.setTripStatistics(tripStatisticsBuilder.getTripStatistics());
|
track.setTripStatistics(tripStatisticsUpdater.getTripStatistics());
|
||||||
track.setNumberOfPoints(numberOfLocations);
|
track.setNumberOfPoints(numberOfLocations);
|
||||||
myTracksProviderUtils.updateTrack(track);
|
myTracksProviderUtils.updateTrack(track);
|
||||||
tracksIds.add(track.getId());
|
tracksIds.add(track.getId());
|
||||||
isCurrentTrackRollbackable = false;
|
isCurrentTrackRollbackable = false;
|
||||||
lastSegmentLocation = null;
|
lastSegmentLocation = null;
|
||||||
lastLocation = null;
|
lastLocation = null;
|
||||||
tripStatisticsBuilder = null;
|
tripStatisticsUpdater = null;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -377,11 +377,11 @@ public class GpxImporter extends DefaultHandler {
|
|||||||
*/
|
*/
|
||||||
private void onTrackPointElementEnd() throws SAXException {
|
private void onTrackPointElementEnd() throws SAXException {
|
||||||
if (LocationUtils.isValidLocation(location)) {
|
if (LocationUtils.isValidLocation(location)) {
|
||||||
if (tripStatisticsBuilder == null) {
|
if (tripStatisticsUpdater == null) {
|
||||||
// first point did not have a time, start stats builder without it
|
// first point did not have a time, start stats builder without it
|
||||||
tripStatisticsBuilder = new TripStatisticsBuilder(0);
|
tripStatisticsUpdater = new TripStatisticsUpdater(0);
|
||||||
}
|
}
|
||||||
tripStatisticsBuilder.addLocation(location, PreferencesUtils.MIN_RECORDING_DISTANCE_DEFAULT);
|
tripStatisticsUpdater.addLocation(location, PreferencesUtils.MIN_RECORDING_DISTANCE_DEFAULT);
|
||||||
|
|
||||||
// insert in db
|
// insert in db
|
||||||
insertPoint(location);
|
insertPoint(location);
|
||||||
@@ -448,8 +448,8 @@ public class GpxImporter extends DefaultHandler {
|
|||||||
location.setTime(time);
|
location.setTime(time);
|
||||||
|
|
||||||
// initialize start time with time of first track point
|
// initialize start time with time of first track point
|
||||||
if (tripStatisticsBuilder == null) {
|
if (tripStatisticsUpdater == null) {
|
||||||
tripStatisticsBuilder = new TripStatisticsBuilder(time);
|
tripStatisticsUpdater = new TripStatisticsUpdater(time);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
+7
-7
@@ -10,7 +10,7 @@ import com.google.android.apps.mytracks.content.Track;
|
|||||||
import com.google.android.apps.mytracks.content.Waypoint;
|
import com.google.android.apps.mytracks.content.Waypoint;
|
||||||
import com.google.android.apps.mytracks.io.sendtogoogle.AbstractSendAsyncTask;
|
import com.google.android.apps.mytracks.io.sendtogoogle.AbstractSendAsyncTask;
|
||||||
import com.google.android.apps.mytracks.io.sendtogoogle.SendToGoogleUtils;
|
import com.google.android.apps.mytracks.io.sendtogoogle.SendToGoogleUtils;
|
||||||
import com.google.android.apps.mytracks.stats.TripStatisticsBuilder;
|
import com.google.android.apps.mytracks.stats.TripStatisticsUpdater;
|
||||||
import com.google.android.apps.mytracks.util.ApiAdapterFactory;
|
import com.google.android.apps.mytracks.util.ApiAdapterFactory;
|
||||||
import com.google.android.apps.mytracks.util.LocationUtils;
|
import com.google.android.apps.mytracks.util.LocationUtils;
|
||||||
import com.google.android.apps.mytracks.util.PreferencesUtils;
|
import com.google.android.apps.mytracks.util.PreferencesUtils;
|
||||||
@@ -224,7 +224,7 @@ public class SendFusionTablesAsyncTask extends AbstractSendAsyncTask {
|
|||||||
int elevationSamplingFrequency = Math.max(1, (int) (count / 250.0));
|
int elevationSamplingFrequency = Math.max(1, (int) (count / 250.0));
|
||||||
Vector<Double> distances = new Vector<Double>();
|
Vector<Double> distances = new Vector<Double>();
|
||||||
Vector<Double> elevations = new Vector<Double>();
|
Vector<Double> elevations = new Vector<Double>();
|
||||||
TripStatisticsBuilder tripStatisticsBuilder = new TripStatisticsBuilder(
|
TripStatisticsUpdater tripStatisticsUpdater = new TripStatisticsUpdater(
|
||||||
track.getTripStatistics().getStartTime());
|
track.getTripStatistics().getStartTime());
|
||||||
int minRecordingDistance = PreferencesUtils.getInt(context,
|
int minRecordingDistance = PreferencesUtils.getInt(context,
|
||||||
R.string.min_recording_distance_key, PreferencesUtils.MIN_RECORDING_DISTANCE_DEFAULT);
|
R.string.min_recording_distance_key, PreferencesUtils.MIN_RECORDING_DISTANCE_DEFAULT);
|
||||||
@@ -244,10 +244,10 @@ public class SendFusionTablesAsyncTask extends AbstractSendAsyncTask {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
tripStatisticsBuilder.addLocation(location, minRecordingDistance);
|
tripStatisticsUpdater.addLocation(location, minRecordingDistance);
|
||||||
if (i % elevationSamplingFrequency == 0) {
|
if (i % elevationSamplingFrequency == 0) {
|
||||||
distances.add(tripStatisticsBuilder.getTripStatistics().getTotalDistance());
|
distances.add(tripStatisticsUpdater.getTripStatistics().getTotalDistance());
|
||||||
elevations.add(tripStatisticsBuilder.getSmoothedElevation());
|
elevations.add(tripStatisticsUpdater.getSmoothedElevation());
|
||||||
}
|
}
|
||||||
if (LocationUtils.isValidLocation(location)) {
|
if (LocationUtils.isValidLocation(location)) {
|
||||||
lastLocation = location;
|
lastLocation = location;
|
||||||
@@ -273,8 +273,8 @@ public class SendFusionTablesAsyncTask extends AbstractSendAsyncTask {
|
|||||||
|
|
||||||
// Create an end marker
|
// Create an end marker
|
||||||
if (lastLocation != null) {
|
if (lastLocation != null) {
|
||||||
distances.add(tripStatisticsBuilder.getTripStatistics().getTotalDistance());
|
distances.add(tripStatisticsUpdater.getTripStatistics().getTotalDistance());
|
||||||
elevations.add(tripStatisticsBuilder.getSmoothedElevation());
|
elevations.add(tripStatisticsUpdater.getSmoothedElevation());
|
||||||
DescriptionGenerator descriptionGenerator = new DescriptionGeneratorImpl(context);
|
DescriptionGenerator descriptionGenerator = new DescriptionGeneratorImpl(context);
|
||||||
track.setDescription(
|
track.setDescription(
|
||||||
descriptionGenerator.generateTrackDescription(track, distances, elevations, true));
|
descriptionGenerator.generateTrackDescription(track, distances, elevations, true));
|
||||||
|
|||||||
@@ -28,7 +28,7 @@ import com.google.android.apps.mytracks.io.gdata.maps.MapsGDataConverter;
|
|||||||
import com.google.android.apps.mytracks.io.gdata.maps.XmlMapsGDataParserFactory;
|
import com.google.android.apps.mytracks.io.gdata.maps.XmlMapsGDataParserFactory;
|
||||||
import com.google.android.apps.mytracks.io.sendtogoogle.AbstractSendAsyncTask;
|
import com.google.android.apps.mytracks.io.sendtogoogle.AbstractSendAsyncTask;
|
||||||
import com.google.android.apps.mytracks.io.sendtogoogle.SendToGoogleUtils;
|
import com.google.android.apps.mytracks.io.sendtogoogle.SendToGoogleUtils;
|
||||||
import com.google.android.apps.mytracks.stats.TripStatisticsBuilder;
|
import com.google.android.apps.mytracks.stats.TripStatisticsUpdater;
|
||||||
import com.google.android.apps.mytracks.util.LocationUtils;
|
import com.google.android.apps.mytracks.util.LocationUtils;
|
||||||
import com.google.android.apps.mytracks.util.PreferencesUtils;
|
import com.google.android.apps.mytracks.util.PreferencesUtils;
|
||||||
import com.google.android.common.gdata.AndroidXmlParserFactory;
|
import com.google.android.common.gdata.AndroidXmlParserFactory;
|
||||||
@@ -267,7 +267,7 @@ public class SendMapsAsyncTask extends AbstractSendAsyncTask {
|
|||||||
int elevationSamplingFrequency = Math.max(1, (int) (count / 250.0));
|
int elevationSamplingFrequency = Math.max(1, (int) (count / 250.0));
|
||||||
Vector<Double> distances = new Vector<Double>();
|
Vector<Double> distances = new Vector<Double>();
|
||||||
Vector<Double> elevations = new Vector<Double>();
|
Vector<Double> elevations = new Vector<Double>();
|
||||||
TripStatisticsBuilder tripStatisticsBuilder = new TripStatisticsBuilder(
|
TripStatisticsUpdater tripStatisticsUpdater = new TripStatisticsUpdater(
|
||||||
track.getTripStatistics().getStartTime());
|
track.getTripStatistics().getStartTime());
|
||||||
int minRecordingDistance = PreferencesUtils.getInt(context,
|
int minRecordingDistance = PreferencesUtils.getInt(context,
|
||||||
R.string.min_recording_distance_key, PreferencesUtils.MIN_RECORDING_DISTANCE_DEFAULT);
|
R.string.min_recording_distance_key, PreferencesUtils.MIN_RECORDING_DISTANCE_DEFAULT);
|
||||||
@@ -287,10 +287,10 @@ public class SendMapsAsyncTask extends AbstractSendAsyncTask {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
tripStatisticsBuilder.addLocation(location, minRecordingDistance);
|
tripStatisticsUpdater.addLocation(location, minRecordingDistance);
|
||||||
if (i % elevationSamplingFrequency == 0) {
|
if (i % elevationSamplingFrequency == 0) {
|
||||||
distances.add(tripStatisticsBuilder.getTripStatistics().getTotalDistance());
|
distances.add(tripStatisticsUpdater.getTripStatistics().getTotalDistance());
|
||||||
elevations.add(tripStatisticsBuilder.getSmoothedElevation());
|
elevations.add(tripStatisticsUpdater.getSmoothedElevation());
|
||||||
}
|
}
|
||||||
if (LocationUtils.isValidLocation(location)) {
|
if (LocationUtils.isValidLocation(location)) {
|
||||||
lastLocation = location;
|
lastLocation = location;
|
||||||
@@ -316,8 +316,8 @@ public class SendMapsAsyncTask extends AbstractSendAsyncTask {
|
|||||||
|
|
||||||
// Create an end marker
|
// Create an end marker
|
||||||
if (lastLocation != null) {
|
if (lastLocation != null) {
|
||||||
distances.add(tripStatisticsBuilder.getTripStatistics().getTotalDistance());
|
distances.add(tripStatisticsUpdater.getTripStatistics().getTotalDistance());
|
||||||
elevations.add(tripStatisticsBuilder.getSmoothedElevation());
|
elevations.add(tripStatisticsUpdater.getSmoothedElevation());
|
||||||
DescriptionGenerator descriptionGenerator = new DescriptionGeneratorImpl(context);
|
DescriptionGenerator descriptionGenerator = new DescriptionGeneratorImpl(context);
|
||||||
track.setDescription(
|
track.setDescription(
|
||||||
descriptionGenerator.generateTrackDescription(track, distances, elevations, true));
|
descriptionGenerator.generateTrackDescription(track, distances, elevations, true));
|
||||||
|
|||||||
@@ -36,7 +36,7 @@ import com.google.android.apps.mytracks.services.tasks.AnnouncementPeriodicTaskF
|
|||||||
import com.google.android.apps.mytracks.services.tasks.PeriodicTaskExecutor;
|
import com.google.android.apps.mytracks.services.tasks.PeriodicTaskExecutor;
|
||||||
import com.google.android.apps.mytracks.services.tasks.SplitPeriodicTaskFactory;
|
import com.google.android.apps.mytracks.services.tasks.SplitPeriodicTaskFactory;
|
||||||
import com.google.android.apps.mytracks.stats.TripStatistics;
|
import com.google.android.apps.mytracks.stats.TripStatistics;
|
||||||
import com.google.android.apps.mytracks.stats.TripStatisticsBuilder;
|
import com.google.android.apps.mytracks.stats.TripStatisticsUpdater;
|
||||||
import com.google.android.apps.mytracks.util.IntentUtils;
|
import com.google.android.apps.mytracks.util.IntentUtils;
|
||||||
import com.google.android.apps.mytracks.util.LocationUtils;
|
import com.google.android.apps.mytracks.util.LocationUtils;
|
||||||
import com.google.android.apps.mytracks.util.PreferencesUtils;
|
import com.google.android.apps.mytracks.util.PreferencesUtils;
|
||||||
@@ -110,8 +110,8 @@ public class TrackRecordingService extends Service {
|
|||||||
private long currentRecordingInterval;
|
private long currentRecordingInterval;
|
||||||
|
|
||||||
// The following variables are set when recording:
|
// The following variables are set when recording:
|
||||||
private TripStatisticsBuilder trackTripStatisticsBuilder;
|
private TripStatisticsUpdater trackTripStatisticsUpdater;
|
||||||
private TripStatisticsBuilder markerTripStatisticsBuilder;
|
private TripStatisticsUpdater markerTripStatisticsUpdater;
|
||||||
private WakeLock wakeLock;
|
private WakeLock wakeLock;
|
||||||
private SensorManager sensorManager;
|
private SensorManager sensorManager;
|
||||||
private Location lastLocation;
|
private Location lastLocation;
|
||||||
@@ -397,10 +397,10 @@ public class TrackRecordingService extends Service {
|
|||||||
* Gets the trip statistics.
|
* Gets the trip statistics.
|
||||||
*/
|
*/
|
||||||
public TripStatistics getTripStatistics() {
|
public TripStatistics getTripStatistics() {
|
||||||
if (trackTripStatisticsBuilder == null) {
|
if (trackTripStatisticsUpdater == null) {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
return trackTripStatisticsBuilder.getTripStatistics();
|
return trackTripStatisticsUpdater.getTripStatistics();
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -433,9 +433,9 @@ public class TrackRecordingService extends Service {
|
|||||||
String description;
|
String description;
|
||||||
if (isStatistics) {
|
if (isStatistics) {
|
||||||
long now = System.currentTimeMillis();
|
long now = System.currentTimeMillis();
|
||||||
markerTripStatisticsBuilder.updateTime(now);
|
markerTripStatisticsUpdater.updateTime(now);
|
||||||
tripStatistics = markerTripStatisticsBuilder.getTripStatistics();
|
tripStatistics = markerTripStatisticsUpdater.getTripStatistics();
|
||||||
markerTripStatisticsBuilder = new TripStatisticsBuilder(now);
|
markerTripStatisticsUpdater = new TripStatisticsUpdater(now);
|
||||||
description = new DescriptionGeneratorImpl(this).generateWaypointDescription(tripStatistics);
|
description = new DescriptionGeneratorImpl(this).generateWaypointDescription(tripStatistics);
|
||||||
} else {
|
} else {
|
||||||
tripStatistics = null;
|
tripStatistics = null;
|
||||||
@@ -454,8 +454,8 @@ public class TrackRecordingService extends Service {
|
|||||||
double length;
|
double length;
|
||||||
Location lastTrackPoint = myTracksProviderUtils.getLastTrackPoint(recordingTrackId);
|
Location lastTrackPoint = myTracksProviderUtils.getLastTrackPoint(recordingTrackId);
|
||||||
if (currentSegmentHasLocation && LocationUtils.isValidLocation(lastTrackPoint)
|
if (currentSegmentHasLocation && LocationUtils.isValidLocation(lastTrackPoint)
|
||||||
&& trackTripStatisticsBuilder != null) {
|
&& trackTripStatisticsUpdater != null) {
|
||||||
TripStatistics stats = trackTripStatisticsBuilder.getTripStatistics();
|
TripStatistics stats = trackTripStatisticsUpdater.getTripStatistics();
|
||||||
length = stats.getTotalDistance();
|
length = stats.getTotalDistance();
|
||||||
duration = stats.getTotalTime();
|
duration = stats.getTotalTime();
|
||||||
} else {
|
} else {
|
||||||
@@ -557,8 +557,8 @@ public class TrackRecordingService extends Service {
|
|||||||
return -1L;
|
return -1L;
|
||||||
}
|
}
|
||||||
long now = System.currentTimeMillis();
|
long now = System.currentTimeMillis();
|
||||||
trackTripStatisticsBuilder = new TripStatisticsBuilder(now);
|
trackTripStatisticsUpdater = new TripStatisticsUpdater(now);
|
||||||
markerTripStatisticsBuilder = new TripStatisticsBuilder(now);
|
markerTripStatisticsUpdater = new TripStatisticsUpdater(now);
|
||||||
|
|
||||||
// Insert a track
|
// Insert a track
|
||||||
Track track = new Track();
|
Track track = new Track();
|
||||||
@@ -574,7 +574,7 @@ public class TrackRecordingService extends Service {
|
|||||||
track.setName(TrackNameUtils.getTrackName(this, trackId, now, null));
|
track.setName(TrackNameUtils.getTrackName(this, trackId, now, null));
|
||||||
track.setCategory(PreferencesUtils.getString(
|
track.setCategory(PreferencesUtils.getString(
|
||||||
this, R.string.default_activity_key, PreferencesUtils.DEFAULT_ACTIVITY_DEFAULT));
|
this, R.string.default_activity_key, PreferencesUtils.DEFAULT_ACTIVITY_DEFAULT));
|
||||||
track.setTripStatistics(trackTripStatisticsBuilder.getTripStatistics());
|
track.setTripStatistics(trackTripStatisticsUpdater.getTripStatistics());
|
||||||
myTracksProviderUtils.updateTrack(track);
|
myTracksProviderUtils.updateTrack(track);
|
||||||
insertWaypoint(WaypointCreationRequest.DEFAULT_START_TRACK);
|
insertWaypoint(WaypointCreationRequest.DEFAULT_START_TRACK);
|
||||||
|
|
||||||
@@ -591,7 +591,7 @@ public class TrackRecordingService extends Service {
|
|||||||
Log.d(TAG, "Restarting track: " + track.getId());
|
Log.d(TAG, "Restarting track: " + track.getId());
|
||||||
|
|
||||||
TripStatistics tripStatistics = track.getTripStatistics();
|
TripStatistics tripStatistics = track.getTripStatistics();
|
||||||
trackTripStatisticsBuilder = new TripStatisticsBuilder(tripStatistics.getStartTime());
|
trackTripStatisticsUpdater = new TripStatisticsUpdater(tripStatistics.getStartTime());
|
||||||
|
|
||||||
long markerStartTime;
|
long markerStartTime;
|
||||||
Waypoint waypoint = myTracksProviderUtils.getLastStatisticsWaypoint(recordingTrackId);
|
Waypoint waypoint = myTracksProviderUtils.getLastStatisticsWaypoint(recordingTrackId);
|
||||||
@@ -600,7 +600,7 @@ public class TrackRecordingService extends Service {
|
|||||||
} else {
|
} else {
|
||||||
markerStartTime = tripStatistics.getStartTime();
|
markerStartTime = tripStatistics.getStartTime();
|
||||||
}
|
}
|
||||||
markerTripStatisticsBuilder = new TripStatisticsBuilder(markerStartTime);
|
markerTripStatisticsUpdater = new TripStatisticsUpdater(markerStartTime);
|
||||||
|
|
||||||
Cursor cursor = null;
|
Cursor cursor = null;
|
||||||
try {
|
try {
|
||||||
@@ -613,9 +613,9 @@ public class TrackRecordingService extends Service {
|
|||||||
if (cursor.moveToLast()) {
|
if (cursor.moveToLast()) {
|
||||||
do {
|
do {
|
||||||
Location location = myTracksProviderUtils.createTrackPoint(cursor);
|
Location location = myTracksProviderUtils.createTrackPoint(cursor);
|
||||||
trackTripStatisticsBuilder.addLocation(location, minRecordingDistance);
|
trackTripStatisticsUpdater.addLocation(location, minRecordingDistance);
|
||||||
if (location.getTime() > markerStartTime) {
|
if (location.getTime() > markerStartTime) {
|
||||||
markerTripStatisticsBuilder.addLocation(location, minRecordingDistance);
|
markerTripStatisticsUpdater.addLocation(location, minRecordingDistance);
|
||||||
}
|
}
|
||||||
} while (cursor.moveToPrevious());
|
} while (cursor.moveToPrevious());
|
||||||
}
|
}
|
||||||
@@ -884,8 +884,8 @@ public class TrackRecordingService extends Service {
|
|||||||
try {
|
try {
|
||||||
Uri uri = myTracksProviderUtils.insertTrackPoint(location, track.getId());
|
Uri uri = myTracksProviderUtils.insertTrackPoint(location, track.getId());
|
||||||
long trackPointId = Long.parseLong(uri.getLastPathSegment());
|
long trackPointId = Long.parseLong(uri.getLastPathSegment());
|
||||||
trackTripStatisticsBuilder.addLocation(location, minRecordingDistance);
|
trackTripStatisticsUpdater.addLocation(location, minRecordingDistance);
|
||||||
markerTripStatisticsBuilder.addLocation(location, minRecordingDistance);
|
markerTripStatisticsUpdater.addLocation(location, minRecordingDistance);
|
||||||
updateRecordingTrack(track, trackPointId, LocationUtils.isValidLocation(location));
|
updateRecordingTrack(track, trackPointId, LocationUtils.isValidLocation(location));
|
||||||
} catch (SQLiteException e) {
|
} catch (SQLiteException e) {
|
||||||
/*
|
/*
|
||||||
@@ -911,8 +911,8 @@ public class TrackRecordingService extends Service {
|
|||||||
track.setNumberOfPoints(track.getNumberOfPoints() + 1);
|
track.setNumberOfPoints(track.getNumberOfPoints() + 1);
|
||||||
}
|
}
|
||||||
|
|
||||||
trackTripStatisticsBuilder.updateTime(System.currentTimeMillis());
|
trackTripStatisticsUpdater.updateTime(System.currentTimeMillis());
|
||||||
track.setTripStatistics(trackTripStatisticsBuilder.getTripStatistics());
|
track.setTripStatistics(trackTripStatisticsUpdater.getTripStatistics());
|
||||||
myTracksProviderUtils.updateTrack(track);
|
myTracksProviderUtils.updateTrack(track);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
+4
-4
@@ -27,14 +27,14 @@ import android.location.Location;
|
|||||||
import android.util.Log;
|
import android.util.Log;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Builder for {@link TripStatistics}. For keeping track statistics as new
|
* Updater for {@link TripStatistics}. For updating track trip statistics as new
|
||||||
* locations are added. Note that some of the locations represent pause/resume
|
* locations are added. Note that some of the locations represent pause/resume
|
||||||
* separator.
|
* separator.
|
||||||
*
|
*
|
||||||
* @author Sandor Dornbush
|
* @author Sandor Dornbush
|
||||||
* @author Rodrigo Damazio
|
* @author Rodrigo Damazio
|
||||||
*/
|
*/
|
||||||
public class TripStatisticsBuilder {
|
public class TripStatisticsUpdater {
|
||||||
|
|
||||||
// The track's trip statistics
|
// The track's trip statistics
|
||||||
private final TripStatistics tripStatistics;
|
private final TripStatistics tripStatistics;
|
||||||
@@ -62,11 +62,11 @@ public class TripStatisticsBuilder {
|
|||||||
private final DoubleBuffer gradeBuffer = new DoubleBuffer(Constants.GRADE_SMOOTHING_FACTOR);
|
private final DoubleBuffer gradeBuffer = new DoubleBuffer(Constants.GRADE_SMOOTHING_FACTOR);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Creates a new trip statistics builder.
|
* Creates a new trip statistics updater.
|
||||||
*
|
*
|
||||||
* @param startTime the start time
|
* @param startTime the start time
|
||||||
*/
|
*/
|
||||||
public TripStatisticsBuilder(long startTime) {
|
public TripStatisticsUpdater(long startTime) {
|
||||||
tripStatistics = init(startTime);
|
tripStatistics = init(startTime);
|
||||||
currentSegment = init(startTime);
|
currentSegment = init(startTime);
|
||||||
}
|
}
|
||||||
@@ -41,7 +41,7 @@ public class ChartFragmentTest extends AndroidTestCase {
|
|||||||
protected void setUp() throws Exception {
|
protected void setUp() throws Exception {
|
||||||
chartFragment = new ChartFragment();
|
chartFragment = new ChartFragment();
|
||||||
chartFragment.setChartView(new ChartView(getContext()));
|
chartFragment.setChartView(new ChartView(getContext()));
|
||||||
chartFragment.setTripStatisticsBuilder(TrackStubUtils.INITIAL_TIME);
|
chartFragment.setTripStatisticsUpdater(TrackStubUtils.INITIAL_TIME);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
+45
-45
@@ -10,28 +10,28 @@ import android.location.Location;
|
|||||||
import junit.framework.TestCase;
|
import junit.framework.TestCase;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Tests {@link TripStatisticsBuilder}.
|
* Tests {@link TripStatisticsUpdater}.
|
||||||
*
|
*
|
||||||
* @author Sandor Dornbush
|
* @author Sandor Dornbush
|
||||||
*/
|
*/
|
||||||
public class TripStatisticsBuilderTest extends TestCase {
|
public class TripStatisticsUpdaterTest extends TestCase {
|
||||||
|
|
||||||
private static final long ONE_SECOND = 1000;
|
private static final long ONE_SECOND = 1000;
|
||||||
private static final long TEN_SECONDS = 10 * ONE_SECOND;
|
private static final long TEN_SECONDS = 10 * ONE_SECOND;
|
||||||
|
|
||||||
private TripStatisticsBuilder tripStatisticsBuilder = null;
|
private TripStatisticsUpdater tripStatisticsUpdater = null;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected void setUp() throws Exception {
|
protected void setUp() throws Exception {
|
||||||
tripStatisticsBuilder = new TripStatisticsBuilder(System.currentTimeMillis());
|
tripStatisticsUpdater = new TripStatisticsUpdater(System.currentTimeMillis());
|
||||||
}
|
}
|
||||||
|
|
||||||
public void testAddLocationSimple() throws Exception {
|
public void testAddLocationSimple() throws Exception {
|
||||||
long startTime = 1000;
|
long startTime = 1000;
|
||||||
tripStatisticsBuilder = new TripStatisticsBuilder(startTime);
|
tripStatisticsUpdater = new TripStatisticsUpdater(startTime);
|
||||||
TripStatistics tripStatistics = tripStatisticsBuilder.getTripStatistics();
|
TripStatistics tripStatistics = tripStatisticsUpdater.getTripStatistics();
|
||||||
|
|
||||||
assertEquals(0.0, tripStatisticsBuilder.getSmoothedElevation());
|
assertEquals(0.0, tripStatisticsUpdater.getSmoothedElevation());
|
||||||
assertEquals(Double.POSITIVE_INFINITY, tripStatistics.getMinElevation());
|
assertEquals(Double.POSITIVE_INFINITY, tripStatistics.getMinElevation());
|
||||||
assertEquals(Double.NEGATIVE_INFINITY, tripStatistics.getMaxElevation());
|
assertEquals(Double.NEGATIVE_INFINITY, tripStatistics.getMaxElevation());
|
||||||
assertEquals(0.0, tripStatistics.getMaxSpeed());
|
assertEquals(0.0, tripStatistics.getMaxSpeed());
|
||||||
@@ -57,12 +57,12 @@ public class TripStatisticsBuilderTest extends TestCase {
|
|||||||
|
|
||||||
// Each time slice is 10 seconds.
|
// Each time slice is 10 seconds.
|
||||||
location.setTime(startTime + i * TEN_SECONDS);
|
location.setTime(startTime + i * TEN_SECONDS);
|
||||||
tripStatisticsBuilder.addLocation(location, PreferencesUtils.MIN_RECORDING_DISTANCE_DEFAULT);
|
tripStatisticsUpdater.addLocation(location, PreferencesUtils.MIN_RECORDING_DISTANCE_DEFAULT);
|
||||||
|
|
||||||
tripStatistics = tripStatisticsBuilder.getTripStatistics();
|
tripStatistics = tripStatisticsUpdater.getTripStatistics();
|
||||||
assertEquals(i * TEN_SECONDS, tripStatistics.getTotalTime());
|
assertEquals(i * TEN_SECONDS, tripStatistics.getTotalTime());
|
||||||
assertEquals(i * TEN_SECONDS, tripStatistics.getMovingTime());
|
assertEquals(i * TEN_SECONDS, tripStatistics.getMovingTime());
|
||||||
assertEquals(i, tripStatisticsBuilder.getSmoothedElevation(),
|
assertEquals(i, tripStatisticsUpdater.getSmoothedElevation(),
|
||||||
Constants.ELEVATION_SMOOTHING_FACTOR / 2);
|
Constants.ELEVATION_SMOOTHING_FACTOR / 2);
|
||||||
assertEquals(0.0, tripStatistics.getMinElevation());
|
assertEquals(0.0, tripStatistics.getMinElevation());
|
||||||
assertEquals(i, tripStatistics.getMaxElevation(), Constants.ELEVATION_SMOOTHING_FACTOR / 2);
|
assertEquals(i, tripStatistics.getMaxElevation(), Constants.ELEVATION_SMOOTHING_FACTOR / 2);
|
||||||
@@ -81,17 +81,17 @@ public class TripStatisticsBuilderTest extends TestCase {
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Tests {@link TripStatisticsBuilder#updateElevation(double)} with constant
|
* Tests {@link TripStatisticsUpdater#updateElevation(double)} with constant
|
||||||
* elevations.
|
* elevations.
|
||||||
*/
|
*/
|
||||||
public void testElevationSimple() throws Exception {
|
public void testElevationSimple() throws Exception {
|
||||||
for (double elevation = 0; elevation < 1000; elevation += 10) {
|
for (double elevation = 0; elevation < 1000; elevation += 10) {
|
||||||
tripStatisticsBuilder = new TripStatisticsBuilder(System.currentTimeMillis());
|
tripStatisticsUpdater = new TripStatisticsUpdater(System.currentTimeMillis());
|
||||||
for (int i = 0; i < 100; i++) {
|
for (int i = 0; i < 100; i++) {
|
||||||
assertEquals(0.0, tripStatisticsBuilder.updateElevation(elevation));
|
assertEquals(0.0, tripStatisticsUpdater.updateElevation(elevation));
|
||||||
assertEquals(elevation, tripStatisticsBuilder.getSmoothedElevation());
|
assertEquals(elevation, tripStatisticsUpdater.getSmoothedElevation());
|
||||||
|
|
||||||
TripStatistics tripStatistics = tripStatisticsBuilder.getTripStatistics();
|
TripStatistics tripStatistics = tripStatisticsUpdater.getTripStatistics();
|
||||||
assertEquals(elevation, tripStatistics.getMinElevation());
|
assertEquals(elevation, tripStatistics.getMinElevation());
|
||||||
assertEquals(elevation, tripStatistics.getMaxElevation());
|
assertEquals(elevation, tripStatistics.getMaxElevation());
|
||||||
assertEquals(0.0, tripStatistics.getTotalElevationGain());
|
assertEquals(0.0, tripStatistics.getTotalElevationGain());
|
||||||
@@ -100,7 +100,7 @@ public class TripStatisticsBuilderTest extends TestCase {
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Tests {@link TripStatisticsBuilder#updateGrade(double, double)} with
|
* Tests {@link TripStatisticsUpdater#updateGrade(double, double)} with
|
||||||
* elevation gain.
|
* elevation gain.
|
||||||
*/
|
*/
|
||||||
public void testElevationGain() throws Exception {
|
public void testElevationGain() throws Exception {
|
||||||
@@ -113,11 +113,11 @@ public class TripStatisticsBuilderTest extends TestCase {
|
|||||||
} else {
|
} else {
|
||||||
expectedGain = 1.0;
|
expectedGain = 1.0;
|
||||||
}
|
}
|
||||||
assertEquals(expectedGain, tripStatisticsBuilder.updateElevation(i));
|
assertEquals(expectedGain, tripStatisticsUpdater.updateElevation(i));
|
||||||
assertEquals(i, tripStatisticsBuilder.getSmoothedElevation(),
|
assertEquals(i, tripStatisticsUpdater.getSmoothedElevation(),
|
||||||
Constants.ELEVATION_SMOOTHING_FACTOR / 2);
|
Constants.ELEVATION_SMOOTHING_FACTOR / 2);
|
||||||
|
|
||||||
TripStatistics data = tripStatisticsBuilder.getTripStatistics();
|
TripStatistics data = tripStatisticsUpdater.getTripStatistics();
|
||||||
assertEquals(0.0, data.getMinElevation());
|
assertEquals(0.0, data.getMinElevation());
|
||||||
assertEquals(i, data.getMaxElevation(), Constants.ELEVATION_SMOOTHING_FACTOR / 2);
|
assertEquals(i, data.getMaxElevation(), Constants.ELEVATION_SMOOTHING_FACTOR / 2);
|
||||||
assertEquals(i, data.getTotalElevationGain(), Constants.ELEVATION_SMOOTHING_FACTOR);
|
assertEquals(i, data.getTotalElevationGain(), Constants.ELEVATION_SMOOTHING_FACTOR);
|
||||||
@@ -125,7 +125,7 @@ public class TripStatisticsBuilderTest extends TestCase {
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Tests {@link TripStatisticsBuilder#updateGrade(double, double)} with grade
|
* Tests {@link TripStatisticsUpdater#updateGrade(double, double)} with grade
|
||||||
* of 1 and -1.
|
* of 1 and -1.
|
||||||
*/
|
*/
|
||||||
public void testGradeSimple() throws Exception {
|
public void testGradeSimple() throws Exception {
|
||||||
@@ -134,11 +134,11 @@ public class TripStatisticsBuilderTest extends TestCase {
|
|||||||
* The value of the elevation does not matter. This is just to fill the
|
* The value of the elevation does not matter. This is just to fill the
|
||||||
* elevation buffer.
|
* elevation buffer.
|
||||||
*/
|
*/
|
||||||
tripStatisticsBuilder.updateElevation(i);
|
tripStatisticsUpdater.updateElevation(i);
|
||||||
tripStatisticsBuilder.updateGrade(100, 100);
|
tripStatisticsUpdater.updateGrade(100, 100);
|
||||||
if (i >= Constants.GRADE_SMOOTHING_FACTOR && i >= Constants.ELEVATION_SMOOTHING_FACTOR) {
|
if (i >= Constants.GRADE_SMOOTHING_FACTOR && i >= Constants.ELEVATION_SMOOTHING_FACTOR) {
|
||||||
assertEquals(1.0, tripStatisticsBuilder.getTripStatistics().getMaxGrade());
|
assertEquals(1.0, tripStatisticsUpdater.getTripStatistics().getMaxGrade());
|
||||||
assertEquals(1.0, tripStatisticsBuilder.getTripStatistics().getMinGrade());
|
assertEquals(1.0, tripStatisticsUpdater.getTripStatistics().getMinGrade());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
for (double i = 0; i < 1000; i++) {
|
for (double i = 0; i < 1000; i++) {
|
||||||
@@ -146,17 +146,17 @@ public class TripStatisticsBuilderTest extends TestCase {
|
|||||||
* The value of the elevation does not matter. This is just to fill the
|
* The value of the elevation does not matter. This is just to fill the
|
||||||
* elevation buffer.
|
* elevation buffer.
|
||||||
*/
|
*/
|
||||||
tripStatisticsBuilder.updateElevation(i);
|
tripStatisticsUpdater.updateElevation(i);
|
||||||
tripStatisticsBuilder.updateGrade(100, -100);
|
tripStatisticsUpdater.updateGrade(100, -100);
|
||||||
if (i >= Constants.GRADE_SMOOTHING_FACTOR && i >= Constants.ELEVATION_SMOOTHING_FACTOR) {
|
if (i >= Constants.GRADE_SMOOTHING_FACTOR && i >= Constants.ELEVATION_SMOOTHING_FACTOR) {
|
||||||
assertEquals(1.0, tripStatisticsBuilder.getTripStatistics().getMaxGrade());
|
assertEquals(1.0, tripStatisticsUpdater.getTripStatistics().getMaxGrade());
|
||||||
assertEquals(-1.0, tripStatisticsBuilder.getTripStatistics().getMinGrade());
|
assertEquals(-1.0, tripStatisticsUpdater.getTripStatistics().getMinGrade());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Tests {@link TripStatisticsBuilder#updateGrade(double, double)} with
|
* Tests {@link TripStatisticsUpdater#updateGrade(double, double)} with
|
||||||
* distance of 1. The grade should get ignored.
|
* distance of 1. The grade should get ignored.
|
||||||
*/
|
*/
|
||||||
public void testGradeIgnoreShort() throws Exception {
|
public void testGradeIgnoreShort() throws Exception {
|
||||||
@@ -165,56 +165,56 @@ public class TripStatisticsBuilderTest extends TestCase {
|
|||||||
* The value of the elevation does not matter. This is just to fill the
|
* The value of the elevation does not matter. This is just to fill the
|
||||||
* elevation buffer.
|
* elevation buffer.
|
||||||
*/
|
*/
|
||||||
tripStatisticsBuilder.updateElevation(i);
|
tripStatisticsUpdater.updateElevation(i);
|
||||||
tripStatisticsBuilder.updateGrade(1, 100);
|
tripStatisticsUpdater.updateGrade(1, 100);
|
||||||
assertEquals(
|
assertEquals(
|
||||||
Double.NEGATIVE_INFINITY, tripStatisticsBuilder.getTripStatistics().getMaxGrade());
|
Double.NEGATIVE_INFINITY, tripStatisticsUpdater.getTripStatistics().getMaxGrade());
|
||||||
assertEquals(
|
assertEquals(
|
||||||
Double.POSITIVE_INFINITY, tripStatisticsBuilder.getTripStatistics().getMinGrade());
|
Double.POSITIVE_INFINITY, tripStatisticsUpdater.getTripStatistics().getMinGrade());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Tests {@link TripStatisticsBuilder#updateSpeed(long, double, long, double)}
|
* Tests {@link TripStatisticsUpdater#updateSpeed(long, double, long, double)}
|
||||||
* with speed of zero.
|
* with speed of zero.
|
||||||
*/
|
*/
|
||||||
public void testUpdateSpeedIncludeZero() {
|
public void testUpdateSpeedIncludeZero() {
|
||||||
for (int i = 0; i < 1000; i++) {
|
for (int i = 0; i < 1000; i++) {
|
||||||
tripStatisticsBuilder.updateSpeed(i + ONE_SECOND, 0.0, i, 4.0);
|
tripStatisticsUpdater.updateSpeed(i + ONE_SECOND, 0.0, i, 4.0);
|
||||||
assertEquals(0.0, tripStatisticsBuilder.getTripStatistics().getMaxSpeed());
|
assertEquals(0.0, tripStatisticsUpdater.getTripStatistics().getMaxSpeed());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Tests {@link TripStatisticsBuilder#updateSpeed(long, double, long, double)}
|
* Tests {@link TripStatisticsUpdater#updateSpeed(long, double, long, double)}
|
||||||
* with the error code 128. The speed should get ignored.
|
* with the error code 128. The speed should get ignored.
|
||||||
*/
|
*/
|
||||||
public void testUpdateSpeedIngoreErrorCode() {
|
public void testUpdateSpeedIngoreErrorCode() {
|
||||||
long time = 12344000;
|
long time = 12344000;
|
||||||
tripStatisticsBuilder.updateSpeed(time + ONE_SECOND, 128.0, time, 0.0);
|
tripStatisticsUpdater.updateSpeed(time + ONE_SECOND, 128.0, time, 0.0);
|
||||||
assertEquals(0.0, tripStatisticsBuilder.getTripStatistics().getMaxSpeed());
|
assertEquals(0.0, tripStatisticsUpdater.getTripStatistics().getMaxSpeed());
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Tests {@link TripStatisticsBuilder#updateSpeed(long, double, long, double)}
|
* Tests {@link TripStatisticsUpdater#updateSpeed(long, double, long, double)}
|
||||||
* with a large speed change. The speed should get ignored.
|
* with a large speed change. The speed should get ignored.
|
||||||
*/
|
*/
|
||||||
public void testUpdateSpeedIngoreLargeAcceleration() {
|
public void testUpdateSpeedIngoreLargeAcceleration() {
|
||||||
long time = 12344000;
|
long time = 12344000;
|
||||||
tripStatisticsBuilder.updateSpeed(time + ONE_SECOND, 100.0, time, 1.0);
|
tripStatisticsUpdater.updateSpeed(time + ONE_SECOND, 100.0, time, 1.0);
|
||||||
assertEquals(0.0, tripStatisticsBuilder.getTripStatistics().getMaxSpeed());
|
assertEquals(0.0, tripStatisticsUpdater.getTripStatistics().getMaxSpeed());
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Tests {@link TripStatisticsBuilder#updateSpeed(long, double, long, double)}
|
* Tests {@link TripStatisticsUpdater#updateSpeed(long, double, long, double)}
|
||||||
* with constant speed.
|
* with constant speed.
|
||||||
*/
|
*/
|
||||||
public void testUpdateSpeed() {
|
public void testUpdateSpeed() {
|
||||||
double speed = 4.0;
|
double speed = 4.0;
|
||||||
for (int i = 0; i < 1000; i++) {
|
for (int i = 0; i < 1000; i++) {
|
||||||
tripStatisticsBuilder.updateSpeed(i + ONE_SECOND, speed, i, speed);
|
tripStatisticsUpdater.updateSpeed(i + ONE_SECOND, speed, i, speed);
|
||||||
if (i >= Constants.SPEED_SMOOTHING_FACTOR) {
|
if (i >= Constants.SPEED_SMOOTHING_FACTOR) {
|
||||||
assertEquals(speed, tripStatisticsBuilder.getTripStatistics().getMaxSpeed());
|
assertEquals(speed, tripStatisticsUpdater.getTripStatistics().getMaxSpeed());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
Reference in New Issue
Block a user