c:geo - The powerful Android geocaching app.

Overview

c:geo

c:geo is an open-source, full-featured, always ready-to-go client for geocaching.com (unofficial). It also offers basic support for other geocaching platforms. It does not require a web browser or exports - just download and start right away.

Want to contribute?

Perfect! Please tell us in the issue tracker before hacking on your great new feature. It would be bad for you to have implemented something great but we can't include it because it doesn't fit the existing architecture and code.

Starting points for contribution

You can also take a look at the project page of our repository. For example, we have a collection of urgent issues and a list of beginner topics. They collect issues that might be suitable for your first contribution.

Project status

Build Status
Codacy Badge
Crowdin

Get the source

Fork the project source code, make changes to your clone, and create a pull request afterwards.

Branches

  • master is for the development of new features. Nightly builds are created from this branch.
  • release is for all bug fixes of already existing features. So if a bug is reported in a released version, it should be fixed on this branch (and merged to master afterwards).

Note: Regular merging of release to master (after changes have been done on release) is highly recommended to avoid unnecessary merge conflicts later on.

A more complex bugfix can first be tested against the master branch and integrated in the nightly builds while kept compatible with the release branch for a later integration. Such a procedure is described in the wiki.

Setting up an IDE

The standard IDE for Android projects is Android Studio, which is based on IntelliJ IDEA. We use it for the development of c:geo.

Details for setting up the IDE are described in the wiki (https://github.com/cgeo/cgeo/wiki/IDE).

Build

Prerequisites

  • Android SDK (latest version) including Google APIs (at least) V26, Google repository, and Android support repository. (File => Settings, Appearance & Behaviour => System Settings => Android SDK, Check "Show Package Details" on "SDK Platforms" tab and check subpackages as needed.)
  • If you use Microsoft Windows, Google USB Driver to install the application on the smartphone.
  • You need to provide several API keys for compiling the app (see following sections for details).

API keys

For the full usability of c:geo you need some API keys for Google Maps and the opencaching sites. You can leave all entries in the configuration empty, but Google Maps and the Opencaching sites will not work.

For using the Google Maps function, it is necessary to have a Google Maps API v2 key. For this, follow

The key itself is free and you don't have to enter any credit card info (although the web form seems to force you to).

To be able to use Google Maps you need to use a Google API-enabled image, so make sure to select the right image for your emulator/device, otherwise Google Maps won't be offered as a map provider in c:geo.

Request your personal API key for the various OpenCaching sites we support. If you leave these blank, those networks will remain disabled.

To obtain an API key for geocaching.su you need to request access from administration. Keys are generated manually on request.

API keys installation

For c:geo we have a semi-automatic configuration:

  1. Copy ./templates/private.properties to ./
  2. Edit private.properties with your keys
  3. The ./main/res/values/keys.xml is created on the gradle build and filled with the data from private.properties

The third point works only if the file keys.xml does not exist. When changing your API keys, you have to delete the keys.xml file.

If you want to fill the keys.xml by hand, copy ./main/templates/keys.xml to ./main/res/values/, then edit the copied keys.xml. For each key, replace the value starting with @ and ending with @ (inclusive) with the key. If a key is missing, remove the value and the leading and trailing @.

Building with gradle

Run gradlew from the root directory of the git repository. That will install the necessary build framework and display how to build c:geo. gradlew assembleBasicDebug might be a good start. Alternatively you can use "make" in Android Studio ("Build" => "Make Project").

To be able to create an installable Android package (APK), you need to create a signing key first. In Android Studio go to "Build" => "Generate Signed Bundle & APK", select "APK", and follow the instructions. You will create a key storage and a project-specific key. Enter path and access information to those in file cgeo/private.properties.

Testing

The Test classes can be found in the project test. Test classes should be located in the same package as the class under test. Every class can be run with Run '<class name>' or debugged with Debug '<class name>') as an Android JUnit Test. To run all tests use the same Run 'Tests in <package name>' menu item from the context menu of a package in the test project.

For tests to run successfully you need to configure c:geo on the emulator that runs the test with a valid geocaching.com account. In order for all tests to be successful the account needs to be a premium member.

Tests may also be launched from the command line. Use gradlew assembleBasicDebug from the root directory of the git repository.

Deploying the app locally for testing purposes

Android Studio needs to be configured for which device(s) c:geo will be deployed to. Use "run" => "run" (2nd entry with this heading). You can create several profiles for a physical device attached via USB, as well as virtual devices that are run in an emulator. (If the emulator is not installed yet, do so via File => Settings, Appearance & Behaviour => System Settings => Android SDK, tab "SDK Tools", check "Android Emulator", and apply.)

License

c:geo is distributed under the Apache License, Version 2.0.

This product includes software developed by the c:geo team and contributors as well as parts developed elsewhere. See the references in main/res/values/strings_not_translatable.xml for details (or "about: contributors" page in the app).

Contact

