[Android Apps and Games] xdarb:
Lets's start with a ChangeLog

# 1.18.6
* Tracking now works properly in all android versions up to 10

# 1.19.0
* Enables use of maps in MBTiles format (raster not vector). MBTiles maps can be produced by various mapping packages, and have the advantage that you can hold maps at various zoom levels in a single SQLite database up to the file size limit determined by the operating system, in this case Android.
* Bug fixes and stability enhancements

# 1.19.1
* Fixes the problem in 1.19.0 whereby the settings menu could not be called in certain circumstances.

# 1.19.2
* Allows gpx files to contain multiple routes, tracks or waypoints, but read only.
* Bug fixes and stability enhancements

# 1.19.3

* Tidy up default colour and intensity
* Enable online search using https://photon.komoot.de
* When starting tracking, ensure that the battery saver and battery optimisations are set off
* Change theme to allow for Dark Mode
* Show time correctly on Track Info status bar

# 1.19.4

* Fix occasional array error while drawing routes
* Reinstate black lines at the edge of a track that is selected
* Speed up caching of mbTiles maps
* Correctly increment the version number
* Fix bug when painting maps where the map is rotated
* Fix bug introduced into the search routine with mmi files
* When tracking, show distance & time info on the lock screen
* Display speed data correctly on the Track Data screen
* Check Tracks directory is writable before starting tracking, and Routes directory is writable before creating a new route, as something could have changed since the app started
* Program around bug in Huawei's implementation of DocumentsContract.createDocument to stop failure when creating a track file
* Restart the tracking service correctly after Android performs a memory garbage collection

For Android 10, you need to give MMTracker 'Allow all the time' permission for location, otherwise tracking will not always happen when the screen is off.

I will enforce this test for tracking as of the next version.

# 1.19.5

* 1.19.5 Increase tile cache size for mbtiles
* When starting tracking for Android 10+, ensure that MMTracker has 'Allow all the time' access for location
* Fix return button from Route Properties
* Increase the width of tracks and routes when zooming in on the map, also the size of route marks
* Allow 2 more zoom levels
* Allow UTM (Universal Transverse Mercator) and MGRS (Military Grid Reference System) grid options
* Show existing defaults on colour, opacity and width picks
* Restart the tracking service correctly after Android performs a memory garbage collection (take 2)
* Fix problem with context menus not working if track loading wasn't requested

# 1.19.6

* 1.19.6 Don't allow compass settings if the device doesn't have a compass
* Always output <trkseg> element in the gpx file for a track
* Tidy up notification handling in the tracking service

# 1.20.0

* 1.20.0 Android 11 release (backwards compatible to Android 4.4)
* Allow Screen to stay on if power is connected (new default)
* Power icon at bottom left of screen
* If routepoints overlap, then only draw the first one. Helps with drawing routes on small scale maps
* Show both km and miles on the tracking notification
* New setting in 'Display Options' to allow the scale to always be metric, regardless of what the Distance Units are
* Allow new button (turned on using User Interface settings), to allow 'Refresh Routes/Tracks/Waypoints'
* Allow routes, tracks and waypoints to be shared
* Other bug fixes and performance enhancements

# 1.21.0

* Cope with qct files which don't have a boundary defined
* Allow Waypoints to be loaded from subfolders in the Waypoints directory. They will cease to be shown if you 'Refresh Tracks and Routes', or the app is restarted
* Allow Routes to be loaded from subfolders in the Routes directory. They will cease to be shown if you 'Refresh Tracks and Routes', or the app is restarted
* Now option 'View Route Data' to show basic information about the route with an option to show an elevation v distance graph
* Allow Tracks to be loaded from subfolders in the Tracks directory. They will cease to be shown if you 'Refresh Tracks and Routes', or the app is restarted
* For a selected Track, new option of 'Show Trackpoints' which will show the actual trackpoints. These can be selected individually and deleted. Useful for removing rogue points in a track
* Elevation data will be automatically downloaded if you have a WiFi connection, and placed in a new Elevations directory within your Maps directory
* If elevation data is available, the elevation will be shown in the position window as well as in Routes
* For mbtiles maps, move seamlessly between maps
* Other bug fixes and performance enhancements

# 1.22.0

* Allow multiple zoom levels in a single mbtiles file
* Allow route files to also contain waypoints
* Show waypoint name and description in tooltip if the waypoint is selected
* Allow filtering of tracks/routes/waypoints by name in relevant manager
* Show a busy spinner whilst tracks, routes and waypoints are being loaded or updated
* Allow editing of gpx files containing many waypoints
* Allow waypoint symbols of circle, diamond, square, star, triangle and exclamation
* Increase the size of a waypoint as the map is zoomed
* New actions menu option, 'Show location of photo'. Select a photo and if it has gps coordinates, go to that location
* Other bug fixes and performance enhancements

# 1.22.3

