feat: Several changes to libosmscout - #1760
Conversation
Framstag
commented
Aug 13, 2026
- KI infused change in context of Java-based client development in context of...
- basemap support
- Dynamic map loading/removing in client
- routing implementation, improvement
- Error handling
- KI infused change in context of Java-based client development in context of... - basemap support - Dynamic map loading/removing in client - routing implementation, improvement - Error handling
|
Hi @Karry, please check the changes if they are OK for you |
Karry
left a comment
There was a problem hiding this comment.
LGTM, just few nitpicks :-)
| Async<bool>([this](const Breaker& /*breaker*/) { | ||
| WriteLock locker(latch); | ||
|
|
||
| if (basemapDatabase) { |
There was a problem hiding this comment.
lines below are duplicate, I would love to have them in separate private method...
|
|
||
| if (lastPosition && | ||
| (gpsUpdateMsg->timestamp-lastPosition.time) >= seconds(1)){ | ||
| // --- Prefer GPS-reported speed over position-difference computation --- |
There was a problem hiding this comment.
well, with my experience, speed reported by the device GPS module is nonsense usually. This is the reason why it is computed as average movement in few seconds... I will test this change. We may introduce some configuration option what speed value to prefer...
There was a problem hiding this comment.
I'll merge this part but note, that I currently also have effect with GPS signal handling, so I'm also sure that like GPS signal handling will change...
| }), | ||
| databaseLookupDirs.end()); | ||
| } | ||
| } |
There was a problem hiding this comment.
should not be LookupDatabases(); called here?
- Move duplicated basemap close/open logic from OnDatabaseListChanged and ReloadBasemap into private DBThread::LoadBasemap() method - MapManager::RemoveLookupDirectory now triggers LookupDatabases() so maps from removed directory disappear from database list and databaseListChanged signal is emitted - Add test verifying RemoveLookupDirectory rescans and emits signal
|
Feedback form AI: Done. All three comments handled. Summary Comment 1 — DBThread dedup (libosmscout-client/src/osmscoutclient/DBThread.cpp, DBThread.h)
Comment 2 — SpeedAgent — ignored per instruction. Comment 3 — MapManager (MapManager.cpp, MapManager.h)
Test (Tests/src/MapDownloadServiceTest.cpp)
Verification
Changes uncommitted on branch updates-to-general-libosmscout-code. Want commit? |
|

