====== 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**