summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorVyacheslav Koscheev <vok1980@gmail.com>2016-07-19 18:01:42 +0600
committerVyacheslav Koscheev <vok1980@gmail.com>2016-09-30 09:07:49 +0000
commit26b2f917861e63091cf97a5acba04d7b813c2fed (patch)
tree6fee9e6d8a300bf410e3e4f9515e818c205e0e4d
parent8cb45ab8aabaf0246c49e3314e4a84456ff7b061 (diff)
downloadqtlocation-26b2f917861e63091cf97a5acba04d7b813c2fed.tar.gz
Fix error status for QGeoPositionInfoSourceAndroid
Task-number: QTBUG-54844 Change-Id: I8abdbb47c883099e7749c57e5010be1aa999e373 Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
-rw-r--r--src/plugins/position/android/src/qgeopositioninfosource_android.cpp33
-rw-r--r--src/plugins/position/android/src/qgeopositioninfosource_android_p.h1
2 files changed, 19 insertions, 15 deletions
diff --git a/src/plugins/position/android/src/qgeopositioninfosource_android.cpp b/src/plugins/position/android/src/qgeopositioninfosource_android.cpp
index e3ef94cd..1035a7db 100644
--- a/src/plugins/position/android/src/qgeopositioninfosource_android.cpp
+++ b/src/plugins/position/android/src/qgeopositioninfosource_android.cpp
@@ -113,26 +113,32 @@ QGeoPositionInfoSource::Error QGeoPositionInfoSourceAndroid::error() const
return m_error;
}
+void QGeoPositionInfoSourceAndroid::setError(Error error)
+{
+ // qDebug() << "setError: " << error;
+ if (error != QGeoPositionInfoSource::NoError)
+ {
+ m_error = error;
+ emit QGeoPositionInfoSource::error(m_error);
+ }
+}
+
void QGeoPositionInfoSourceAndroid::startUpdates()
{
if (updatesRunning)
return;
if (preferredPositioningMethods() == 0) {
- m_error = UnknownSourceError;
- emit QGeoPositionInfoSource::error(m_error);
-
+ setError(UnknownSourceError);
return;
}
updatesRunning = true;
QGeoPositionInfoSource::Error error = AndroidPositioning::startUpdates(androidClassKeyForUpdate);
- //if (error != QGeoPositionInfoSource::NoError) { //TODO
- if (error != 3) {
+ if (error != QGeoPositionInfoSource::NoError)
updatesRunning = false;
- m_error = error;
- emit QGeoPositionInfoSource::error(m_error);
- }
+
+ setError(error);
}
void QGeoPositionInfoSourceAndroid::stopUpdates()
@@ -166,12 +172,10 @@ void QGeoPositionInfoSourceAndroid::requestUpdate(int timeout)
return;
QGeoPositionInfoSource::Error error = AndroidPositioning::requestUpdate(androidClassKeyForSingleRequest);
- //if (error != QGeoPositionInfoSource::NoError) { //TODO
- if (error != 3) {
+ if (error != QGeoPositionInfoSource::NoError)
m_requestTimer.stop();
- m_error = error;
- emit QGeoPositionInfoSource::error(m_error);
- }
+
+ setError(error);
}
void QGeoPositionInfoSourceAndroid::processPositionUpdate(const QGeoPositionInfo &pInfo)
@@ -195,8 +199,7 @@ void QGeoPositionInfoSourceAndroid::processSinglePositionUpdate(const QGeoPositi
void QGeoPositionInfoSourceAndroid::locationProviderDisabled()
{
- m_error = QGeoPositionInfoSource::ClosedError;
- emit QGeoPositionInfoSource::error(m_error);
+ setError(QGeoPositionInfoSource::ClosedError);
}
void QGeoPositionInfoSourceAndroid::requestTimeout()
diff --git a/src/plugins/position/android/src/qgeopositioninfosource_android_p.h b/src/plugins/position/android/src/qgeopositioninfosource_android_p.h
index cdff1e13..f56c7054 100644
--- a/src/plugins/position/android/src/qgeopositioninfosource_android_p.h
+++ b/src/plugins/position/android/src/qgeopositioninfosource_android_p.h
@@ -78,6 +78,7 @@ private Q_SLOTS:
private:
void reconfigureRunningSystem();
+ void setError(Error error);
bool updatesRunning;
int androidClassKeyForUpdate;