====== Development ======
a:Drake was originally written by [[https://www.geocaching.com/p/?u=LudekV|LudekV]]; since 2021 [[https://www.geocaching.com/p/?u=lnavrat|lnavrat]] has been contributing and maintaining the current version. The source code is kept in a private GitLab repository.
===== Bug reports and ideas =====
The main place for bug reports, ideas and release announcements is the **[[https://forum.geocaching.cz/t/30477|a:Drake discussion on the geocaching.cz forum]]** (in Czech, English posts are welcome). Pre-release test versions are published there as well.
Please include the a:Drake version (//About//), device model and Android version, what you did when the problem occurred, and a screenshot if possible.
==== Crash reports ====
* **Google Play versions** contain no crash reporting library. Crashes and ANRs reach the developer anonymously through Google Play (Android Vitals) if sharing of diagnostic data is enabled on your phone.
* **Test versions** (from the forum, package ''cz.adrake.dev'') contain [[https://www.acra.ch|ACRA]]: after a crash a dialog is shown and the report can be sent by e-mail. Nothing is sent without your confirmation.
==== Old issue tracker ====
Until 2020 issues were tracked in the [[https://github.com/ludekv/a-drake/issues|GitHub issue tracker]] (migrated from Google Code). It is kept as an archive only – please report new issues in the forum.
===== Version history =====
Recent versions match the release notes in the app (//About → Release notes//). Versions 1.15 – 4.x are documented in the [[dev|Czech version]] only.
==== Version 6.15 ====
* new: Wear OS watch app (Wear OS 3 or newer) – navigate to a cache right from your wrist
* //Send to Watches// button in cache detail; install the watch app from Google Play on the watch
* Direction arrow and distance computed from the watch's own GPS, falling back to phone data without a GPS fix
* Vibration alerts when approaching the cache (same thresholds as on the phone)
* Radar for the final approach (within 30 m) – cache in the centre, your position and track
* Swipe from navigation to see the cache hint
* Dimmed always-on display and battery-saving GPS based on distance and speed
* Logging a find also ends navigation on the watch
* new: Drafts: LAB caches are skipped during bulk upload to the web (geocaching.com has no drafts for them) and the app reports how many were skipped
* fix: Tablets: the app no longer crashes when started full screen (two-pane layout)
* fix: Foldables: the app no longer crashes when switching between narrow and wide screen
* fix: Text fields have a border – in the light theme it was not visible in dialogs (e.g. nickname) where to type
* fix: Fixed crashes when editing a log, in pending logs and in the filter
* chn: Updated build tools and libraries
==== Version 6.14 ====
* new: Offline maps and themes via Storage Access Framework (SAF)
* Mapsforge .map files can be picked from any location on the device or external storage – no longer required to copy them into the app's private data folder
* Map themes can be loaded directly from a ZIP archive (Elevate, OpenAndroMaps, etc.) – no manual extraction needed
* The chosen map and theme location is remembered between app restarts via persisted URI permissions
* Internal map definition format extended: ''file:%%//%%'' path, ''content:%%//%%'' SAF URI, and legacy data-folder reference are all supported simultaneously
* chn: Old proprietary map engine removed – only Mapsforge maps from now on
* new: Preferences backup/restore via SAF to ''/Documents/aDrake'' or any public folder
* chn: Targets Android 17 (API 37); Mapsforge library updated
* new: Log images can be uploaded to drafts
* new: Battery optimization opt-in dialog (less aggressive than before)
* new: Bottom sheet dialogs in place of older popup menus (no transparency artifacts)
* new: Heading-up map rotation (map turns with your direction of travel)
* new: Live GPS status under the grid – fresh fix / waiting / no fix
* new: GPX and field notes (drafts) export via SAF to any folder
* fix: Foreground location service no longer broken on recent Android
* fix: Map state (zoom, position, rotation) correctly preserved across rotations and restarts
* fix: App no longer crashes during cache log refresh (race between background load and list rendering)
* fix: App no longer crashes when scrolling many cache logs (file descriptor leak in icon loading)
* fix: Multiple database cursor leaks closed (search, trackable list, image cache, map tile cache)
* fix: Latent bug: image cache could hang on a corrupted entry – now skipped instead of looping
* fix: NullPointerException in geocache types loading
* fix: Fixed map tile dropouts during heading-up rotation
* fix: Cache logs no longer disappear after refresh when the server returns an empty list
* fix: Distance in stop manager now shown with decimals
* fix: Quick search: results are kept after searching again, launch fixed
* fix: Runtime notification permission request (Android 13+)
* fix: Fixed trackable download (malformed URL parameter – HTTP 400)
* fix: Many crash & ANR fixes from Android Vitals – state restore after process death, foreground service timing, fragment race conditions, NPEs in various places
* fix: Various refactoring, deprecated API cleanup, more internal stability – but as always, expect surprises after a release this large :-)
==== Version 6.13 ====
* fix: Support Mapsforge themes in ZIP files
* fix: Target Android 16 (O)
* fix: Mapsforge 0.26.1
* fix: fix some exceptions and bugs, but due migration more bugs could happens:(
==== Version 6.11 ====
* fix: Support PKCE verification during OAuth2
* fix: Mapsforge 0.20
* fix: fix some exceptions
* fix: update of system libraries
* fix: online download mapnik tiles for OpenStreet maps
==== Version 6.10 ====
* fix: Minimum is Android 5.0 (Lollipop)
* fix: Mapsforge 0.17
==== Version 6.09 ====
* fix: a:Drake has same enabled features as a:Drake plus
==== Version 6.08 ====
* fix: Minor fix for Android 10 and hires display
==== Version 6.07 ====
* fix: Upgrade libs to Android 10 (SDK 29) - required by Google
* fix: Mapsforge 0.14
==== Version 6.03 ====
* fix: API read by GC code
* fix: Processing of corrected coordinates
==== Version 6.02 ====
* fix: Fix of new API data processing
==== Version 6.00 ====
* new: New Geocaching API
* new: Approximate distance between all cache waypoints
* new: Character table – order, ASCII, Braille, semaphore, flag alphabet
* new: Show hint on compass tab
* fix: Added permission to write to SD card
* fix: Fix of downloading nonexisting pictures - listing flickering
* fix: Deleting of all trackables – only current tab is cleared
==== Version 5.2x ====
* new: Library Mapsforge 0.10.0
* fix: Internal changes required by Google
* Move to newer Android libraries – slightly changed look
* New authorizations and notifications concept
* Migration from Eclipse to Android Studio
==== Version 5.18 ====
* new: Reload caches in the map using long press of cache button
* new: Layer button can be set to select style of Mapsforge map
* new: Gallery – fix of rendering, new compact layout
* new: Action bar for pending logs
* new: Attach picture from attachments to log
* new: Support for navigation in Waze
* new: Searching ignoring accents (beta)
* fix: Fix of (image) downloading from the web
* fix: Fix of hiding of visited waypoints in new (beta) map
==== Version 5.17 ====
* fix: New map engine
* Fix of keeping last position and zoom
* Optimalization of rendering (label as text instead of bitmap)
* Adjust of reading of caches
* new: Option to center map to reference point
==== Version 5.16 ====
* new: White background of small cache markers (points) in the map
* new: Optional joining of waypoints, order by prefix
* new: Map and icons are scalable separately
* new: Improved color picker
* new: Library MapsForge 0.9.0
* fix: Time in exported tracks
==== Version 5.15 ====
* new: (beta) New maps, old map engine of own production replaced by Mapsforge with enhancements. Can be switched in map settings.
* new: Library MapsForge 0.8.0
* new: Filter by date of hide
* new: Sum of variables in formula solver
* new: Customizable tab order in cache detail
* new: Sorting of quick map selection items by drag
* new: Option to always show ad-hoc waypoints on the map
* new: Images download – https, option to switch-off and download selected image by tap
* new: (5.15.9) Update of cache status from logs
* fix: Storage selection – internal/external (new detection of SD card)
* fix: (5.15.8) Finds counter in exported drafts
* fix: (5.15.8) Drawing of caches in the new map after zoom in/out
* fix: (5.15.8) Scale bar in the new map
* fix: (5.15.8) Restart of the new map
* fix: (5.15.9) Reading of caches from GC Live
* fix: (5.15.9) Refresh of listing
==== Version 5.14 ====
* new: Minor bug fixes
==== Version 5.13 ====
* new: Waypoint editor redesigned
* new: Waypoint prefix dislayed in list
* new: Sorting waypoints by name or distance
* new: New options of automatic marking of visited waypoints
* new: Option to keep particular logs over refresh
* new: Automatic extraction of variables from formula
* new: Support of GPX format Groundspeak PQ and GeoGet v2
* new: Basic support for Lab Cache
* new: Selection of storage – internal/external
* new: Error reporting (must be enabled in settings)
* fix: Support for HTTPS in URL of cache
==== Version 5.12 ====
* new: Mapsforge 0.6.1
* new: Recursive evaluation of formula, for example [[A+B]C[D+E]+26]
* new: Calculated variables, for example X = A+B+C
* new: Automatic marking of visited waypoints
* new: Visualization of visited waypoints in list
* new: Settings – new page for waypoints
* fix: Test of map availability corrected
* fix: Fix of the dark theme
* fix: Refresh of MTP after field notes export
==== Version 5.09 ====
* new: Mapsforge 0.6.0
* new: Sharing link to the cache
* fix: Fix of the dark theme
* fix: Icon for marking of the cache changed to star, new option in filter
==== Version 5.08 ====
* new: Warning of waypoints older than the latest version of the listing
* fix: Reading PQ from Gc Live
* fix: Searching around map center and displaying of its coordinates in filter summary
==== Version 5.07 ====
* new: option to hide visited waypoints on the map
* fix: unified format of cache name in search results and map context menu
* fix: map – improved performance of reading of caches, corrected colors of small points
==== Version 5.06 ====
* fix: fixed copying of text from listing
==== Version 5.04 ====
* fix: bug fixes
==== Version 5.03 ====
* fix: starting application via notification
* fix: a few minor bug fixes
==== Version 5.02 ====
* fix: switching GPS on/off fixed
* fix: processing of images in gallery improved
==== Version 5.01 ====
* fix: quick search fixed (Plus only)
* fix: (not) saving of notes fixed
==== Version 5.00 ====
* new user interface
* major part of application was rewritten
==== Version 1.14 ====
* new: sharing of coordinates with other apps
* fix: change of navigation target
==== Version 1.13 ====
* new: minor improvements
* fix: bug fixes
==== Version 1.11 ====
* new: image gallery, storing images offline
* fix: saving of waypoits from averaging
* fix: GPX import – listing, better progress bar
* fix: lost of note after Gc Live update
* fix: opening cache detail from map, if data source is Gc Live
==== Version 1.10 ====
* new: navigation to a cache or waypoint using Google maps
* fix: map issue
==== Version 1.09 ====
* new: trip statistics, averaging the coordinates
* fix: filter on Ice Cream Sandwitch 4.0.x
* fix: update of Google maps URL - remove /sdcard/adrake/map-config.xml, new one will be created
* fix: optimization of map
* fix: shorter delay before map context menu is displayed
* fix: modified time of signal playback when approaching the cache
* fix: formula solver, brackets, unarny minus, better normalization
==== Version 1.08 ====
* new: formula solver
* fix: number of fixes
==== Version 1.07 ====
* new: copy, paste and delete of waypoint coordinates
* fix: new German translation
* fix: Live cache list - open detail and back
* fix: rotate map with context menu visible
* fix: disabled reading of Waymarks from Gc Live
==== Version 1.06 ====
* new: turn off GPS when not used
* fix: automatically switch to Geocaching Live if database is empty
* fix: map - absolute path for map file, fixed empty URL, improved downloading of tiles
* fix: progress dialog while saving log
* fix: behavior of settings activity
* fix: Attended as default log type of Events
* fix: crashes in filter by position
* fix: crashes in list of caches
==== Version 1.05 ====
* new: download of 10 last logs of the cache
* new: automatic loading of other caches in the list from the web
* new: mass update of status of selected caches
* new: basic cipher toopls
* new: option to ask for the way of sending logs
* new: track log manager
* new: filter coordinates from ad-hoc waypoints or by address
* fix: search by stars
* fix: switch reading of bearing back from GPS to compass
* fix: bearing in compass and map in landscape mode
==== Version 1.04 ====
* new: filter by size, difficulty and terrain
* new: projection of waypoint
* new: detail of waypoint - digit sum of coordinates, user defined protection against overwriting on import
* new: use GPS Status if available
* new: sending longs to the web - option to save as Field Note or promote to log
* fix: screen of ad-hoc waypoints
* fix: moving of map to navigation target (turns off moving map automatically)
* fix: loading of waypoints in cache detail - too strict filter
==== Version 1.03 ====
* fix: test of final waypoint on database selection
* fix: layoutu of browse file dialog
* fix: new keys for Geocaching Live (new login reccomended)
* new: sorting of caches list
* new: move to SD card enabled (requires Android 2.2 and newer)
==== Version 1.02 ====
* new: option for rounding of field note time
* fix: restart of application when HOME button was used
* fix: export of Field Notes in UTF-16
* fix: a few errors, which could be reason of crash
==== Version 1.01 ====
* new: option to hide track on map
* fix: invalid message "Not authorized" on cache download
* new: disabling of filter options if Cache Code is filled
* new: map - green background for all caches with final waypoint, where it makes sense
==== Version 1.0 ====
* **The first public release**