mirror of
https://github.com/subsurface/subsurface.git
synced 2025-02-19 22:16:15 +00:00
mobile/GPS: fix two errors in the GPS handling
First, the time zone adjustment was wrong - this as written could only ever have worked in UTC or by pure chance. Second, the order of alerting the UI of the availability of a GPS fix was also incorrect creating a race between the UI and our data structures. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
This commit is contained in:
parent
4454cf0381
commit
702d09df9f
3 changed files with 5 additions and 4 deletions
|
@ -126,7 +126,7 @@ QString GpsLocation::currentPosition()
|
|||
if (!hasLocationsSource())
|
||||
return tr("Unknown GPS location (no GPS source)");
|
||||
if (m_trackers.count()) {
|
||||
QDateTime lastFixTime = timestampToDateTime(m_trackers.lastKey() + gettimezoneoffset());
|
||||
QDateTime lastFixTime = timestampToDateTime(m_trackers.lastKey() - gettimezoneoffset());
|
||||
QDateTime now = QDateTime::currentDateTime();
|
||||
int delta = lastFixTime.secsTo(now);
|
||||
qDebug() << "lastFixTime" << lastFixTime.toString() << "now" << now.toString() << "delta" << delta;
|
||||
|
@ -168,14 +168,13 @@ void GpsLocation::newPosition(QGeoPositionInfo pos)
|
|||
lastCoord.distanceTo(pos.coordinate()) > prefs.distance_threshold) {
|
||||
QString msg = QStringLiteral("received new position %1 after delta %2 threshold %3 (now %4 last %5)");
|
||||
status(qPrintable(msg.arg(pos.coordinate().toString()).arg(delta).arg(prefs.time_threshold).arg(pos.timestamp().toString()).arg(timestampToDateTime(lastTime).toString())));
|
||||
waitingForPosition = false;
|
||||
acquiredPosition();
|
||||
gpsTracker gt;
|
||||
gt.when = thisTime;
|
||||
gt.location = create_location(pos.coordinate().latitude(), pos.coordinate().longitude());
|
||||
addFixToStorage(gt);
|
||||
gpsTracker gtNew = m_trackers.last();
|
||||
qDebug() << "newest fix is now at" << timestampToDateTime(gtNew.when - gettimezoneoffset()).toString();
|
||||
waitingForPosition = false;
|
||||
acquiredPosition();
|
||||
}
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue