Updating statistics object usage in SAX importer

This commit is contained in:
Rodrigo Damazio
2010-08-12 19:43:27 -03:00
parent 61e908ccb5
commit 6d42803dd8
2 changed files with 17 additions and 17 deletions
@@ -1,12 +1,12 @@
/* /*
* Copyright 2008 Google Inc. * Copyright 2010 Google Inc.
* *
* Licensed under the Apache License, Version 2.0 (the "License"); you may not * 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 * use this file except in compliance with the License. You may obtain a copy of
* the License at * the License at
* *
* http://www.apache.org/licenses/LICENSE-2.0 * http://www.apache.org/licenses/LICENSE-2.0
* *
* Unless required by applicable law or agreed to in writing, software * Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS, WITHOUT * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
* WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
@@ -17,7 +17,7 @@ package com.google.android.apps.mytracks.io;
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.TripStatistics; import com.google.android.apps.mytracks.stats.TripStatisticsBuilder;
import com.google.android.apps.mytracks.util.MyTracksUtils; import com.google.android.apps.mytracks.util.MyTracksUtils;
import android.location.Location; import android.location.Location;
@@ -101,9 +101,9 @@ public class GpxImporter extends DefaultHandler {
private Track track; private Track track;
/** /**
* Statistics object for the current track * Statistics builder for the current track.
*/ */
private TripStatistics stats; private TripStatisticsBuilder statsBuilder;
/** /**
* Number of locations already processed * Number of locations already processed
@@ -314,7 +314,7 @@ public class GpxImporter extends DefaultHandler {
if (MyTracksUtils.isValidLocation(location)) { if (MyTracksUtils.isValidLocation(location)) {
stats.addLocation(location, location.getTime()); statsBuilder.addLocation(location, location.getTime());
// insert in db // insert in db
Uri trackPointIdUri = providerUtils.insertTrackPoint(location, track Uri trackPointIdUri = providerUtils.insertTrackPoint(location, track
@@ -349,15 +349,14 @@ public class GpxImporter extends DefaultHandler {
if (lastLocation != null) { if (lastLocation != null) {
// Calculate statistics for the imported track and update // Calculate statistics for the imported track and update
stats.pauseAt(lastLocation.getTime()); statsBuilder.pauseAt(lastLocation.getTime());
track.setStopTime(lastLocation.getTime());
track.setNumberOfPoints(numberOfLocations); track.setNumberOfPoints(numberOfLocations);
stats.fillStatisticsForTrack(track); track.setStatistics(statsBuilder.getStatistics());
providerUtils.updateTrack(track); providerUtils.updateTrack(track);
tracksWritten.add(track.getId()); tracksWritten.add(track.getId());
isCurrentTrackRollbackable = false; isCurrentTrackRollbackable = false;
lastLocation = null; lastLocation = null;
stats = null; statsBuilder = null;
} else { } else {
@@ -390,12 +389,12 @@ public class GpxImporter extends DefaultHandler {
throw new SAXException(msg); throw new SAXException(msg);
} }
} }
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 (stats == null) { if (statsBuilder == null) {
stats = new TripStatistics(time); statsBuilder = new TripStatisticsBuilder();
track.setStartTime(time); statsBuilder.resumeAt(time);
} }
// We don't have a speed and bearing in GPX, make something up from // We don't have a speed and bearing in GPX, make something up from
@@ -128,7 +128,8 @@ public class GpxImporterTest extends AndroidTestCase {
Track track = trackParam.getValue(); Track track = trackParam.getValue();
assertEquals(TRACK_NAME, track.getName()); assertEquals(TRACK_NAME, track.getName());
assertEquals(TRACK_DESC, track.getDescription()); assertEquals(TRACK_DESC, track.getDescription());
assertEquals(format.parse(TRACK_TIME_1).getTime(), track.getStartTime()); assertEquals(format.parse(TRACK_TIME_1).getTime(),
track.getStatistics().getStartTime());
assertNotSame(-1, track.getStartId()); assertNotSame(-1, track.getStartId());
assertNotSame(-1, track.getStopId()); assertNotSame(-1, track.getStopId());