Many hyperlinks are disabled.
Use anonymous login
to enable hyperlinks.
50 most recent check-ins
2025-09-07
| ||
13:26 | Tests: Use the smallest available map for the full stack test, to reduce test time and server/bandwidth use Leaf check-in: c884a342db user: thomas tags: trunk | |
13:24 | Fix tests for MeteredSeekableHTTPFile check-in: eb5042b1fe user: thomas tags: trunk | |
11:12 | Rip out all SQL-related changes from [17f46436b6498c7a]. Moving the OsmAnd data directory to a writable location (Android/media/net.osmand) is a better solution, and also allows direct, in-line updates without needing to manually move the files to the target directory. check-in: 2ea642b8b9 user: thomas tags: trunk | |
2025-08-12
| ||
09:56 | Move logic to (de-)select all shown for download from DownloadSelectionPage into the MapFilterModel. Optimized performance by not emitting the dataChanged signal for each individual table cell. Only emit dataChanged with a range of affected cells once that is completed. This cuts down execution time in GUI code and removes a hacky workaround. check-in: c6df80399f user: thomas tags: release, trunk, v0.6.3 | |
2025-08-10
| ||
21:23 | Release v0.6.2 with new performance optimizations. check-in: 90ae885560 user: thomas tags: release, trunk, v0.6.2 | |
21:22 | DownloadWorker: Also retry on zipfile.BadZipFile errors. Closed-Leaf check-in: 3f4ac98e95 user: thomas tags: optimization_attempts | |
21:17 | MeteredSeekableHTTPFile: Throttle progress reports to 10/s. check-in: 2c62b75535 user: thomas tags: optimization_attempts | |
21:07 | Minor optimizations. Cache common multiplication result and re-order switch-case cases so that the most-common hit one is hit first. check-in: 02d0fa9be1 user: thomas tags: optimization_attempts | |
20:40 | OnlineMapListModel: Remove a workaround in setData that no longer applies. The total file size is set once the source file is opened, so the workaround for rounded data is not needed. check-in: 6324deb5b6 user: thomas tags: optimization_attempts | |
20:22 | OnlineMapListModel: Read map timestamps, if the file is found in the download directory. check-in: ef3f09347d user: thomas tags: optimization_attempts | |
19:56 | DownloadWorker: No longer store the DownloadManager as an attribute. Grab the used paths in __init__ and keep them as attributes. check-in: f9db9698ab user: thomas tags: optimization_attempts | |
19:42 | OnlineMapListModel: Use static ItemDataRole lists in setData() to not re-create them on each call. check-in: 2f276d4cb2 user: thomas tags: optimization_attempts | |
19:01 | OnlineMapListModel: Optimize flags(). Pre-compute all flag combinations. Add ItemNeverHasChildren. Remove ItemIsEnabled and ItemIsSelectable. The latter stops the UI from selecting cells during scrolling, causing a much smoother experience. check-in: aa18cc1d2f user: thomas tags: optimization_attempts | |
16:34 | Optimization: Directly set download progress on the source model, instead of going throught the proxy model. check-in: 0e684a3fb6 user: thomas tags: optimization_attempts | |
16:15 | Remove spammy log lines and log on which thread the DownloadRunner runs. check-in: 0eacaea91d user: thomas tags: optimization_attempts | |
15:04 | Fix wheel: Enable compiling resources during the package build. Release 0.6.1 check-in: 49fac87756 user: thomas tags: optimization_attempts | |
14:58 | Improve compatibility with Android 13+, which doesn't allow access to Android/data/net.osmand/files. Store timestamps in an internal database to log downloads, to have the dates available to show available updates. check-in: 17f46436b6 user: thomas tags: release, trunk, v0.6.0 | |
14:55 | Bump version to 0.6.0 Closed-Leaf check-in: da5e7c6f9b user: thomas tags: android_13_compat | |
14:50 | Fix type errors, mismatches in file names between the map list parser and the download manager, and a bug in the resource path resolution. check-in: 9fb8af6190 user: thomas tags: android_13_compat | |
14:21 | Store map timestamps of downloaded maps into a local database. check-in: 10f81478ec user: thomas tags: android_13_compat | |
11:48 | Add support for opening SQLite3 databases with schema population. check-in: 01e2ab4b1d user: thomas tags: android_13_compat | |
11:44 | Moved osmdownload/ui/common.py -> osmdownload/common.py check-in: 887ddcbe23 user: thomas tags: android_13_compat | |
11:42 | Add PyHamcrest 2.0 to the main dependencies. check-in: 1cf36270d2 user: thomas tags: android_13_compat | |
2025-08-09
| ||
21:00 | Add a database schema to the compiled resources archive. The database stores timestamps of previously downloaded maps. When a download finishes, the server timestamp will be logged, so that the set of downloaded maps and their last update timestamp will be known, even if reading the directory with them is not possible. check-in: b49721aabc user: thomas tags: android_13_compat | |
20:55 | Update the resource compiler script, add the resources type hinting stub, and include compiled resources in the built wheel. check-in: 36b8cf21f8 user: thomas tags: android_13_compat | |
15:23 | Remove all references to the OSMAnd data directory. That is no longer accessible on Android 13+, unless the device is rooted. check-in: 28c5901d10 user: thomas tags: android_13_compat | |
15:01 | Remove the androidhelper imports that weren't working since the app no longer runs on QDroid. check-in: 37f156aebc user: thomas tags: trunk | |
12:19 | Release v0.5.2, fixing the BadZipFile errors. check-in: 9e40b92b37 user: thomas tags: release, trunk, v0.5.2 | |
12:15 | MeteredSeekableHTTPFile: Fix seeking from the end (whence=2). Optimize small positive seeks by simply consuming the data, instead of re-opening the file check-in: cd03dc5507 user: thomas tags: trunk | |
11:45 | Fix warnings about Qt parent/child relationships across threads. Do not pass parent to MeteredSeekableHTTPFile __init__(). check-in: 49078983b5 user: thomas tags: trunk | |
11:26 | MeteredSeekableHTTPFile: Fix warnings and failing tests. check-in: 6d909233c2 user: thomas tags: trunk | |
11:19 | Update pyproject.toml format, fixing deprecation warnings. Update dependencies: Use setuptools 77+, which supports the new format. Require pytest-qt >= 4.5, which fixes warnings when used with PySide6. Depend on PySide 6.8, which is used by PyDroid3 check-in: 5bc51ace9c user: thomas tags: trunk | |
2025-05-06
| ||
09:30 | DownloadProgressPage: Hide the server date column. Only show the map name and the progress during downloads. check-in: ddd1ee9e3b user: thomas tags: trunk | |
09:25 | Release v0.5.1 check-in: 393e4d4aef user: thomas tags: release, trunk, v0.5.1 | |
09:23 | SettingsPage: Move file system "Browse…" buttons up next to the label. Widen the line edits showing those paths to use the full page width check-in: e258253e53 user: thomas tags: trunk | |
09:19 | Reclaim additional screen space by setting all outer layout margins to zero pixels. check-in: 12c3b6e249 user: thomas tags: trunk | |
09:16 | Disable the "Start Download" button, if no maps are selected to download check-in: c0acc8c86a user: thomas tags: trunk | |
09:13 | Use a shared signal container for slightly improved performance check-in: 1360db73e3 user: thomas tags: trunk | |
2024-10-18
| ||
12:50 | All DownloadWorker instances share a single WorkerSignals instance in an attempt to optimize for performance. Also refactor task cancellation Closed-Leaf check-in: 3bd728e0b4 user: thomas tags: shared_signal_container | |
2023-11-18
| ||
13:06 | Port to PySide6. Release as version 0.5.0. check-in: 29fa38a55c user: thomas tags: release, trunk, v0.5.0 | |
13:04 | Updated README. Closed-Leaf check-in: f9e62b8fd2 user: thomas tags: port_pyside6 | |
13:01 | Avoid a segmentation fault in test_map_filter_model.py pytest fixture. The filter model has to be detached in teardown code. Otherwise the garbage collector deletes the source while the filter model still holds a reference, causing a crash. Also simplify other pytest fixtures. check-in: 1c4ac8eaae user: thomas tags: port_pyside6 | |
12:54 | Merge with trunk. check-in: f938a4945b user: thomas tags: port_pyside6 | |
2023-09-02
| ||
19:42 | Release v0.4.0 check-in: e7f1b2ea52 user: thomas tags: release, trunk, v0.4.0 | |
19:41 | Redesigned Ui loading to be in line with my other, more recent projects. Packaging is now performed via a script, obsoleting setup.py. For packaging, the UI files are compiled to importable Python modules, which are then imported. Split the base classes and Ui classes. I.e. those are no longer combined via multiple inheritance. check-in: 7bf9ef3380 user: thomas tags: trunk | |
18:40 | Dependencies: Replace the deprecated appdirs with platformdirs. check-in: c42dab3399 user: thomas tags: trunk | |
18:38 | Update the MeteredSeekableHTTPFile to the newest, tested version. check-in: badb185a59 user: thomas tags: trunk | |
18:21 | Update copyright notices. check-in: 9d03b4ea80 user: thomas tags: trunk | |
18:02 | OnlineMapListModel: Completely replace if/elif construct in data() with lambdas in nested dicts. check-in: 130a4259df user: thomas tags: trunk | |
16:22 | OnlineMapListModel: Further simplify setData(). check-in: 99120a83c6 user: thomas tags: trunk | |