* Make waypoints semi transparent and not too small
* Correctly deal with orientation change whilst navigating or adding a route
* Encourage users to set up separate directories for Maps, Routes, Tracks and Waypoints
* New setting "Calculate track velocity" in gps settings. If set to true, then for 'Track Data' the velocity will be calculated from the individual trackpoints rather than using the GPS supplied speed data
* Show OS grid refs in Position Info box as 10 digits rather than 6
* Other bug fixes and performance enhancements

The elevation files come from NASA Earthdata and each zip file covers a 1° square of the world and gives us 30m granularity, so the City of London for example is contained in the file N51W001.SRTMGL1.hgt.zip as its lat/lng is 51.5019/-0.09828.

I hold all of my maps in a similar sounding structure to yourself and just point the MmTracker maps directory at the top of this structure. MmTracker is very good at searching out all of your maps in the structure and then keeps an internal database for its use in finding a suitable map.

Elevations are currently used by the Position Info popup as well as for the altitude graphs that you can draw for a route.

If the relevant elevation file is not available, then it will be downloaded from NASA immediately if you are Wifi connected and will only use phone data if the 'Only download over Wifi' box is unselected in the elevation settings.

None of this elevation stuff will happen at all if the 'Use Elevation Data' box is unselected!

# 1.22.4

* If navigating, show the bearing to the destination
* In the Position Info Box, if less than 5km away, show effort required (+/- metres/feet) to get from current position
* Show effort required for route data
* Allow new action 'Show Effort between points' to show distance and ascent/descent for a number of points. This can then either be saved as a route or discarded.
* Recalculate Mean Velocity and Mean Velocity Moving
* Correctly deal with the 'Screen stays on' settings
* Allow html code in waypoint descriptions
* Other bug fixes and performance enhancements

# 1.22.5

* Fix occasional problem with deleteNotificationChannel when stopping tracking

# 1.23.0

* Code changes required for Android 12
* Show further information on the About form
* Allow deletion of Waypoint packages
* Calculate ascent for routes and tracks. Show in the relevant overlay manager
* New elevation setting 'Elevation Distance Granularity'
* Fix problem with convert to track/route for Android 11+
* Allow the GPS crosshairs to be resized through GPS and Tracking settings
* Allow the GPS crosshairs to be coloured red or black through the Colours settings
* Allow the speed vector width to be adjusted through the Colours settings
* Rewrite qcttile and mmiread code as 64bit to enable qct files to be up to 4GB for Android 7.0+
* In an overlay manager (routes/tracks/waypoints) allow long hold on an overlay item
* From the actions menu, allow Drop Pin to create a waypoint at this point

MMTracker only supports MBTiles databases which contain raster tiles. The free downloads from osdatahub contain vector tiles.

# 1.23.1 (2021-12-11)

* From the position window (single touch on the map), long press will allow a waypoint to be created here, or allow the position to be shared using Google Maps
* If MMTracker is associated with qct or mbtiles files, copy the file to a directory called 'Downloaded' within your maps directory and open it
* From the context menu for a track (select and hold on a track), allow the track to be split at a selected trackpoint
* New Elevations setting of Use GPS Elevation Data. If this is set, then use actual gps elevation for the climb statistics of tracks if available, else use downloaded data from NASA
* When creating a route, show the length of the route while it is being created
* Other bug fixes and performance enhancements

# 1.23.2 (2022-02-19)

* Link to 'What's New' from the about form
* Only get elevation data for latitudes 60° North down to 56° South
* New User Interface setting 'Copy position to clipboard'
* Enable category matching for MMI place name searches
* Allow overlays to be backed up by zipping and emailing (from the relevant overlay manager)
* Other bug fixes and performance enhancements

# MMTracker 1.24.0 (2022-08-26)

* Code changes required for Android 13
* Automatically download A-GPS data
* Allow route simplify from mapview route context menu
* Show route length as an info line when a route is selected
* Allow routes to be unsimplified and the simplification value to be changed
* Allow routes to be split and joined
* Allow search by Lat/Lng using Degree, Minute and Second
* New User Interface setting - Ignore maps of the same scale
* Other bug fixes and performance enhancements

# MMTracker 1.24.6 (2023-03-03)

* From the search menu, allow searching for start or end of a Track or a Route
* From the search menu, show temporary waypoints for all track starts. Enables you to see where past walks have started from
* Show progress bar when downloading LIDAR data
* If a route in a package is unlocked, then the route will be moved into its own gpx file and removed from the package
* Render vector tiles from an OS Open Zoomstack or Maptiler OpenStreetMap mbtiles database. Needs Android 7.0+.
* Allow geo uri calls
* Ignore track/route/waypoint subfolders that start with underscore
* Other bug fixes and performance enhancements

Vector maps for the UK (including contour lines, but unfortunately not footpaths) can be downloaded from
https://www.ordnancesurvey.co.uk/business-government/products/open-zoomstack

Vector Maps for the world (not containing contour lines, but showing footpaths) can be download from
https://data.maptiler.com/downloads/planet/

If contour lines are created from other sources and placed in an mbtiles database next to the map database (named [mapname]_contours.mbtiles), then they will be rendered as well.