Status: In Progress
Priority: P1: Critical
Affects Version/s: 5.9
Fix Version/s: None
If the user turns off the Location, the PositionSource.sourceError property is updated to PositionSource.ClosedError . But if the user turns on the Location the PositionSource.sourceError is not updated and it remains PositionSource.ClosedError.
This effectively means there is currently no way for an application to know when valid positioning methods become available again.
For this reason, the position sources (C++ and QML ones) should signal when this happens.
This can be done at different points in time:
- When a sourceError from the platform is received by the source.
This is somehow plaform-independent, but can only detect changes from NoPositioningMethods to something else or vice-versa
- When the platform updates the supportedPositioningMethods.
This approach is more fine grained, being able to report changes between any positioning method, but requires platform integration.
Steps to fix:
- Add the signal to QGeoPositionInfoSource and QDeclarativePositionSource, and emit it in sourceErrorReceived.
- Add platform integration for Android
- Add platform integration for iOS
- Add platform integration for WinRT