Comments
  • Rework storage framework acc. to Android 11 requirements

    Rework storage framework acc. to Android 11 requirements

    • Install nightly build 2020.06.13-NB-9bbc28e
    • Start app and apply permissions for storage and position
    • Go to "About c:geo" and check system information tab

    Result as expected:

    • User storage c:geo dir: /storage/emulated/0/cgeo

    • Install nightly build 2020.06.14-NB-e549d24

    • Start app and apply permissions for storage and position

    • Go to "About c:geo" and check system information tab

    Result (wrong):

    • User storage c:geo dir: /data/user/0/cgeo.geocaching This fallback should only occur in exceptional cases as this directory cannot be accessed by users (without root)

    Remark: The dir is not changed when upgrading from 2020.06.13 to 2020.06.14, the problem only occurs on installation but not on upgrade

    This smells like being related to our change of targetSDK I would guess.

    Refactoring 
    opened by Lineflyer 135
  • Next beta version / feature release

    Next beta version / feature release

    As discussed in our team meeting we favor a beta version from master as soon as possible. The plan is to publish a beta as soon as (from our perspective/knowledge) there are no major functional regressions.

    In order to do that, we need to forward release to the HEAD of master which means afterwards:

    • Development (e.g. bottom bar) on master can continue as soon as branches have been merged
    • Fixes for bugs reported for the beta version (and other bugfixes) should then go to release instead of master. (If we follow up with another beta without releasing it would theoretically make no difference if we do this on master but as we might be forced to release that version due to unrelated regressions (website change) it still makes sense to follow the normal process).

    We should use this issue to align, whether the current master is considered ready for beta state. We need to crawl through the issues to see if there are known major regressions next days.

    Feedback required 
    opened by Lineflyer 126
  • Time schedule for Release 2/2012 ?!

    Time schedule for Release 2/2012 ?!

    What about the following time schedule for our second release in 2012:

    • developing of "new" features till 05.02.2012 (more than a week)

    My last new feature for this release would be the further optimisation of the database access (see Live Map) What about you @SammysHP @Bananeweizen ?

    • testing a complete week untill 12.02.2012

    In this week we should only commit bugfixes, translations etc. but no new pull requests.

    Remarks ?

    Feedback required 
    opened by blafoo 112
  • Make use of Adventure Lab GPX

    Make use of Adventure Lab GPX

    I have just learned that there is an easy way to retrieve location dependent GPX formatted info about adventure labs.

    Example: https://labs.geocaching.com/gpx/search?latitude=50&longitude=7&skip=0&take=500

    IMHO the information is very basic (stages not included) and not suitable to include it on normal live map. But for some users it might be helpful to sideload it on demand for a location of their choice.

    I am unsure if and how we could/should use this.

    Feedback required 
    opened by Lineflyer 106
  • long app startup time

    long app startup time

    From support email, ticket #138732

    Anything specific I should ask the user for / the user can test & log?

    Bug description

    major issue is very slow/long loading time when launching the app! It has increased slightly already few weeks ago, but now it takes way too long. I pay attention to this issue because fast start-up was one of key benefits of cgeo compared to other 'massive' apps.

    c:geo version

    current beta

    System information

    c:geo version: 2021.07.10-RC

    Device:
    -------
    - Device type: MAR-LX1A (MAR-LX1AEEA, HUAWEI)
    - Available processors: 8
    - Android version: 10
    - Android build: MAR-L21A 10.0.0.275(C431E8R2P7)
    - Screen resolution: 1080x2107px (360x702dp)
    - Sailfish OS detected: false
    - Google Play services: enabled - 21.24.18 (120408-383468479)
    - HW acceleration: enabled (default state)
    
    Sensor and location:
    -------
    - Low power mode: inactive
    - Compass capabilities: yes
    - Rotation vector sensor: present
    - Orientation sensor: present
    - Magnetometer & Accelerometer sensor: present
    - Direction sensor used: rotation vector
    
    Program settings:
    -------
    - Hide caches: own/ found
    - Hide waypoints: original visited
    - Set language: lv_LV (system default)
    - System date format: dd.MM.yy
    - Debug mode active: no
    - Live map mode: true
    - OSM multi-threading: true / threads: 4
    - Global filter: display all caches
    - Last backup: 2019. gada 29. dec. 12:49
    - Routing mode: Walk
    - Settings: v5, Count:156
    - Map: OpenStreetMap.org
      - Id: cgeo.geocaching.maps.mapsforge.MapsforgeMapProvider$OsmMapSource
      - Atts: OpenStreetMap DE, map data OpenStreetMap contributors
      - Theme: none
    
    Services:
    -------
    - Geocaching sites enabled:
       geocaching.com: Logged in (Pieteikšanās izpildīta veiksmīgi) / PREMIUM
       Geocaching.com Adventure Lab
    - Geocaching.com date format: dd.MM.yyyy
    - Routing: external / BRouter installed: false
    - Installed c:geo plugins:  none
    
    Permissions & paths:
    -------
    - Fine location permission: granted
    - Write external storage permission: granted
    - System internal c:geo dir: /data/user/0/cgeo.geocaching (68,7 GB free) v2 internal isDir(9 entries)
    - Legacy User storage c:geo dir: /storage/emulated/0/cgeo (68,7 GB free) v2 external non-removable isDir(7 entries)
    - Geocache data: /storage/emulated/0/Android/data/cgeo.geocaching/files/GeocacheData (68,7 GB free) v2 external non-removable isDir(686 entries)
    - Internal theme sync (is turned off): /data/user/0/cgeo.geocaching/MapThemeData (68,7 GB free) v2 internal isDir(0 entries)
    - Public Folders: #11
      - BASE: /cgeo (User-Defined)[/cgeo[DOCUMENT#0:p-content://com.android.externalstorage.documents/tree/primary%3Acgeo::]] (Uri: content://com.android.externalstorage.documents/tree/primary%3Acgeo/document/primary%3Acgeo, Av:true, files:>=19, dirs:>=9, totalFileSize:>=88,7 MB, free space: 68,7 GB, files on device: 13511675)
      - OFFLINE_MAPS: /cgeo/maps (Default)[/cgeo/maps[PERSISTABLE_FOLDER(BASE)#1:p-content://com.android.externalstorage.documents/tree/primary%3Acgeo::/maps]] (Uri: content://com.android.externalstorage.documents/tree/primary%3Acgeo/document/primary%3Acgeo%2Fmaps, Av:true, files:2, dirs:1, totalFileSize:62,9 MB, free space: 68,7 GB, files on device: 13511675)
      - OFFLINE_MAP_THEMES: /cgeo/maps/_themes (Default)[/cgeo/maps/_themes[PERSISTABLE_FOLDER(OFFLINE_MAPS)#1:p-content://com.android.externalstorage.documents/tree/primary%3Acgeo::/maps/_themes]] (Uri: content://com.android.externalstorage.documents/tree/primary%3Acgeo/document/primary%3Acgeo%2Fmaps%2F_themes, Av:true, files:0, dirs:0, totalFileSize:0 B, free space: 68,7 GB, files on device: 13511675)
      - LOGFILES: /cgeo/logfiles (Default)[/cgeo/logfiles[PERSISTABLE_FOLDER(BASE)#1:p-content://com.android.externalstorage.documents/tree/primary%3Acgeo::/logfiles]] (Uri: content://com.android.externalstorage.documents/tree/primary%3Acgeo/document/primary%3Acgeo%2Flogfiles, Av:true, files:1, dirs:0, totalFileSize:10,4 KB, free space: 68,7 GB, files on device: 13511675)
      - GPX: /cgeo/gpx (Default)[/cgeo/gpx[PERSISTABLE_FOLDER(BASE)#1:p-content://com.android.externalstorage.documents/tree/primary%3Acgeo::/gpx]] (Uri: content://com.android.externalstorage.documents/tree/primary%3Acgeo/document/primary%3Acgeo%2Fgpx, Av:true, files:16, dirs:0, totalFileSize:10,8 MB, free space: 68,7 GB, files on device: 13511675)
      - BACKUP: /cgeo/backup (Default)[/cgeo/backup[PERSISTABLE_FOLDER(BASE)#1:p-content://com.android.externalstorage.documents/tree/primary%3Acgeo::/backup]] (Uri: content://com.android.externalstorage.documents/tree/primary%3Acgeo/document/primary%3Acgeo%2Fbackup, Av:true, files:1, dirs:1, totalFileSize:15,0 MB, free space: 68,7 GB, files on device: 13511675)
      - FIELD_NOTES: /cgeo/field-notes (Default)[/cgeo/field-notes[PERSISTABLE_FOLDER(BASE)#1:p-content://com.android.externalstorage.documents/tree/primary%3Acgeo::/field-notes]] (Uri: content://com.android.externalstorage.documents/tree/primary%3Acgeo/document/primary%3Acgeo%2Ffield-notes, Av:true, files:0, dirs:0, totalFileSize:0 B, free space: 68,7 GB, files on device: 13511675)
      - SPOILER_IMAGES: /cgeo/GeocachePhotos (Default)[/cgeo/GeocachePhotos[PERSISTABLE_FOLDER(BASE)#1:p-content://com.android.externalstorage.documents/tree/primary%3Acgeo::/GeocachePhotos]] (Uri: content://com.android.externalstorage.documents/tree/primary%3Acgeo/document/primary%3Acgeo%2FGeocachePhotos, Av:true, files:0, dirs:0, totalFileSize:0 B, free space: 68,7 GB, files on device: 13511675)
      - ROUTING_BASE: /cgeo/routing (Default)[/cgeo/routing[PERSISTABLE_FOLDER(BASE)#1:p-content://com.android.externalstorage.documents/tree/primary%3Acgeo::/routing]] (Uri: content://com.android.externalstorage.documents/tree/primary%3Acgeo/document/primary%3Acgeo%2Frouting, Av:true, files:0, dirs:1, totalFileSize:0 B, free space: 68,7 GB, files on device: 13511675)
      - ROUTING_TILES: /cgeo/routing/segments4 (Default)[/cgeo/routing/segments4[PERSISTABLE_FOLDER(ROUTING_BASE)#1:p-content://com.android.externalstorage.documents/tree/primary%3Acgeo::/routing/segments4]] (Uri: content://com.android.externalstorage.documents/tree/primary%3Acgeo/document/primary%3Acgeo%2Frouting%2Fsegments4, Av:true, files:0, dirs:0, totalFileSize:0 B, free space: 68,7 GB, files on device: 13511675)
      - TEST_FOLDER: [Legacy]/data/user/0/cgeo.geocaching/files/unittest (Default)[/data/user/0/cgeo.geocaching/files/unittest[FILE#1:p-file:///data/user/0/cgeo.geocaching/files::/unittest]] (Uri: file:///data/user/0/cgeo.geocaching/files/unittest, Av:true, files:0, dirs:0, totalFileSize:0 B, free space: 68,7 GB, files on device: -1)
    - Map render theme path:
    - PersistedDocumentUris: #1
    - TRACK: null
    - Persisted Uri Permissions: #1
      - content://com.android.externalstorage.documents/tree/primary%3Acgeo (23. marts 18:24):RW
    - Database: /storage/emulated/0/Android/data/cgeo.geocaching/files/databases/data (v95, Size:15,4 MB) on user storage
    
    --- End of system information ---
     
    Bug 
    opened by moving-bits 105
  • SAF migration: Better user experience

    SAF migration: Better user experience

    Taken from https://github.com/cgeo/cgeo/issues/9606#issuecomment-767478209 by @MagpieFourtyTwo

    Anyway - I know, it's hard to explain what happens behind the scenes, but to me this text and the steps one has to take afterwards, are way to much to handle for Joe Average. In order to not getting the support flooded with questions about which directories to chose, how to get back maps and stuff and where will my exports go .., we need a clear list of steps over there, which tells the user how he can get to the situation he had before he was forced to grant access to some folders ...


    I wonder a bit about your confusion here. AFAIR from my pre-tests of the SAF nightlies the usage is pretty straight forward:

    • Nothing will ever be lost also if you select another than the existing /cgeo as base dir (because old data either remains or gets copied/moved)
    • Offline map directory should IMHO be kept as it was before upgrading to SAF, I might be wrong though @eddiemuc
    • Upon exporting something from c:geo you will be informed where it was stored (same as before)
    Frontend Design Regression SDK30/SAF 
    opened by Lineflyer 96
  • Download caches as non blocking service

    Download caches as non blocking service

    Could it be possible to move the download task as a non blocking service ? Like some file manager, I suggest to add a "hide" button on the popup.

    Feature Request 
    opened by ludoo0d0a 93
  • fixes #706 - possibility to choose cgeo main directory on external sd

    fixes #706 - possibility to choose cgeo main directory on external sd

    Added the possibility to set the main c:geo directory e.g. to an external device. If DB file location is set to cgeo dir, database will be closed and initiated.

    I added some @NonNull annotation to places where eclipse shows errors.

    opened by marco-dev 89
  • online translation

    online translation

    title was: Translations: automatically include missing strings in values-*/strings.xml

    I could write a script that reorders and updates all translation files (values-*/strings.xml):

    • adds missing translations with untranslated english text and maybe a comment you can search for when translating
    • puts content of every of that files into the same order as the english one

    idea 1 for output

      <string name="live_map_button">sOmE cRaZy JaPaNeSe SyMbOLs</string>
      <string name="caches_nearby_button">Nearby</string> <!-- please translate me! and delete this comment then ->
      <string name="advanced_search_button">sOmE oTheR cRaZy JaPaNeSe SyMbOLs</string>
    

    idea 2 for output

      <string name="live_map_button">sOmE cRaZy JaPaNeSe SyMbOLs</string>
      <string name="translate_me__caches_nearby_button">Nearby</string>
      <string name="advanced_search_button">sOmE oTheR cRaZy JaPaNeSe SyMbOLs</string>
    

    Pro:

    • translators can easily see what's missing
    • translators don't have to look up the english text in another file
    • idea 1 may be even a little faster when looking up strings

    Contra:

    • Big pull request that should be merged fast. May be it will produce conflicts in ongoing local developments. So we should tell everybody to expect merge problems in strings.xmls that are under local development when merged.
    • idea 1 doesn't react on changes in the english text when the script is not run after every change of values/strings.xml - but idea 2 solves that
    Translation 
    opened by koem 88
  • Implement authorization on geocaching.su

    Implement authorization on geocaching.su

    • [x] Using OAuth authorization using OAuthAuthorizationActivity
    • [x] Using new geocaching.su OAuth API
    • [x] Hiding current user's found caches on the map
    • [x] Postings logs
    • [x] Postings images (10.11.2018)
    • [x] Waypoints support
    • [x] Watchlist support (11.11.2018)
    • [x] Personal notes support (16.12.2018)
    • [ ] Voting support - depends on #7182
    • [ ] Favorite support - depends on #7183
    • [ ] Answers to Virtual caches' questions - depends on #7181

    Implements #5269

    opened by okainov 80
  • Allow upload of own spoiler images

    Allow upload of own spoiler images

    Tell us your idea!

    I was recently approached by a geocacher who would like to have the possibility to add own, private images to a geocache (e.g. spoiler images and such) which should be kept on the cache but of course not be made public (e.g. via log).

    When I heard this I thought about the existing c:geo feature to upload spoiler images in the already existing folder GeocachePhotos. With this in mind it would be very easy to allow the user from within c:geo to add and remove own images to this structure.

    What solution would you suggest?

    • Add the well-known "add image from gallery" / "add image from camera" to the top of the image list of a cache to select new images to add
    • Mark own "spoiler images" somehow (e.g. by adding "Own image" to the title) since with this feature their usage may become more common
    • Put a delete button next to the own images for deletion

    The following is a crudely MS-painted screenshot on how this could look like (the upper image is supposed to be an image from the cache, the lower one an own image)

    image

    Is there an alternative?

    No implementation

    Additional Information

    No response

    Feature Request 
    opened by eddiemuc 79
  • Respect x as a multiplicator at formulas

    Respect x as a multiplicator at formulas

    Tell us your idea!

    We have started to discuss it in the past, but I do not remember the final decision.

    A lot of formulas in caches use the "x" as a multiplicator. Therefore, it would be helpful if there is an option to parse this formulas correctly. Either by ignoring "x" as a variable or to have an option to replace it while copying/pasting. Or ist this already working with an automatic cache scanning for formulas which I have overlooked the far.

    image

    What solution would you suggest?

    see above

    Is there an alternative?

    No response

    Additional Information

    No response

    Feature Request Unverified 
    opened by andrcoding 2
  • Parsing formulas without respecting spaces

    Parsing formulas without respecting spaces

    Tell us your idea!

    If the formula input contains a space after a variable and before a bracket ")" it is not working. In case this has no special reason, it would be nice if spaces are ignored: image

    What solution would you suggest?

    Ignore spaces in formulas

    Is there an alternative?

    No response

    Additional Information

    No response

    Bug 
    opened by andrcoding 2
  • Error in opening GPX files / pocket queries in current nightly version

    Error in opening GPX files / pocket queries in current nightly version

    Describe your problem!

    A couple of users on support report that they cannot open a GPX file or pocket query any longer, c:geo stops for them.

    Received a log file today:

    01-08 11:00:35.766 11113 11113 E AndroidRuntime: java.lang.RuntimeException: Unable to start activity ComponentInfo{cgeo.geocaching/cgeo.geocaching.CacheListActivity}: java.lang.NullPointerException: Attempt to invoke virtual method 'java.lang.String java.lang.String.toLowerCase(java.util.Locale)' on a null object reference
    01-08 11:00:35.766 11113 11113 E AndroidRuntime: 	at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:4166)
    01-08 11:00:35.766 11113 11113 E AndroidRuntime: 	at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:4312)
    01-08 11:00:35.766 11113 11113 E AndroidRuntime: 	at android.app.servertransaction.LaunchActivityItem.execute(LaunchActivityItem.java:101)
    01-08 11:00:35.766 11113 11113 E AndroidRuntime: 	at android.app.servertransaction.TransactionExecutor.executeCallbacks(TransactionExecutor.java:135)
    01-08 11:00:35.766 11113 11113 E AndroidRuntime: 	at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:95)
    01-08 11:00:35.766 11113 11113 E AndroidRuntime: 	at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2571)
    01-08 11:00:35.766 11113 11113 E AndroidRuntime: 	at android.os.Handler.dispatchMessage(Handler.java:106)
    01-08 11:00:35.766 11113 11113 E AndroidRuntime: 	at android.os.Looper.loopOnce(Looper.java:226)
    01-08 11:00:35.766 11113 11113 E AndroidRuntime: 	at android.os.Looper.loop(Looper.java:313)
    01-08 11:00:35.766 11113 11113 E AndroidRuntime: 	at android.app.ActivityThread.main(ActivityThread.java:8741)
    01-08 11:00:35.766 11113 11113 E AndroidRuntime: 	at java.lang.reflect.Method.invoke(Native Method)
    01-08 11:00:35.766 11113 11113 E AndroidRuntime: 	at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:571)
    01-08 11:00:35.766 11113 11113 E AndroidRuntime: 	at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1067)
    01-08 11:00:35.766 11113 11113 E AndroidRuntime: Caused by: java.lang.NullPointerException: Attempt to invoke virtual method 'java.lang.String java.lang.String.toLowerCase(java.util.Locale)' on a null object reference
    01-08 11:00:35.766 11113 11113 E AndroidRuntime: 	at cgeo.geocaching.CacheListActivity.onCreate(CacheListActivity.java:498)
    01-08 11:00:35.766 11113 11113 E AndroidRuntime: 	at android.app.Activity.performCreate(Activity.java:8578)
    01-08 11:00:35.766 11113 11113 E AndroidRuntime: 	at android.app.Activity.performCreate(Activity.java:8557)
    01-08 11:00:35.766 11113 11113 E AndroidRuntime: 	at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1384)
    01-08 11:00:35.766 11113 11113 E AndroidRuntime: 	at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:4147)
    01-08 11:00:35.766 11113 11113 E AndroidRuntime: 	... 12 more
    

    How to reproduce?

    • try to load a pocket query
    • or open an attached GPX file from email

    Actual result after these steps?

    c:geo crashes as shown in logfile above

    Expected result after these steps?

    import of GPX file succeeds

    Reproducible

    Yes

    c:geo Version

    2023.01.08-NB

    System information

    No response

    Additional Information

    probably caused by change in #13788

    Bug Regression 
    opened by moving-bits 0
  • Coordinate check — support Google Maps coordinate with

    Coordinate check — support Google Maps coordinate with "." and "," simultaneously

    Describe your problem!

    When I try to paste into cgeo the coordinates copied from Google Maps for Android, I don't see the item "from clipboard".

    How to reproduce?

    1. Change the system language to Russian.
    2. Launch the Google Maps application (the application language must be in Russian).
    3. Perform a long tap anywhere and copy the coordinates (there should be a line like 59,8480011, 30,0122868 in the buffer).
    4. Go to the cgeo application on the waypoints tab, and click the field with the coordinates.

    Actual result after these steps?

    Only the following items are displayed in the list of available actions:

    • My coordinates (±0,00 m)
    • Cache coordinates
    • (X) Calculate coordinate
    • Clear coordinates

    Expected result after these steps?

    The list of available actions displays the following items:

    • My coordinates (±0,00 m)
    • Cache coordinates
    • (X) Calculate coordinate
    • From clipboard
    • Clear coordinates

    Reproducible

    Yes

    c:geo Version

    2022.12.21

    System information

    ## System information
    
    c:geo version: 2022.12.21
    
    Device:
    -------
    - Device type: V2153 (V2154_RU, vivo)
    - Available processors: 8
    - Android version: 13
    - Android build: TP1A.220624.014 release-keys
    - Screen resolution: 1080x2324px (436x938dp)
    - Pixel density: 2.475
    - System font scale: 1.0 / used scale: 1.0
    - Sailfish OS detected: false
    - Google Play services: enabled - 22.49.55 (190400-499376822)
    
    Sensor and location:
    -------
    - Low power mode: inactive
    - Compass capabilities: yes
    - Rotation vector sensor: present
    - Orientation sensor: present
    - Magnetometer & Accelerometer sensor: present
    - Direction sensor used: rotation vector
    
    Program settings:
    -------
    - Settings: v9, Count:88
    - Set language: ru_RU (system default)
    - System date format: dd.MM.y
    - Time zone: GMT+03:00
    - Debug mode active: no
    - Last backup: never
    - Routing mode: Walk
    - Live map mode: true
    - OSM multi-threading: false / threads: 1
    - Map: Google: спутник
      - Id: cgeo.geocaching.maps.google.v2.GoogleMapProvider$GoogleSatelliteSource
      - Atts: none
      - Theme: none
    
    Filters:
    -------
    - Hide waypoints: parking 
    - LIVE: Нет ([:inconclusive=false:advanced=false])
    - OFFLINE: Нет ([:inconclusive=false:advanced=false])
    
    Stored Filters (#0):
    
    Services:
    -------
    - Geocaching sites enabled:
       geocaching.com: Logged in (Вход ОК) / BASIC
       Geocaching.su: Logged in (Вход ОК)
    - Geocaching.com date format: M/d/yyyy
    - Geocaching.com website language: en-US
    - Last successful login on geocaching.com: 2023-01-08 08-52
    - Routing: internal / BRouter installed: false
    - Installed c:geo plugins:  none
    
    Permissions & paths:
    -------
    - Fine location permission: granted
    - Write external storage permission: granted
    - System internal c:geo dir: /data/user/0/cgeo.geocaching (84,3 GB free) v3 internal isDir(7 entries)
    - Legacy User storage c:geo dir: /data/user/0/cgeo.geocaching (84,3 GB free) v3 internal isDir(7 entries)
    - Geocache data: /storage/emulated/0/Android/data/cgeo.geocaching/files/GeocacheData (84,1 GB free) v3 external non-removable isDir(11 entries)
    - Internal theme sync (is turned off): /data/user/0/cgeo.geocaching/MapThemeData (84,3 GB free) v3 internal isDir(0 entries)
    - Public Folders: #12
      - BASE: SD-карта/Maps/CGeo (User-Defined)[SD-карта/Maps/CGeo[DOCUMENT#0:p-content://com.android.externalstorage.documents/tree/9FC5-1A0A%3AMaps%2FCGeo::]] (Uri: content://com.android.externalstorage.documents/tree/9FC5-1A0A%3AMaps%2FCGeo/document/9FC5-1A0A%3AMaps%2FCGeo, Av:true, files:>=11, dirs:>=9, totalFileSize:>=3,3 GB, free space: 48,3 GB, files on device: 0)
      - OFFLINE_MAPS: SD-карта/Maps/CGeo/maps (Default)[SD-карта/Maps/CGeo/maps[PERSISTABLE_FOLDER(BASE)#1:p-content://com.android.externalstorage.documents/tree/9FC5-1A0A%3AMaps%2FCGeo::/maps]] (Uri: content://com.android.externalstorage.documents/tree/9FC5-1A0A%3AMaps%2FCGeo/document/9FC5-1A0A%3AMaps%2FCGeo%2Fmaps, Av:true, files:11, dirs:2, totalFileSize:3,3 GB, free space: 48,3 GB, files on device: 0)
      - OFFLINE_MAP_THEMES: SD-карта/Maps/CGeo/maps/_themes (Default)[SD-карта/Maps/CGeo/maps/_themes[PERSISTABLE_FOLDER(OFFLINE_MAPS)#1:p-content://com.android.externalstorage.documents/tree/9FC5-1A0A%3AMaps%2FCGeo::/maps/_themes]] (Uri: content://com.android.externalstorage.documents/tree/9FC5-1A0A%3AMaps%2FCGeo/document/9FC5-1A0A%3AMaps%2FCGeo%2Fmaps%2F_themes, Av:true, files:4, dirs:0, totalFileSize:848,5 KB, free space: 48,3 GB, files on device: 0)
      - OFFLINE_MAP_SHADING: SD-карта/Maps/CGeo/maps/_hgt (Default)[SD-карта/Maps/CGeo/maps/_hgt[PERSISTABLE_FOLDER(OFFLINE_MAPS)#1:p-content://com.android.externalstorage.documents/tree/9FC5-1A0A%3AMaps%2FCGeo::/maps/_hgt]] (Uri: content://com.android.externalstorage.documents/tree/9FC5-1A0A%3AMaps%2FCGeo/document/9FC5-1A0A%3AMaps%2FCGeo%2Fmaps%2F_hgt, Av:true, files:0, dirs:0, totalFileSize:0 B, free space: 48,3 GB, files on device: 0)
      - LOGFILES: SD-карта/Maps/CGeo/logfiles (Default)[SD-карта/Maps/CGeo/logfiles[PERSISTABLE_FOLDER(BASE)#1:p-content://com.android.externalstorage.documents/tree/9FC5-1A0A%3AMaps%2FCGeo::/logfiles]] (Uri: content://com.android.externalstorage.documents/tree/9FC5-1A0A%3AMaps%2FCGeo/document/9FC5-1A0A%3AMaps%2FCGeo%2Flogfiles, Av:true, files:0, dirs:0, totalFileSize:0 B, free space: 48,3 GB, files on device: 0)
      - GPX: SD-карта/Maps/CGeo/gpx (Default)[SD-карта/Maps/CGeo/gpx[PERSISTABLE_FOLDER(BASE)#1:p-content://com.android.externalstorage.documents/tree/9FC5-1A0A%3AMaps%2FCGeo::/gpx]] (Uri: content://com.android.externalstorage.documents/tree/9FC5-1A0A%3AMaps%2FCGeo/document/9FC5-1A0A%3AMaps%2FCGeo%2Fgpx, Av:true, files:0, dirs:0, totalFileSize:0 B, free space: 48,3 GB, files on device: 0)
      - BACKUP: SD-карта/Maps/CGeo/backup (Default)[SD-карта/Maps/CGeo/backup[PERSISTABLE_FOLDER(BASE)#1:p-content://com.android.externalstorage.documents/tree/9FC5-1A0A%3AMaps%2FCGeo::/backup]] (Uri: content://com.android.externalstorage.documents/tree/9FC5-1A0A%3AMaps%2FCGeo/document/9FC5-1A0A%3AMaps%2FCGeo%2Fbackup, Av:true, files:0, dirs:0, totalFileSize:0 B, free space: 48,3 GB, files on device: 0)
      - FIELD_NOTES: SD-карта/Maps/CGeo/field-notes (Default)[SD-карта/Maps/CGeo/field-notes[PERSISTABLE_FOLDER(BASE)#1:p-content://com.android.externalstorage.documents/tree/9FC5-1A0A%3AMaps%2FCGeo::/field-notes]] (Uri: content://com.android.externalstorage.documents/tree/9FC5-1A0A%3AMaps%2FCGeo/document/9FC5-1A0A%3AMaps%2FCGeo%2Ffield-notes, Av:true, files:0, dirs:0, totalFileSize:0 B, free space: 48,3 GB, files on device: 0)
      - SPOILER_IMAGES: SD-карта/Maps/CGeo/GeocachePhotos (Default)[SD-карта/Maps/CGeo/GeocachePhotos[PERSISTABLE_FOLDER(BASE)#1:p-content://com.android.externalstorage.documents/tree/9FC5-1A0A%3AMaps%2FCGeo::/GeocachePhotos]] (Uri: content://com.android.externalstorage.documents/tree/9FC5-1A0A%3AMaps%2FCGeo/document/9FC5-1A0A%3AMaps%2FCGeo%2FGeocachePhotos, Av:true, files:0, dirs:0, totalFileSize:0 B, free space: 48,3 GB, files on device: 0)
      - ROUTING_BASE: SD-карта/Maps/CGeo/routing (Default)[SD-карта/Maps/CGeo/routing[PERSISTABLE_FOLDER(BASE)#1:p-content://com.android.externalstorage.documents/tree/9FC5-1A0A%3AMaps%2FCGeo::/routing]] (Uri: content://com.android.externalstorage.documents/tree/9FC5-1A0A%3AMaps%2FCGeo/document/9FC5-1A0A%3AMaps%2FCGeo%2Frouting, Av:true, files:8, dirs:1, totalFileSize:13,9 MB, free space: 48,3 GB, files on device: 0)
      - ROUTING_TILES: SD-карта/Maps/CGeo/routing/segments4 (Default)[SD-карта/Maps/CGeo/routing/segments4[PERSISTABLE_FOLDER(ROUTING_BASE)#1:p-content://com.android.externalstorage.documents/tree/9FC5-1A0A%3AMaps%2FCGeo::/routing/segments4]] (Uri: content://com.android.externalstorage.documents/tree/9FC5-1A0A%3AMaps%2FCGeo/document/9FC5-1A0A%3AMaps%2FCGeo%2Frouting%2Fsegments4, Av:true, files:1, dirs:0, totalFileSize:13,8 MB, free space: 48,3 GB, files on device: 0)
      - TEST_FOLDER: [Legacy]/data/user/0/cgeo.geocaching/files/unittest (Default)[/data/user/0/cgeo.geocaching/files/unittest[FILE#1:p-file:///data/user/0/cgeo.geocaching/files::/unittest]] (Uri: file:///data/user/0/cgeo.geocaching/files/unittest, Av:true, files:0, dirs:0, totalFileSize:0 B, free space: 84,3 GB, files on device: -1)
    - Map render theme path: 
    - PersistedDocumentUris: #1
    - UNUSED_TRACK: null
    - Persisted Uri Permissions: #1
      - content://com.android.externalstorage.documents/tree/9FC5-1A0A%3AMaps%2FCGeo (7 янв., 10:48):RW
    - Database: /data/user/0/cgeo.geocaching/databases/data (v99, Size:508,0 KB) on system internal storage
    
    --- End of system information ---
    

    Additional Information

    The issue may be related to the following topics: #573, #6368 and #8771.

    Bug Unverified 
    opened by Korb 2
  • Suggestions for making

    Suggestions for making "variables" useful

    Tell us your idea!

    Currently the "variables" tab is not very useful.

    It is very un-structured, it requires a lot of left and right swiping between the "description" and the "variables" tab, and it is very hard to know which formula in the variables tab belongs to which stage, or even which part of the next coordinates.

    What solution would you suggest?

    I would completely get rid of the "variables" tab, and instead, when scanning the cache listing, turn every single detected formula into a clickable link.

    When clicking such a link, a popup window should appear that allows making the calculation for the one formula that you just clicked.

    In this window, there should be a field for editing the formula (in cases where c:geo did not correctly recognize the formula), and at the bottom of the popup there should be your personal cache note (where you define the variable values by writing things like "A=5" etc.).

    Is there an alternative?

    No response

    Additional Information

    No response

    Feature Request Unverified 
    opened by dcjkfgdjhd 9
Releases(market_20221221)
  • market_20221221(Dec 21, 2022)

  • market_20221125(Nov 24, 2022)

    Bugfix Release 2022.11.25:

    General

    • Fix: Use updated URL for mapquest geocoding
    • Fix: Prevent crash under certain conditions when trying to attach photo to log
    • Change: Better error message about how to resolve a Captcha requirement on login to geocaching.com

    Caches

    • Fix: Prevent spoiler images from being doubled in gallery when refreshing a cache

    Variable calculator

    • New: TRUNC function to truncate decimal values
    • New: Allow usage of square brackets for calculations. For variable ranges please use e.g. [:1-5] instead.

    Map

    • Fix: Show correct DT marker for D4.0 and D4.5
    Source code(tar.gz)
    Source code(zip)
    cgeo-release_20221125.apk(12.76 MB)
  • market_20221113(Nov 13, 2022)

    Notice: API level change

    Due to upcoming restrictions in Play Store we have upgraded the targeted Android API level. This should not affect using c:geo, and it should still run from Android 5 onwards, but if you notice any irregularities, please contact us on [email protected]

    Map

    • New: Allow change of track's display name

    Cache details

    • Fix: Log image labelled "Image 1" even if only a single image added
    • New: GEOCODE log template placeholder
    • New: Basic HTML formatting support for definition lists (dl/dt/dd)
    • New: Open zoomable image view when tapping on listing images
    • Fix: Open links in listings in integrated web view (if enabled)
    • Change: Render cache description in background and limit length to 50,000 characters by default
    • Change: GCVote service connection disabled due to severe performance problems - You can manually re-enable it using Settings - Services - GCVote
    • New: Log caches: Preserve last trackable action per trackable

    General

    • New: View for pending downloads
    • New: Append cache name / list name to file name on GPX export
    • Change: Removed "Identify as Android browser" setting
    • New: Check pending downloads (maps / routing data) on startup
    • New: Allow selection of files to download
    • New: Status filter for DNF
    • New: Display elevation on home screen (if available)
    • New: Allow manual input of values in filters using sliders
    • New: Enable upload of modified coordinates for caches imported from GPX file, when cache has waypoint of type "ORIGINAL"
    • Change: Improve filter status line text
    • Change: User a better readable color for archived cache names in titles and remove coloring from cache details page
    Source code(tar.gz)
    Source code(zip)
    cgeo-release_20221113.apk(12.72 MB)
  • market_20221017(Oct 17, 2022)

    Map

    • New: Add support for hillshading on OSM
    • Fix: Manually copied waypoints of a cache not all being displayed

    Cache details

    • Change: Show loading indicator in log activity while retrieving required data is ongoing
    • Fix: nbsp; not considered as space in formula parsing
    • Fix: Extra waypoints created on personal note formula parsing
    • Fix: Variables not created on copying formula to different cache
    • Fix: (Experimental gallery) Use image cache for log/spoiler images
    • New: Improvements to coordinate scan in texts

    General

    • New: Support generic downloads for "mf-v4-map"- and "mf-theme"-prefixed links (no automatic updates supported)
    • New: Maintenance function reindexes database
    • New: Automatic performance optimization of database every 90 days (reindex)
    • Fix: Handle missing fine location permission
    • Change: Website language switch removed
    • Fix: Deleted user-defined caches are not deleted on c:geo restart
    • Fix: Filter bar not readable in light mode
    Source code(tar.gz)
    Source code(zip)
    cgeo-release_20221017.apk(12.59 MB)
  • market_20220904(Sep 4, 2022)

    • Fix: Crash on logging "needs maintenance" => use "report problem" options instead
    • Fix: Crashes under certain conditions in map and cache list
    • Fix: Crash on 'Add to bookmark' in debug mode
    • Fix: Clear icon being shown on name edit for system waypoints
    • Fix: Decimal values separated by = being parsed as coords
    Source code(tar.gz)
    Source code(zip)
    cgeo-release_20220904.apk(12.49 MB)
  • market_20220821(Aug 21, 2022)

    Map

    • Fix: Do not show distance circles for waypoints of archived caches
    • New: Tap on free map space to create waypoint or user-defined cache, append or prepend to individual route, display coordinates or navigate (depending on context)
    • New: Option to delete offline maps
    • Fix: Lab adventure items in individual routes not recognized as such after edit

    Cache details

    • Change: Remove size-limit check while storing waypoints in personal notes
    • Fix: Wrong checksum formula results on large numbers

    General

    • New: Download / update caches in background
    • New: Copy current coordinates when long-tapping location on home screen
    • Fix: Missing trackable count in search results
    • New: Navigation method "Other external apps (coords only)" to invoke external navigation app with just coordinates (helps with Here WeGo in offline mode)
    • New: Posibility to build nested filters
    • New: Display Lab adventure mode (random / linear)
    • New: Support configuring settings from app info window
    • Fix: Support selecting the same value for d/t filter range
    Source code(tar.gz)
    Source code(zip)
    cgeo-release_20220821.apk(12.47 MB)
  • market_20220731(Jul 31, 2022)

    2022.07.31 Bugfix Release

    • Fix: Filter settings lost on screen rotation when mapping an address search result
    • Fix: Double tap required to edit offline log
    • Fix: Exceptions in CheckerUtils, internal routing service and WhereYouGo connector
    • New: Added last geocaching.com login status to status page
    • Changed: Misleading maps.me dialog
    Source code(tar.gz)
    Source code(zip)
    cgeo-release_20220731.apk(12.03 MB)
  • market_20220606(Jun 6, 2022)

    Cache details

    • New: Redesigned coordinates calculator (supporting functions)
    • Change: Variables for waypoint calculation are now cache-global
    • New: Variables tab in cache details
    • New: Generating waypoints using formulas and variables with ranges
    • New: Log templates for offline logs
    • New: Add [location] to log template menu
    • New: Allow selecting log texts
    • Fix: GC checker link leading to loop in certain conditions on Android 12
    • New: Added geochecker button at end of description text (when appropriate)
    • New: Added 'log in browser' option to cache menu

    Cache list

    • New: Added option for "has user defined waypoints" to advanced status filter
    • New: Allow inclusion of caches without D/T in filter
    • Fix: Resort cache list on every location change on distance sort order

    Map

    • New: Map theming for Google Maps
    • New: Map scaling options for OpenStreetMap (see theme options)
    • Change: Settings => Map => Long tap on map will now enable/disable long tap in cache map as well (relevant for creating new waypoints for current cache)
    • Change: Don't show distance-circle for archived caches
    • Fix: Crash in OpenStreetMap maps under certain conditions
    • Fix: Routing becoming unresponsive when many routing tiles are installed

    General

    • New: Automatically perform backups (optional)
    • Fix: Resume importing finished downloads
    • New: Added configurable quick launch buttons to home screen, see Settings => Appearance
    • New: Updated internal routing to BRouter v1.6.3
    • New: Limit the need of repetitive back key usage by starting a new activity stack when changing to another part of the app
    • New: Add setting to decrypt the cache hint by default (instead of only when tapping on it)
    • New: Support setting caches from unknown source as found locally
    • Removed: Geolutin trackable service as it was discontinued
    Source code(tar.gz)
    Source code(zip)
    cgeo-release_20220606.apk(12.02 MB)
  • market_20220310(Mar 10, 2022)

  • market_20220309(Mar 9, 2022)

    2022.03.09 Bugfix Release

    • Fix: Keep position on switching from Google map to OpenStreetMap map
    • Fix: Rare crash in cache list attribute overview
    • Fix: Re-enable "Restore a different backup" function
    • Change: Remove notifications on loading tracks
    • Fix: Rare crash when sorting by difficulty if adventure labs are on the list
    • Change: Use different icon for "edit individual route" in route/track quick settings
    • Fix: Map for a waypoint now centered correctly with Google Maps
    • Fix: Show better file name in c:geo after selecting a GPX track file
    • Fix: Remember "show/hide" setting for routes / tracks
    Source code(tar.gz)
    Source code(zip)
    cgeo-release_20220309.apk(11.28 MB)
  • market_20220216(Feb 16, 2022)

  • market_20220213(Feb 13, 2022)

    General

    • Change: Introducing bottom navigation for direct access to c:geo's most-used screens, replacing the old mainscreen

    Map

    • Fix: On loading GPX files containing multiple tracks display them as separate, unconnected tracks
    • Change: Automatically enable track display on loading a GPX track file
    • New: Allow displaying several tracks at once
    • New: D/T symbols for cache icons (optional)
    • New: Option to check for missing routing data for current viewport
    • New: Theme legend for Elevate, Elements and Freizeitkarte themes
    • Fix: Reenable routing with external BRouter app in version 1.6.3
    • Fix: Avoid map duplication by map downloader in certain conditions

    Cache list

    • New: Option to select next 20 caches
    • New: Attributes overview (see Manage Caches => Attributes overview)
    • New: Add import from bookmark lists (GC premium only)
    • New: Invert sort-order on long click on sort bar
    • Change: Also perform automatic sorting by distance for lists containing cache series with more than 50 caches (up to 500)
    • Fix: Use a shorter timeout for fast scrolling mechanism for less interference with other layout elements

    Cache details

    • New: Pass current cache coordinates to geochecker (if supported by geochecker)
    • New: Colored attribute icons (following attribute groups)
    • Fix: Problem opening pictures from gallery tab in external apps on some Samsung devices
    • Fix: Missing log count (website change)

    Other

    • New: Quick-load geocodes from clipboard text in mainscreen search
    • New: Added support for user-defined log templates
    • New: Make Settings => View Settings filterable
    • New: Enable search in preferences
    • New: Added GC Wizard to useful apps list
    • New: Attributes filter: Allow selecting from which connectors attributes are shown
    • New: Option to limit distance in nearby search (see Settings => Services)
    • Change: Removed barcode scanner from useful apps list and from mainscreen
    • Change: Removed BRouter from useful apps list (you can still use both external and internal navigation)
    • Fix: Avoid repeated update checks for maps/routing tiles with interval=0
    • Fix: Optimize support to autofill passwords from external password store apps in settings
    • Fix: Enable tooltips for systems running on Android below version 8
    • Fix: Crash on long-tap on trackable code in trackable details
    • Fix: Fieldnotes upload (website change)
    • Refactored settings to meet current Android specifications
    • Updated MapsWithMe API
    Source code(tar.gz)
    Source code(zip)
    cgeo-release_20220213.apk(11.25 MB)
  • market_20220122-RC(Jan 22, 2022)

    Beta version 2022.01.22-RC:

    General

    • Change: Introducing bottom navigation for direct access to c:geo's most-used screens, replacing the old mainscreen

    Map

    • Fix: On loading GPX files containing multiple tracks display them as separate, unconnected tracks
    • Change: Automatically enable track display on loading a GPX track file
    • New: Allow displaying several tracks at once
    • New: D/T symbols for cache icons (optional)
    • New: Option to check for missing routing data for current viewport
    • New: Theme legend for Elevate, Elements and Freizeitkarte themes
    • Fix: Reenable routing with external BRouter app in version 1.6.3

    Cache list

    • New: Option to select next 20 caches
    • New: Attributes overview (see Manage Caches => Attributes overview)
    • New: Add import from bookmark lists (GC premium only)
    • New: Invert sort-order on long click on sort bar
    • Change: Also perform automatic sorting by distance for lists containing cache series with more than 50 caches (up to 500)
    • Fix: Use a shorter timeout for fast scrolling mechanism for less interference with other layout elements

    Cache details

    • New: Pass current cache coordinates to geochecker (if supported by geochecker)
    • New: Colored attribute icons (following attribute groups)
    • Fix: Problem opening pictures from gallery tab in external apps on some Samsung devices

    Other

    • New: Quick-load geocodes from clipboard text in mainscreen search
    • New: Added support for user-defined log templates
    • New: Make Settings => View Settings filterable
    • New: Enable search in preferences
    • New: Added GC Wizard to useful apps list
    • New: Attributes filter: Allow selecting from which connectors attributes are shown
    • New: Option to limit distance in nearby search (see Settings => Services)
    • Change: Removed barcode scanner from useful apps list and from mainscreen
    • Change: Removed BRouter from useful apps list (you can still use both external and internal navigation)
    • Fix: Avoid repeated update checks for maps/routing tiles with interval=0
    • Fix: Optimize support to autofill passwords from external password store apps in settings
    • Fix: Enable tooltips for systems running on Android below version 8
    • Refactored settings to meet current Android specifications
    • Updated MapsWithMe API
    Source code(tar.gz)
    Source code(zip)
    cgeo-RC_20220122.apk(11.44 MB)
  • market_20211224(Dec 24, 2021)

  • market_20211213(Dec 13, 2021)

    Bugfix release

    • Fix: Mapsforge's cache files: Cleanup and new location (separate folder)
    • Fix: Freizeitkarte map files: Use 'latest' folder in downloader as workaround for temporary server errors
    • Fix: Avoid null pointer exception in about pages
    • Fix: Enable wrapping for stars in cache popup
    • Fix: Display error message if a cache could not be found while trying to refresh it
    • Fix: Show system default browser in app selection when using 'Open in browser' for a cache
    • Fix: Adapt downloader to use new theme page and new v5 maps for OpenAndroMaps
    • Fix: On changing a path setting don't ask user for copy or move if old path has no files
    Source code(tar.gz)
    Source code(zip)
    cgeo-release_20211213.apk(10.54 MB)
  • market_20211121(Nov 21, 2021)

    Feature release 2021.11.21

    Map

    • New: Complete rework of all cache icons
    • New: Show icons for last logs in cache popup
    • Fix: Show distance circles for user-defined caches (if circles are enabled)
    • Fix: Make cache title more visible in cache / waypoint popup
    • Fix: Show warning in live map when live mode is disabled
    • Fix: Allow HTML in navigation targets' description
    • Change: Adapted zoom controls for OSM maps for better consistency across maps
    • Change: Moved most individual route-related menu options to a separate quick access button at the bottom for faster access. (Only being displayed when an individual route is loaded / created.)

    Cache lists

    • New: Complete rework of all cache icons

    Cache details

    • New: Show icons for last logs
    • New: Show icons for log entries in log tab
    • New: Option to hide visited waypoints on waypoints tab
    • Fix: Allow HTML in navigation targets' description
    • Fix: Filter short description when already contained in long description
    • Fix: Refactored "coordinates input" dialog to allow for better display usage in specific conditions
    • New: Added variable / calculator tab (experimental, activate debug mode to see it)

    Other

    • Change: Separated bookmark lists and pocket queries (geocaching.com PM only)
    • New: Force-delete caches marked as "to-be-deleted" when using maintenance function
    • Change: Always use hardware acceleration (removed setting and old phone model check)
    Source code(tar.gz)
    Source code(zip)
    cgeo-release_20211121.apk(10.40 MB)
  • market_20211008(Oct 8, 2021)

  • market_20210927(Sep 27, 2021)

    Feature Release

    Map

    • New: Added Mapy.cz as online map source
    • New: Individual route: Allow setting a new start and reversing the route
    • New: Multiple offline map downloads can now be triggered at once

    Cache details

    • Fix: Detect if current user is owner for lab adventures
    • New: Added some more emoijis for use as individual cache icon
    • New: Support adding caches to bookmark lists (PM only)
    • New: When tapping on owner name, opening in message center will prefill the text with cache's name (geocaching.com only)

    Other

    • New: Allow upload of caches to bookmark list (only available for GC premium members)
    • New: Automatically prefill 'search by geocode' if clipboard content can be parsed as valid geocode
    • Fix: Some fixes for UI and for filtering
    • Fix: Some fixes for bookmark lists (downloading & current status)
    • Change: Hide sensitive data in "view settings"
    • Change: Cache prefix for adventure labs is now "AL" instead of "LC" (which is already in use for Terracaching)
    Source code(tar.gz)
    Source code(zip)
    cgeo-release_20210927.apk(10.45 MB)
  • market_20210908(Sep 8, 2021)

    Bugfix Release

    • "Add to watchlist" / "Remove from watchlist" failing (Website change)
    • "Add to favorite" / "Remove from favorite" buttons not shown after "found" log
    • Date in logbook cut off on larger fonts
    • Filtering in live map for more rare cache types returning only few results
    Source code(tar.gz)
    Source code(zip)
    cgeo-release_20210908.apk(10.49 MB)
  • market_20210828(Aug 28, 2021)

    Bugfix Release

    Design

    • Increase font size for text input fields
    • Increase font size for some compass elements
    • Use font color with higher contrast in waypoint tab
    • Make quick offline log check mark visible again
    • Increase font size for coordinate input fields
    • Respect system font size settings also on older Android versions (5,6 and 7)

    Cache details

    • Fix missing cache title if cache opened via geocode or link (website change)
    • Fix missing cache description on some caches

    Other

    • Show premium caches again in search results of basic members
    • Fix further creation of user defined caches if some user defines caches have been loaded via GPX
    • Use more common English abbreviation for traditional cache in cache type filter
    Source code(tar.gz)
    Source code(zip)
    cgeo-release_20210828.apk(10.49 MB)
  • market_20210815(Aug 15, 2021)

    Feature release:

    Advanced filtering system

    • Introducing a new filtering system to c:geo, supporting flexible, combinable and storable filters
    • Available in both cache lists and map view
    • New "Search by filter" function

    Map

    • New: On creating a user-defined cache while displaying a map from a list: Offer user to store new cache in current list (instead of default list for user-defined caches)
    • New: Separate "own" and "found" filters in map quick settings
    • Change: Additionally show cache name in poup details

    Cache details

    • New: Make use of google translate in-app translation popup
    • New: Allow changing the assigned icon in cache details popup via long click (stored caches only)

    Downloader

    • Change: Downloads will now completely happen in background, a notification is shown
    • Change: Files downloaded successfully will automatically overwrite existing files having the same name
    • Change: If a map requires a certain theme which is not installed yet, c:geo will automatically download and install that theme as well

    Other

    • Change: We've completely reworked the internal technical aspects c:geo theming to be able to make use of some more modern components provided by Android. This will have a couple of side-effects, some of them unintended. Please report any errors or glitches either on our GitHub page or by contacting support.
    • New: Support day / night mode from system (optional)
    • New: Download bookmark lists from geocaching.com - see "Lists / pocket queries" in main menu
    • New: Ignore capability for geocaching.su
    • Change: Removed no longer maintained RMAPS navigation app
    • Fix: Extract waypoint with same name but different coordinates from personal note
    • Fix: Bug in extracting user note for waypoint with formula
    • Fix: Export formula to PN instead of coordinates for completed formula
    • Fix: Offline map and themes folder incorrect after re-install and restore of backup
    • Fix: Track/route cannot be updated
    • Fix: Theming error for downloader in light theme
    Source code(tar.gz)
    Source code(zip)
    cgeo-release_20210815.apk(10.46 MB)
  • market_20210715(Jul 17, 2021)

  • market_20210623(Jun 23, 2021)

    Bugfix-Release:

    • Fix: Add/Remove to/from watchlist fixed after website change. Count of watchers corrected.
    • Fix: Extract waypoint with same name but different coordinates from personal note
    • Fix: Bug in extracting user note for waypoint with formula
    • Fix: Offline map and themes folder incorrect after re-install and restore of backup
    • Fix: Track/route cannot be updated
    • Fix: Theming error for downloader in light theme
    Source code(tar.gz)
    Source code(zip)
    cgeo-release_20210623.apk(10.35 MB)
  • market_20210520(May 20, 2021)

    Geocaching Services:

    Cache details:

    • New: Long click on waypoint coordinates to copy coordinates
    • New: Export and import UDC with empty coordinates
    • New: Support changing found state for user-defined caches and Lab Adventures
    • New: Parse formula for waypoints in personal cache note
    • New: Added indicator for calculated coordinates in waypoint list

    Map:

    • New: Automatic check for updates of downloaded map and theme files (optional)
    • New: BRouter: Show info message on missing routing data
    • New: Export individual route as track (in addition to \"Export as route\")

    Integrated routing engine:

    • New: Integrated BRouter routing engine - you can now use either external BRouter app or the integrated routing engine
    • New: Integrated routing engine supports automatic download of missing routing tiles
    • New: Integrated routing engine supports automatic updates of downloaded routing tiles
    • New: Integrated routing engine supports selecting different routing profiles

    Other:

    • Fix: Failing login to geocaching.com caused by website changes
    • Change: \"Sort individual route\" automatically closes on saving and checks for unsaved changes on using the back arrow
    • Fix: A couple of theming issues, esp. aligned theming of Google Maps and settings to \"rest of app\"
    • Fix: Optimize global search: If no trackable with matching tracking code is found, execute online cache name search afterwards
    • Fix: Avoid avatar images being displayed too wide and pushing the \"Update / remove authorization\" functionalty aside
    • Fix: Fix conversion error in some distance settings for imperial units
    • Fix: Directory selected by user not taken over in wizard on older devices
    • Fix: Scan for map themes now run as background task on startup
    • Fix: Changing map source via settings being recognized after full restart only
    • Fix: Crash in \"View settings\" under certain conditions
    • Fix: Back arrow in map downloader returning to main screen
    • Fix: Avoid strange popup messages when attaching image to log
    • Fix: Possible crash on map
    • Fix: Better support for file / folder selection on Android 5 devices
    • New: Debug view for pending downloads
    • Change: Removed Pocket Query Creator from useful apps (app no longer maintained and does not work any more)
    Source code(tar.gz)
    Source code(zip)
    cgeo-release_20210520.apk(10.34 MB)
  • market_20210425(Apr 24, 2021)

  • market_20210424(Apr 24, 2021)

  • market_20210421(Apr 21, 2021)

  • market_20210415(Apr 15, 2021)

    We had to do extensive changes to the way c:geo gets access to your file system (e.g. for storing data, reading offline maps) to be prepared for requirements on new Android versions. After upgrading to this c:geo version a wizard will guide you through the needed changes. Please follow these steps carefully!
    Refer to this FAQ entry for more information.

    Map:

    • Change: Merged \"show direction\" and \"Routing mode\" settings (map quick settings popup)
    • New: Added OpenAndroMaps to map downloader (for offline map files and map themes). Alternatively you can also use the \"Install others\" links on openandromaps.org website
    • New: Added Freizeitkarte to map downloader (for offline map files and map themes)
    • New: Multi-threaded rendering for OpenStreetMap maps (optional)
    • New: Support for zipped theme files - you do not have to unzip map theme files any longer, just put the zip file into your theme folder
    • Fix: Respect \"show circles\" setting when switching from OSM map to Google map
    • Fix: Reset circle color in OSM maps on color change in settings

    Cache details:

    • Change: Renamed menu entries to distinguish between "remove cache(s) from this list" and "delete cache(s) from device", depending on currently selected list - no change in behavior
    • Change: Scale offline log images on upload only
    • New: Swipe down to refresh cache details and trackable list
    • New: Long-click on waypoint coordinates to copy them to clipboard
    • New: On navigate-drive show final with different coordinates as separate target
    • New: Include traditional chinese translation

    Other:

    • New: Set user-defined coords for waypoints on GPX import even when original waypoint has no coords
    • New: Add support for cache attributes in locus connector
    • New: Export and import UDC with empty coordinates
    • New: Add toggle to pocket query list on mainscreen to display all/downloadable pocket queries only
    • Fix: Minor bug fixes for the numbers template, when used by the Twitter plug-in
    • Fix: Adapt to website change for \"spotted by\" trackables
    • Fix: Show actual cache marker in OSM map multi-marker popup
    • Fix: Prevent adding duplicate images when using Google Photos
    • Fix: Remove \"Cancel\" from list selection to make the other items fit in one row
    • Fix: Opening GPX files from some mail clients did not offer c:geo as target app
    Source code(tar.gz)
    Source code(zip)
    cgeo-release_20210415.apk(10.17 MB)
  • market_20210214(Feb 14, 2021)

    Map:

    • Change: Use squared c:geo logo for user-defined caches
    • Change: Show routed distance only when routing mode is other than \"straight\"
    • New: Update checker for downloaded offline maps (will work only for new downloads)
    • New: Add a red crossed lines sign to archived caches\' icons
    • New: Show disabled/archived status also for waypoints
    • New: Color of location accuracy circle is configurable now
    • New: Add marker for upcoming events which you have logged a \"will attend\" for
    • Fix: Prevent exceeding max map zoom on double tap
    • Fix: Adjust map zoom on switching maps to make sure it stays within the zoom levels supported by the chosen map

    Cache details:

    • Change: New user-defined waypoints will get shorter names
    • Change: Numbering of new user-defined waypoints (except parking and final) will use a cache-wide number (instead of per-type numbering) and will include waypoints of type trailhead
    • Change: Restructured cache details menu: moved the less frequently used entries into an \"Advanced\" submenu etc., removed \"store\" and \"remove\" entries (use buttons an cache detail\'s main page for it)
    • New: Allow edit of description for user-defined caches
    • New: Auto-adjust case and filter characters for text input in waypoint calculator
    • Fix: Incorrect compass rose when turning screen while in upright mode

    Custom symbols:

    • New: Custom symbol selector offering several emojis and geometric figures
    • New / change: Custom symbols can be used for cache icons (large) and/or list markers (small)
    • Assign cache markers from Cache details ➜ Advanced ➜ Set cache icon or from Cache list ➜ Manage caches ➜ Set cache icons
    • Assign list markers the same way as today, using Cache list ➜ Manage lists ➜ Set list marker

    Other:

    • Change: Unified export dialogs. \"Share\" option can be selected after export now.
    • Change: Existing cache logs are kept/merged on importing GPX file / pocket query
    • New: Installation wizard (starting automatically on a fresh install)
    • Fix: Fixes for some website changes
    • Fix: Allow sorting when in selection mode
    • Fix: Fixed some stylings for the about pages
    • Fix: Crash on database restore in certain downgrading conditions
    Source code(tar.gz)
    Source code(zip)
    cgeo-release_20210214.apk(9.60 MB)
  • market_20210116(Jan 16, 2021)

A demo app to show how to detect screenshots taken by the user while using the app

Screenshot Detector A demo app to show how to detect screenshots taken by the user while using the app. Blog link Detect Screenshots in Android Screen

Nikit Bhandari 77 Dec 9, 2022
Quality-Tools-for-Android 7.5 0.0 L5 Java This is an Android sample app + tests that will be used to work on various project to increase the quality of the Android platform.

Quality Tools for Android This is an Android sample app + tests that will be used to work on various project to increase the quality of the Android pl

Stéphane Nicolas 1.3k Dec 27, 2022
A simple app to showcase Androids Material Design and some of the cool new cool stuff in Android Lollipop. RecyclerView, CardView, ActionBarDrawerToggle, DrawerLayout, Animations, Android Compat Design, Toolbar

#Android-LollipopShowcase This is a simple showcase to show off Android's all new Material Design and some other cool new stuff which is (new) in Andr

Mike Penz 1.8k Nov 10, 2022
A simple app to showcase Androids Material Design and some of the cool new cool stuff in Android Lollipop. RecyclerView, CardView, ActionBarDrawerToggle, DrawerLayout, Animations, Android Compat Design, Toolbar

#Android-LollipopShowcase This is a simple showcase to show off Android's all new Material Design and some other cool new stuff which is (new) in Andr

Mike Penz 1.8k Nov 10, 2022
simple android grocery app using kotlin and android studio

Project Idea The idea of this project is to make a grocery android app that users can use to order the groceries they want. It doesn't contain any bac

null 0 Nov 29, 2021
A sample Android app which showcases advanced usage of Dagger among other open source libraries.

U+2020 A sample Android app which showcases advanced usage of Dagger among other open source libraries. Watch the corresponding talk or view the slide

Jake Wharton 5.7k Dec 22, 2022
A simple notes app to demo Room + LiveData implementation in Android

RoomDb-Sample This is a demo app on how to implement Room persistance library, making use of LiveData in Android app How to implement Room: a SQLite o

Anitaa Murthy 117 Dec 23, 2022
How to apply meaningful and delightful motion in a sample Android app

Applying meaningful motion on Android How to apply meaningful and delightful motion in a sample Android app Read the complete post at https://medium.c

André Mion 167 Dec 19, 2022
Open-source telematics app for Android. The application is suitable for UBI (Usage-based insurance), shared mobility, transportation, safe driving, tracking, family trackers, drive-coach, and other driving mobile applications

TelematicsApp-Android with Firebase© integration Description This Telematics App is created by DATA MOTION PTE. LTD. and is distributed free of charge

Damoov 21 Dec 12, 2022
Android sample app following best practices: Kotlin, Compose, Coroutines and Flow, Hilt, JetPack Navigation, ViewModel, MVVM and MVI, Retrofit, Coil

Foodies - Modern Android Architecture Foodies is a sample project that presents a modern 2021 approach to Android app development. The project tries t

null 362 Jan 2, 2023
an easy to use android library to let devs know how much internet-data their app is consuming

EasyAnalytics! an easy to use android library to let developers know how much internet-data their app is consuming. We can identify this as we want ba

Sachin Rajput 13 Feb 21, 2022
App Android correspondiente al proyecto twitimer.com de la comunidad MoureDev

⏳ Twitimer Android Twitimer es una App gratuita para Android e iOS que se ha desarrollado para ayudar a usuarios de Twitch, pero sobre todo pensando e

Brais Moure 341 Jan 1, 2023
🧸 A demo Disney app using Jetpack Compose and Hilt based on modern Android tech stacks and MVVM architecture.

DisneyCompose A demo Disney app using compose and Hilt based on modern Android tech-stacks and MVVM architecture. Fetching data from the network and i

Jaewoong Eum 791 Dec 30, 2022
Android app for testing out various networking capabilities

Networking Tools Collection of handy networking tools for everyday development. Port Scanning Subnet Device Finder (discovers devices on local network

Akshat Tiwari 3 Dec 4, 2021
🔥 Android MVP with Volley usage simple registration App 🔥

?? Android MVP with Volley usage simple registration App ?? This is a MVP architecture app that uses volley .Project is made using Android Studio. Vol

ABHISHEK KUMAR PATHAK 3 Aug 7, 2022
A sample Android app that demonstrates how to use Firebase Authentication, Crashlytics, Cloud Firestore and Hilt with Jetpack Compose UI

showcase.mp4 Make it So This is a sample Android app that demonstrates how to use Firebase Authentication, Crashlytics, Cloud Firestore and Hilt with

null 107 Dec 31, 2022
Movie discovery app showcasing MVP, RxJava, Dagger 2 and Clean Architecture

MovieGuide ?? Refactoring in progress ??‍♀️ ⛏ ?? ??️ ?? ?? ?? Comments and new issues are welcome. ?? Currently not accepting external PRs that touch

Arun Sasidharan 2.6k Dec 25, 2022
[] Port of Jake Wharton's U2020 sample app with use of MVP and Dagger 2

U+2020-mvp [DEPRECATED] We recomend to try Moxy framework instead of our solution. Port of Jake Wharton's U2020 sample app with use of MVP pattern and

Live Typing 315 Nov 14, 2022
Example app for shortcuts

Android Shortcuts Example app for shortcuts in design library v25 Demo Manifest Add meta-data before </activity> tag in Manifest.xml <meta-data androi

Pamir Cevikogullari 334 Nov 29, 2022