Giter Site home page Giter Site logo

bailuk / aat Goto Github PK

View Code? Open in Web Editor NEW
147.0 15.0 40.0 16.68 MB

Another Activity Tracker for Android

Home Page: https://bailu.ch/aat

License: GNU General Public License v3.0

Shell 0.93% Java 16.65% Python 0.20% Kotlin 82.16% CSS 0.06%
aat enduser tile activity-tracker cycling android-app mapsforge openstreetmap

aat's Introduction

Build on ubuntu

Logo

AAT Another Activity Tracker

AAT is a GPS-tracking application for tracking sportive activities, with emphasis on cycling.

There is an Android and GTK variant. (The GTK variant is alpha software)

Features

  • Display live tracking on different cockpit and map views.
  • Store tracks in standard GPX format for sharing with other applications.
  • Display offline as well as tile based maps.
  • Tile based overlays for displaying cycle and hiking routes (Waymarked Trails).
  • Integration of Overpass and Nominatim.
  • Display Offline POIs from Mapsforge compatible Databases, available from OpenAndroMaps and other places.
  • Simple GPX editor for quick route planning.
  • GPS independent altitude information and hill shading from DEM3 tiles
  • Support for Bluetooth and internal sensors

Screenshot

AAT Android screenshot

More screenshots

Installation and Distribution

  • AAT for Android is available on F-Droid
  • GTK builds are available on this projects release page

Configuration and use

Compile

License

GNU GPLv3 or later

Map tiles

© OpenStreetMap, CC-BY-SA 2.0
© Waymarked Trails, CC BY-SA 3.0 DE
OpenTopoMap: © OpenStreetMap-Mitwirkende, SRTM | Kartendarstellung: © OpenTopoMap (CC-BY-SA)
OpenCycleMap: © Thunderforest, Data © OpenStreetMap contributors CC-BY-SA 2.0

Mapsforge

© Mapsforge project
license: GNU Lesser GPL v3

Digital elevation model (DEM)

DEM3 tiles are taken from viewfinderpanoramas.org and are repackaged. Most tiles are originally from the 2000 Shuttle Radar Topography Mission. See viewfinderpanoramas.org/dem3.html for details.

aat's People

Contributors

86208620 avatar arsab avatar bailuk avatar cewbdex avatar darkhamaus avatar harryheights avatar heineken avatar joppla avatar larkery avatar maxkellermann avatar rparkins999 avatar rr-vesp avatar salt-factory avatar watchingju avatar zarandya avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

aat's Issues

SecurityException: Permission Denial: requires android.permission.FORGROUND_SERVICE

I've only just discovered your app but the last version and newly released 1.14.1 both display 'SecurityException: Permission Denial: startForeground from pid=25829, uid=10149 requires android.permission.FORGROUND_SERVICE'

Android Pie (9.0) on Oneplus 3T and in the android emulator, have given permission for Location and Storage.

Thanks

BLE Cadence & Speed sensor issue

In my case the HR sensor work as expected but

the Cadence & Speed sensor state to have connected but does not show value nor record Gpx
(it is able to report data to other applications)

These does not show yet on the release note but will be nice features moving forward

Black background

Hi, could you please consider to implement a black background without gradients to the cockpit screen? That would be a useful feature for phones with an amoled display.

So more Questions about the new Version 1.16

Hello, I've been using your app for a while now, but a few things are unclear to me.

  1. if i set 1,8km/h -3s under Settings/ System autopause and otherwise keep all other profiles in the original, i always get several GPS logs when i use the pause key during a tour and not only the automatic function. This is a bit strange.

  2. you have added the new function for altitude. I know what it should be but what does this do with the APP "adjust GPS altitude"? Nothing happens with me to 99%.
    In cockpit 1, I see "height GPS" and that I can enter a manual value after typing.
    Probably my value from where I live. Thereupon the value is indicated with +/ - height with the Tracking. But why not the real value which the GPS delivers and possibly still as option with corrected NormalNull (NN) value?

  3. i can now select the internal barometer sensor (Bosch -BMP280) of my Sony Z3c but i can't see the recorded air pressure value anywhere in the cockpit? The display "pressure at sealevel [hPa]" in Settings - General/ System also shows me a completely wrong value.
    When I read the air pressure internally in the Sony readout I get the correct values which my analog barometer on the house wall also shows me.

  4. is there any hope that my Xiaomi MiFit3 tape will soon be connectable via BT and that I get the value displayed? At the moment he finds the device but cannot pair it.
    For the Mi Band I use the OpenSource App "gadgetbridge" maybe there is an interface?

Still great work, I like to use the app.


Hallo, ich benutze schon eine Weile deine App aber ein paar Dinge sind mir unklar.

  1. Wenn ich unter Einstellungen/ System autopause 1,8km/h -3s einstelle und ansonsten alle anderen Profile im Original behalte bekomme ich immer mehrere GPS logs ausgegeben, wenn ich während einer Tour doch mal die Pausetaste benutze und nicht nur die automatische Funktion nutze. Das ist etwas komisch.

  2. Du hast die neue Funktion für altitude eingebaut. Ich weiß was es eigentlich sein sollte aber was bewirkt das bei der APP "adjust GPS altitude"? Da passiert bei mir zu 99% nichts.
    Im Cockpit 1 sehe ich "höhe GPS" und das ich nach dem tippen einen manuellen Wert eingeben kann.
    Vermutlich meinen Wert vom Wohnort. Daraufhin wird der Wert beim Tracking mit +/ - Höhe angegeben. Aber wieso nicht der wirkliche Wert den das GPS liefert und evtl. noch als Option mit korrigiertem NormalNull (NN) Wert?

  3. Ich kann jetzt den internen Barometersensor (Bosch -BMP280) meines Sony Z3c auswählen aber ich sehe nirgendwo im Cockpit den erfassten Luftdruckwert? Die Anzeige "pressure at sealevel [hPa]" in Einstellungen - Allgemein/ System zeigt mir auch einen gänzlich falschen Wert an.
    Wenn ich den Luftdruck intern im Sonyauslese komme ich auf die richtigen Werte die mir auch mein analoges Barometer an der Hauswand anzeigt.

  4. Besteht die Hoffnung das demnächst mein Xiaomi MiFit3 Band via BT koppelbar ist und ich den Wert auch angezeigt bekomme? Momentan findet er das Gerät aber kann es nicht koppeln.
    Für das Mi Band nutze ich die OpenSource App "gadgetbridge" evtl. gibt es da eine Schnittstelle?

Trotzdem super Arbeit, ich nutze die App gerne.

Impossible to start recording on Lineage 15.1 (Oreo 8.1) Samsung Galaxy S7

Hello, first a huge thanks for the development of this app. It has been very useful for me since a while.

Context

Last week I changed phone for a Samsung Galaxy S7 (EU version with CPU exynos) and installed a custom ROM Lineage 15.1.
All necessary permissions have been allowed to the app as seen on the screenshots below.

Problem

When starting to record a track, an error pops up SecurityException: Neither user ID nor current process has android.permission.WAKE_LOCK.. The recording doesn't work even if the app has the "tracking" notification on.
I then need to force stop the app to come back to normal

Screenshots

screenshot_package_installer_20181001-230222
screenshot_settings_20181001-230255
screenshot_aat_20181001-230309
screenshot_aat_20181001-230326

Solution?

I found this thread on stackoverflow, but didn't manage to compile the App with the proposed solution. Do you have an idea of what is going wrong? Is the problem from my custom ROM?
Thanks for your help!

Maps vs. Overlays

I find the map selection confusing, as there are actually only two map providers: MapsForge (not working for me right now, btw.) and Mapnik. The other options are overlays in the way I understand it.
Under "Overlays" I find 4 zeros (4 slots?) and no hint what they mean. (I assume I could use a recorded track here. Right?)
Suggestion:

  1. Move all "maps" but the two actual maps to overlays.
  2. Show a message when selecting an empty overlay slot.
    Or, even better, give an option to select a track.

Wish list

Hello,
I hope this repo is active, because this seems to be the 1st issue. Looking for a replacement for MyTracks I tried AAT today. I like the style, seems to work fine and quick. Here's my feature wish-list:

  • cumulated vertical meters (I know it's tricky/arbitrary, maybe you can add vertical filter parameters to the settings)
  • calorie calculation considering vertical meters or an explanation how it's done currently
  • add openCycleMap overlay
    to be continued ...

NullPointerException

//package name: ch.bailu.aat
//version: v1.5-beta
//target sdk version: android-18
java.lang.RuntimeException: Unable to start activity ComponentInfo{ch.bailu.aat.debug/ch.bailu.aat.activities.MainActivity}: java.lang.NullPointerException
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2211)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2261)
at android.app.ActivityThread.access$600(ActivityThread.java:141)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1256)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:137)
at android.app.ActivityThread.main(ActivityThread.java:5103)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:525)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:737)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:553)
at dalvik.system.NativeStart.main(Native Method)
Caused by: java.lang.NullPointerException
at ch.bailu.aat.preferences.SolidDirectory.canWrite(SolidDirectory.java:37)
at ch.bailu.aat.preferences.SolidDirectory.add(SolidDirectory.java:30)
at ch.bailu.aat.preferences.SolidDirectory.add(SolidDirectory.java:25)
at ch.bailu.aat.preferences.SolidDataDirectory.buildSelection(SolidDataDirectory.java:63)
at ch.bailu.aat.preferences.SolidDataDirectory.getDefaultValue(SolidDataDirectory.java:46)
at ch.bailu.aat.preferences.SolidDataDirectory.getValueAsString(SolidDataDirectory.java:31)
at ch.bailu.aat.helpers.AppDirectory.getDataDirectory(AppDirectory.java:29)
at ch.bailu.aat.helpers.AppDirectory.getTrackListDirectory(AppDirectory.java:121)
at ch.bailu.aat.preferences.SolidPreset.getDirectory(SolidPreset.java:59)
at ch.bailu.aat.preferences.SolidPreset.getDirectoryName(SolidPreset.java:64)
at ch.bailu.aat.activities.MainActivity$PresetDirectoryLabel.setText(MainActivity.java:134)
at ch.bailu.aat.activities.MainActivity$PresetDirectoryLabel.(MainActivity.java:130)
at ch.bailu.aat.activities.MainActivity.labelFactory(MainActivity.java:93)
at ch.bailu.aat.activities.MainActivity.createActionList(MainActivity.java:60)
at ch.bailu.aat.activities.MainActivity.createViews(MainActivity.java:47)
at ch.bailu.aat.activities.MainActivity.onCreate(MainActivity.java:37)
at android.app.Activity.performCreate(Activity.java:5133)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1087)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2175)

Feature request: Average speed while moving

Hey there!
I have another wish:
Please add/change the calculation of average speed while moving = distance/(time - pause)
The number will look better ;-). This is also what a bike computer usually displays.

Map is empty

Hi there,

I've installed AAT 0.8 alpha through F-Droid on Cyanogenmod 10. The maps stay empty with no tiles showing. I've followed osmdroid's help on downloading an atlas of tiles and placing it in the osmdroid tiles directory in AAT's settings, but to no effect.

What should I do to get AAT to display tiles on the map?

Tracker doesn't start because of an android.permission issue

After updating to AAT v1.14, I get this error each time I try to start the tracker :
SecurityException: Neither user 10138 nor current process has android.permission.WAKE_LOCK.

I had to revert to v1.13 for the time being. I am on LineageOS 15.1 - Android 8.1.0

No map on samsung sm-g313h

Hi!

I'm using 1.0 beta version of your app, and i like it very much.

Though, there is no map shown in app, but there are files in tile cache directory: /storage/emulated/0/aat_data/tiles/Mapnik/11/ there are two subdirs 1195 and 1196 with 2 files in each.

Phone samsung sm-g313h, android 4.4.2

If it's possible -- one suggestion for feature: add way to precache map tiles for imported track up to some detail level. It can be used while going to forest ride where is poor or no internet connection at all.

Improve F-Droid listing

I've seen this app on F-Droid, but it lacks screenshots, changelog and a translatable description there. It's pretty easy for you to add these information. Please have a look at this example or at the F-Droid docs or fastlane docs.
After you have commited these files to your repo and tagged a new version, you need to remove the Description and Summary from the metadata file in the F-Droid Data repo.

Add introduction

Hello,

Tbh, i have no clue how this app works or what the arrows do. I'm usally not that helpless but this is not intuitive at all. or something is wrong.

I started tracking, waited for the GPS-lock and was cycling, finished it with stop and now i can review my last ride. What i experienced:

General:

  • On the right top "Tracker" i can start tracking and pause it. I cannot stop it, for example via longpressing.

Menu:

  • Start/Stop, Pause, change the card-style, choose overlays (4 squares with 0 behind?), a nominatim search (i suppose thats the simple navigation tool - not tested) and display settings.

Arrows:

  • Right arrow in overview does show stats of the last ride (well, not now anymore for some reason shrug).

  • Arrow down changes from overview to a card(last ride?)

  • From the second arrow down card the arrow right shows the last ride with the stats on bottom.

  • Fullscreen card - there is no right arrow.

  • another tap the down arrow brings me to another card (only difference is fullscreen?)

  • and another one brings me back to the overview.

But HOW do i review my last rides? No clue at all. I'm using a OnePlus3 with LineageOS15.1 (Android 8.1) and if needed i can provide logcat and/or screenshots. Or i'm just missing something crucial 🗡️

Greets

Need more slots

I happily use AAT for tracking my trips hiking/jogging, on road/mountain/trekking bike, canoe, on ice/inline skates, on cross country/randonnée/downhill skis. I keep them sorted by labeling, but I'd prefer having an activity slot for each one.
I know I sound a little hyperactive. It's a tough life :-)
Is there any chance we could have more than the current 5 activity slots?

Wrong tracked activity when GPS signal is lost

Hello, I am using your application to track my running sessions and I noticed that if the GPS signal gets lost during the session (e.g going in a tunnel), the tracked activity is wrongly recorded. AAT seems to only record the time passed when the GPS signal was lost and with an erratic path.
Is there a fix for this ?

[feature request]: Voice prompts (TTS-synthesized ) reminder when AAT start logging

Sometimes I forget to set everything right before my ride for AAT to log it ( GPS, switch between A- and Pause in AAT UI ) if it's not too much work it'd be great to have a reminder that says something the first time we cross the threshold ( example in Activity 1 > Set tracker to autopause > < ?,??km/h - ?s ) for AAT to record, so when I have my earplugs on, not hearing that will lead me to think I forgot something and set it right...

Additional Sensors via ANT+/Bluetooth LE

Hello,

as stated here [1] I'll open a new feature request which might be interesting for this app.

Some commercial products (Strava, Wahoo) already implemented the use of additional sensors for cadence, speed and heart rate. These data is interesting not only for road bike training and require additional tools (like these [2]) which are paired over Bluetooth LE/Smart [3] or ANT/ANT+ [4]. Many smartphones already support these technologies, if not USB dongles can be used.

Sadly I'm not used to develop apps, or knowing much about licensing, but maybe this page [5] can help with research on how to implement it.

Cheers

[1] #6 (comment)
[2] https://eu.wahoofitness.com/devices/bike-sensors
[3] https://en.wikipedia.org/wiki/Bluetooth_Low_Energy
[4] https://en.wikipedia.org/wiki/ANT%2B
[5] https://www.thisisant.com/developer/ant/ant-in-android

Tracker does not start

Hello,
I used aat 'track your activities' version 1.9 beta on android 7.1.1 device before, now version 1.10 beta.
When I start the tracker, it seems not to start in fact. There is no tracked route in the map, no distance is tracked and timer does not start. The actual position, velocity and altitude are displayed.
Stopping and restarting the tracker does not help.
I deleted and reinstalled aat app some times, but that does not help, too.

Any ideas, what I can do to start tracker correctly?
Need more information to this issue?

Gandogar

Local instead of UTC time written to GPX

Thanks for this great app, I've found it quite reliable in general compared to other trackers! :) I've just recently noticed when I uploaded an activity to Strava, that the time is one hour off. I've looked at the .gpx file, and this was the original file:


	<trkpt lat="52.208421" lon="0.154026"><ele>58</ele><time>2017-07-29T17:26:05.644</time></trkpt>

When I downloaded the GPX from Strava, I got this:


   <trkpt lat="52.2084210" lon="0.1540260">
    <ele>11.6</ele>
    <time>2017-07-29T17:26:05Z</time>
   </trkpt>

So it seems from the Z at the end of the time string, that Strava interpreted the (UTC+1) local time as UTC.

wrong date

Hi there

It seems the GPS week number rollover is not fixed on the app? GPS timestamp is out of order, displays Nov '99 , also under the the Fix GPS time , I see a message that "GPS timeMillis differs 172032 hours from system timeMillis"

Document advanced setting options

There are a few options under Activity settings that could use some explanation (e.g. what is it used for, what do the values mean), since their meaning/use is not intuitive to someone (like me) who has no experience with tracking/mapping and GPS:

  • Distance filter

  • Accuracy filter

  • Missing trigger

Even having explanations for these in the readme would be sufficient, though ideally there would be some sort of help tooltip in the app itself.

logo design proposal

Hi there, I designed a logo for AAT application. I hope you will like it. In case you like, I can send the logo files in the format you want. You can choose whatever you like in black and white.

aat2

aat32

logotype

Lint Error: Missing/Extra Translation

Compiling the latest beta fails because of missing/extra translations. Either fix those or disable linterrors for those types.

:app:lintVitalRelease/home/krt/src/fdroiddata/build/ch.bailu.aat/app/src/main/res/values/generated.xml:3: Error: "README.about.html" is not translated in "de" (German) [MissingTranslation]
<string name="README.about.html"><!-- This resource is autogenerated by htmlAsResource.bash -->
        ~~~~~~~~~~~~~~~~~~~~~~~~
/home/krt/src/fdroiddata/build/ch.bailu.aat/app/src/main/res/values/generated.xml:30: Error: "README.enduser.html" is not translated in "de" (German) [MissingTranslation]
<string name="README.enduser.html"><!-- This resource is autogenerated by htmlAsResource.bash -->
        ~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/krt/src/fdroiddata/build/ch.bailu.aat/app/src/main/res/values/strings.xml:9: Error: "enter" is not translated in "de" (German) [MissingTranslation]
    <string name="enter">Enter...</string>
            ~~~~~~~~~~~~
/home/krt/src/fdroiddata/build/ch.bailu.aat/app/src/main/res/values/strings.xml:28: Error: "label_summary" is not translated in "de" (German) [MissingTranslation]
    <string name="label_summary">Summary</string>
            ~~~~~~~~~~~~~~~~~~~~
/home/krt/src/fdroiddata/build/ch.bailu.aat/app/src/main/res/values/strings.xml:29: Error: "label_filter" is not translated in "de" (German) [MissingTranslation]
    <string name="label_filter">Filter</string>
            ~~~~~~~~~~~~~~~~~~~
/home/krt/src/fdroiddata/build/ch.bailu.aat/app/src/main/res/values/strings.xml:30: Error: "label_list" is not translated in "de" (German) [MissingTranslation]
    <string name="label_list">List</string>
            ~~~~~~~~~~~~~~~~~
/home/krt/src/fdroiddata/build/ch.bailu.aat/app/src/main/res/values/strings.xml:37: Error: "gps_lock" is not translated in "de" (German) [MissingTranslation]
    <string name="gps_lock">Lock</string>
            ~~~~~~~~~~~~~~~
/home/krt/src/fdroiddata/build/ch.bailu.aat/app/src/main/res/values/strings.xml:39: Error: "tracker" is not translated in "de" (German) [MissingTranslation]
    <string name="tracker">Tracker</string>
            ~~~~~~~~~~~~~~
/home/krt/src/fdroiddata/build/ch.bailu.aat/app/src/main/res/values/strings.xml:44: Error: "tracker_restore" is not translated in "de" (German) [MissingTranslation]
    <string name="tracker_restore">Restore track</string>
            ~~~~~~~~~~~~~~~~~~~~~~
/home/krt/src/fdroiddata/build/ch.bailu.aat/app/src/main/res/values/strings.xml:64: Error: "p_tiles" is not translated in "de" (German) [MissingTranslation]
    <string name="p_tiles">Map Tiles</string>
            ~~~~~~~~~~~~~~
/home/krt/src/fdroiddata/build/ch.bailu.aat/app/src/main/res/values/strings.xml:65: Error: "p_trim_mode" is not translated in "de" (German) [MissingTranslation]
    <string name="p_trim_mode">Trim mode</string>
            ~~~~~~~~~~~~~~~~~~
/home/krt/src/fdroiddata/build/ch.bailu.aat/app/src/main/res/values/strings.xml:66: Error: "p_trim_size" is not translated in "de" (German) [MissingTranslation]
    <string name="p_trim_size">Trim size</string>
            ~~~~~~~~~~~~~~~~~~
/home/krt/src/fdroiddata/build/ch.bailu.aat/app/src/main/res/values/strings.xml:67: Error: "p_trim_age" is not translated in "de" (German) [MissingTranslation]
    <string name="p_trim_age">Trim age</string>
            ~~~~~~~~~~~~~~~~~
/home/krt/src/fdroiddata/build/ch.bailu.aat/app/src/main/res/values/strings.xml:68: Error: "p_trim_month" is not translated in "de" (German) [MissingTranslation]
    <string name="p_trim_month">Month</string>
            ~~~~~~~~~~~~~~~~~~~
/home/krt/src/fdroiddata/build/ch.bailu.aat/app/src/main/res/values/strings.xml:69: Error: "p_trim_months" is not translated in "de" (German) [MissingTranslation]
    <string name="p_trim_months">Months</string>
            ~~~~~~~~~~~~~~~~~~~~
/home/krt/src/fdroiddata/build/ch.bailu.aat/app/src/main/res/values/strings.xml:70: Error: "p_trim_year" is not translated in "de" (German) [MissingTranslation]
    <string name="p_trim_year">Year</string>
            ~~~~~~~~~~~~~~~~~~
/home/krt/src/fdroiddata/build/ch.bailu.aat/app/src/main/res/values/strings.xml:71: Error: "p_trim_years" is not translated in "de" (German) [MissingTranslation]
    <string name="p_trim_years">Years</string>
            ~~~~~~~~~~~~~~~~~~~
/home/krt/src/fdroiddata/build/ch.bailu.aat/app/src/main/res/values/strings.xml:72: Error: "p_trim_days" is not translated in "de" (German) [MissingTranslation]
    <string name="p_trim_days">Days</string>
            ~~~~~~~~~~~~~~~~~~
/home/krt/src/fdroiddata/build/ch.bailu.aat/app/src/main/res/values/strings.xml:73: Error: "p_trim_total" is not translated in "de" (German) [MissingTranslation]
    <string name="p_trim_total">Total</string>
            ~~~~~~~~~~~~~~~~~~~
/home/krt/src/fdroiddata/build/ch.bailu.aat/app/src/main/res/values/strings.xml:75: Error: "p_trim_modes" is not translated in "de" (German) [MissingTranslation]
    <string-array name="p_trim_modes">
                  ~~~~~~~~~~~~~~~~~~~
/home/krt/src/fdroiddata/build/ch.bailu.aat/app/src/main/res/values/strings.xml:145: Error: "p_location_gps" is not translated in "de" (German) [MissingTranslation]
    <string name="p_location_gps">System GPS</string>
            ~~~~~~~~~~~~~~~~~~~~~
/home/krt/src/fdroiddata/build/ch.bailu.aat/app/src/main/res/values/strings.xml:146: Error: "p_location_mock" is not translated in "de" (German) [MissingTranslation]
    <string name="p_location_mock">Mock location</string>
            ~~~~~~~~~~~~~~~~~~~~~~
/home/krt/src/fdroiddata/build/ch.bailu.aat/app/src/main/res/values/strings.xml:147: Error: "p_location_old" is not translated in "de" (German) [MissingTranslation]
    <string name="p_location_old">Old location</string>
            ~~~~~~~~~~~~~~~~~~~~~
/home/krt/src/fdroiddata/build/ch.bailu.aat/app/src/main/res/values/strings.xml:160: Error: "location_title" is not translated in "de" (German) [MissingTranslation]
    <string name="location_title">Center location</string>
            ~~~~~~~~~~~~~~~~~~~~~

   Explanation for issues of type "MissingTranslation":
   If an application has more than one locale, then all the strings declared
   in one language should also be translated in all other languages.

   If the string should not be translated, you can add the attribute
   translatable="false" on the <string> element, or you can define all your
   non-translatable strings in a resource file called donottranslate.xml. Or,
   you can ignore the issue with a tools:ignore="MissingTranslation"
   attribute.

   By default this detector allows regions of a language to just provide a
   subset of the strings and fall back to the standard language strings. You
   can require all regions to provide a full translation by setting the
   environment variable ANDROID_LINT_COMPLETE_REGIONS.

   You can tell lint (and other tools) which language is the default language
   in your res/values/ folder by specifying tools:locale="languageCode" for
   the root <resources> element in your resource file. (The tools prefix
   refers to the namespace declaration http://schemas.android.com/tools.)

/home/krt/src/fdroiddata/build/ch.bailu.aat/app/src/main/res/values-de/strings.xml:165: Error: "filter_geo_update" is translated here but not found in default locale [ExtraTranslation]
    <string name="filter_geo_update">Bereich aus Karte verwenden</string>
            ~~~~~~~~~~~~~~~~~~~~~~~~

   Explanation for issues of type "ExtraTranslation":
   If a string appears in a specific language translation file, but there is
   no corresponding string in the default locale, then this string is probably
   unused. (It's technically possible that your application is only intended
   to run in a specific locale, but it's still a good idea to provide a
   fallback.).

   Note that these strings can lead to crashes if the string is looked up on
   any locale not providing a translation, so it's important to clean them
   up.

25 errors, 0 warnings
 FAILED

ServiceNotUpError: Service 'OneService' is not running.*

//package name: ch.bailu.aat
//version: v1.7-beta
//target sdk version: android-18
ch.bailu.aat.services.ServiceLink$ServiceNotUpError: Service 'OneService' is not running.*
at ch.bailu.aat.services.ServiceLink.getService(ServiceLink.java:137)
at ch.bailu.aat.services.ServiceLink.getTrackerService(ServiceLink.java:183)
at ch.bailu.aat.menus.OptionsMenu.prepare(OptionsMenu.java:63)
at ch.bailu.aat.activities.AbsMenu.onPrepareOptionsMenu(AbsMenu.java:32)
at android.app.Activity.onPreparePanel(Activity.java:2522)
at com.android.internal.policy.impl.PhoneWindow.preparePanel(PhoneWindow.java:441)
at com.android.internal.policy.impl.PhoneWindow.onKeyDownPanel(PhoneWindow.java:795)
at com.android.internal.policy.impl.PhoneWindow.onKeyDown(PhoneWindow.java:1471)
at com.android.internal.policy.impl.PhoneWindow$DecorView.dispatchKeyEvent(PhoneWindow.java:1867)
at android.view.ViewRootImpl$ViewPostImeInputStage.processKeyEvent(ViewRootImpl.java:3791)
at android.view.ViewRootImpl$ViewPostImeInputStage.onProcess(ViewRootImpl.java:3774)
at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:3379)
at android.view.ViewRootImpl$InputStage.onDeliverToNext(ViewRootImpl.java:3429)
at android.view.ViewRootImpl$InputStage.forward(ViewRootImpl.java:3398)
at android.view.ViewRootImpl$AsyncInputStage.forward(ViewRootImpl.java:3483)
at android.view.ViewRootImpl$InputStage.apply(ViewRootImpl.java:3406)
at android.view.ViewRootImpl$AsyncInputStage.apply(ViewRootImpl.java:3540)
at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:3379)
at android.view.ViewRootImpl$InputStage.onDeliverToNext(ViewRootImpl.java:3429)
at android.view.ViewRootImpl$InputStage.forward(ViewRootImpl.java:3398)
at android.view.ViewRootImpl$InputStage.apply(ViewRootImpl.java:3406)
at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:3379)
at android.view.ViewRootImpl$InputStage.onDeliverToNext(ViewRootImpl.java:3429)
at android.view.ViewRootImpl$InputStage.forward(ViewRootImpl.java:3398)
at android.view.ViewRootImpl$AsyncInputStage.forward(ViewRootImpl.java:3516)
at android.view.ViewRootImpl$ImeInputStage.onFinishedInputEvent(ViewRootImpl.java:3666)
at android.view.inputmethod.InputMethodManager$PendingEvent.run(InputMethodManager.java:1982)
at android.view.inputmethod.InputMethodManager.invokeFinishedInputEventCallback(InputMethodManager.java:1698)
at android.view.inputmethod.InputMethodManager.finishedInputEvent(InputMethodManager.java:1689)
at android.view.inputmethod.InputMethodManager$ImeInputEventSender.onInputEventFinished(InputMethodManager.java:1959)
at android.view.InputEventSender.dispatchInputEventFinished(InputEventSender.java:141)
at android.os.MessageQueue.nativePollOnce(Native Method)
at android.os.MessageQueue.next(MessageQueue.java:132)
at android.os.Looper.loop(Looper.java:124)
at android.app.ActivityThread.main(ActivityThread.java:5103)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:525)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:737)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:553)
at dalvik.system.NativeStart.main(Native Method)

MapFileException: file does not exist: /storage/C973-F26F/maps/berlin.map

//package name: ch.bailu.aat
//version: v1.6-beta
//target sdk version: android-18
java.lang.RuntimeException: Unable to start activity ComponentInfo{ch.bailu.aat.debug/ch.bailu.aat.activities.TestActivity}: org.mapsforge.map.reader.header.MapFileException: file does not exist: /storage/C973-F26F/maps/berlin.map
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2211)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2261)
at android.app.ActivityThread.access$600(ActivityThread.java:141)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1256)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:137)
at android.app.ActivityThread.main(ActivityThread.java:5103)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:525)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:737)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:553)
at dalvik.system.NativeStart.main(Native Method)
Caused by: org.mapsforge.map.reader.header.MapFileException: file does not exist: /storage/C973-F26F/maps/berlin.map
at org.mapsforge.map.reader.MapFile.(MapFile.java:245)
at org.mapsforge.map.reader.MapFile.(MapFile.java:207)
at ch.bailu.aat.activities.TestActivity.createMultiView(TestActivity.java:172)
at ch.bailu.aat.activities.TestActivity.onCreate(TestActivity.java:86)
at android.app.Activity.performCreate(Activity.java:5133)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1087)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2175)

Invalid GPX file after updating to last version

First of all congrats for such a nice app for Android. Thanks for your work!!

After the last update, every time I track a new route and generate a .gpx file, it appears corrupt. I have to edit those files to fix the problem.

I compared current .gpx files with old ones I have and I see that now it records latitude and longitude with decimal format separated by a comma instead of a dot char. For example, latitude is recorded as lat="39,462721", when it should be lat="39.462721".

Speed plot: Legend and Colors

I have three curves in the velocity diagram.

  1. The grey one is hardly visible on the grey background.
  2. There is no legend. I assume the smoother ones are moving averages, right? That should be explained somewhere.
  3. Does the average including or exclude pauses?

Add Privacy Policy

Hello, I'm Harry. I engage in creating documents for open source projects. It's part of my contribution in helping open source projects. One of the documents I engage in creating is a privacy policy. The privacy policy will give details about user information collection, use and security. I really don't know if you externally collect user information, but, if you don't, it's good to let end users know via a privacy policy. Most users are skeptical about location apps because they feel their location information is no longer private. I'll love to hear your thoughts on this.

Labelling

There are some feature mysterious to me:

  1. Nominatim: Googling taught me it's OSM's geocoding search engine. Maybe name it "search map" or something self-explaining?
  2. What does "Screen off/dark/bright" do?
  3. What is the difference between Cockpit A and B?

Ability to export GPx to Strava

Thanks,
Very practical and apreciate also much new BLE features.

Just one point: I can not export directly the GPX file to Strava unless loosing HR record.
need to change it manually in editor prior to export.

Sans titre

AAT stopped few days after an upgrade, blank screen and a crash

Hi, few days ago I've updated AAT to the most recent version. It worked fine for several days, but today every time (I tried at least five times, also twice restarting the phone) I tried launching the application, all I get is a blank black screen and, after about 20 seconds a message stating that the application stopped. I do see that it turns on the GPS sensor (I see its icon showing up on the status bar right after starting AAT and disappearing when it crashes).

Logcat Reader shows several warnings on "unknown permissions" for ch.bailu.aat: BODY_SENSORS, FOREGROUND_SERVICE, a "Timeout executing service: ServiceRecord{420378a8 u0 ch.bailu.aat/.services.OneService}", an ANR for the same service. I'd paste the exact logs, but I don't have means for that right now—I'll try doing so in the next few days.

This is Moto G 1st edition (falcon) running LineageOS 11 (Android 4.4.4). AAT was installed from F-Droid.

Use of phone's barometer for altitude

I think the app only uses GPS to determine altitude ? Is it possible to add the use of the barometer, which is much more precise to calculate total ascend and descend ? And the most would be the possibility to calibrate altitude before start.
In my case, I have errors of about 70 meters on altitudes, and not really constant.

What does Autopause do?

  1. What does "1.8 km/h -3" mean?
  2. When is Autopause applied? During recording or during postprocessing? The latter would make sense to me, but a quick test did not confirm that.
  3. Btw, if the App is in German, it should be "1,8 km/h ...". And "Distance filter" -> "Distanzfilter" or even better something explaining the meaning.

Permission Denial android.permission.FORGROUND_SERVICE

Not sure if related. I've only just discovered your app but the last version and newly released 1.14.1 both display 'SecurityException: Permission Denial: startForeground from pid=25829, uid=10149 requires android.permission.FORGROUND_SERVICE'
Android Pie (9.0) on Oneplus 3T and in the android emulator.

Originally posted by @moneyninja in #30 (comment)

Close app only via Task Manager

After starting AAT without tracking, my GPS is not turned off until I kill AAT in the task manager.
GPS is a potentially unwanted battery drain. Is that the intended behaviour?
Expected behaviour:
Sending AAT to the background deactivates GPS unless tracking is active.
OR
Repeatedly pressing back eventually closes the app and switches off GPS.

Remove gpx tracks from overlays slot

Hello, thanks for this application. I use it every time for my sports activities.

However, I try to play with the overlay feature. Now I have two gpx tracks as overlays in the overlay slots. On every recorded track I can see this overlays on my recorded activities.

How can I remove the gpx tracks from the overlay slots?

How to change data directory?

How am I supposed to change the displayed data directory?
As AAT seems to handle my existing gpx files just fine I'd like to use the same directory as the other app. How can I do it? The folder button right next to the path under settings doesn't let me pick a folder (expected behaviour for this symbol) but let's me browse for ... I don't know what. There's no accept/select/OK button.

NullPointerException when checking MapsForge and Mapnik for Map

Hi bailuk,

Thanks for this great software. (v1.10-beta on Lineage OS 14.1)
I found a minor issue that made me stumble at first, which might happen to other users. I could not see any map, so I checked the check box for Mapnik in addition to Mapsforge. I saw a map then, but each time I wanted to see the details for a track, AAT stopped.
Simple workaround: uncheck either one of the two tile services.
Below is a typical log that shows what happens.

Best regards and a happy new year!

12-27 19:14:56.442 959 986 I ActivityManager: Start proc 9714:ch.bailu.aat/u0a155 for service ch.bailu.aat/.services.OneService
12-27 19:16:22.373 959 4342 I ActivityManager: START u0 {act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] flg=0x10300000 cmp=ch.bailu.aat/.activities.MainActivity bnds=[169,581][325,737] (has extras)} from uid 10035 on display 0
12-27 19:16:25.381 959 3164 I ActivityManager: START u0 {act=ch.bailu.aat.activities.TrackListActivity flg=0x4000000 cmp=ch.bailu.aat/.activities.TrackListActivity (has extras)} from uid 10155 on display 0
12-27 19:16:25.793 9714 9833 E AndroidRuntime: Process: ch.bailu.aat, PID: 9714
12-27 19:16:25.793 9714 9833 E AndroidRuntime: java.lang.NullPointerException: Attempt to invoke virtual method 'boolean ch.bailu.aat.services.render.Renderer.supportsTile(org.mapsforge.core.model.Tile)' on a null object reference
12-27 19:16:25.793 9714 9833 E AndroidRuntime: at ch.bailu.aat.services.render.Configuration.supportsTile(Configuration.java:66)
12-27 19:16:25.793 9714 9833 E AndroidRuntime: at ch.bailu.aat.services.render.RenderService.supportsTile(RenderService.java:87)
12-27 19:16:25.793 9714 9833 E AndroidRuntime: at ch.bailu.aat.map.tile.source.DoubleSource.decide(DoubleSource.java:43)
12-27 19:16:25.793 9714 9833 E AndroidRuntime: at ch.bailu.aat.map.tile.source.DoubleSource.getID(DoubleSource.java:34)
12-27 19:16:25.793 9714 9833 E AndroidRuntime: at ch.bailu.aat.map.tile.TileProvider.getTileHandleLevel2(TileProvider.java:164)
12-27 19:16:25.793 9714 9833 E AndroidRuntime: at ch.bailu.aat.map.tile.TileProvider.getTileHandle(TileProvider.java:152)
12-27 19:16:25.793 9714 9833 E AndroidRuntime: at ch.bailu.aat.map.tile.TileProvider.get(TileProvider.java:69)
12-27 19:16:25.793 9714 9833 E AndroidRuntime: at ch.bailu.aat.map.tile.TileProvider.preload(TileProvider.java:63)
12-27 19:16:25.793 9714 9833 E AndroidRuntime: at ch.bailu.aat.map.mapsforge.MapsForgeTileLayer.draw(MapsForgeTileLayer.java:72)
12-27 19:16:25.793 9714 9833 E AndroidRuntime: at ch.bailu.aat.map.mapsforge.MapsForgeTileLayer.draw(MapsForgeTileLayer.java:55)
12-27 19:16:25.793 9714 9833 E AndroidRuntime: at ch.bailu.aat.map.mapsforge.MapsForgeTileLayerStack$SubLayers.draw(MapsForgeTileLayerStack.java:160)
12-27 19:16:25.793 9714 9833 E AndroidRuntime: at ch.bailu.aat.map.mapsforge.MapsForgeTileLayerStack.draw(MapsForgeTileLayerStack.java:78)
12-27 19:16:25.795 959 4352 W ActivityManager: Force finishing activity ch.bailu.aat/.activities.TrackListActivity
12-27 19:16:25.800 959 4352 W ActivityManager: Force finishing activity ch.bailu.aat/.activities.MainActivity
12-27 19:16:25.855 959 3435 I WindowManager: WIN DEATH: Window{cd3ad5e u0 ch.bailu.aat/ch.bailu.aat.activities.TrackListActivity}
12-27 19:16:25.856 959 4347 I ActivityManager: Process ch.bailu.aat (pid 9714) has died

Set data recording frequency

As I understand, the log adds a data line every second in the gpx file.
I'd like to be able to chose between "every second"(by default), "every 10 second" or "every minute", if I want a lower precision/file sise.

Sensor doesn't work with my Samsung A5 and Mi Band 3

Hello, I just found this nice app, but sensors doesn't work on my Samsung A5 2016.
The internal samsung step counters and my mi band 3 heart rate sensor are detected through the app, but I have no BPM or RPM:
Thanks for your support!

BLE Reconnect

When connection is lost with BLE sensor temporarly (e.g. increase distance and come back)
we need to reconnect through user interfaces.

Would it make sense to reconnect through a periodic audit.
e.g. periodically recall "updateConnections()" ? and how ?
or detect loss and re trigger ?

Searching the search button

I just tried to use the map search and I have no clue how that is supposed to work.
I can type in something in a huge text box. Hitting return gives me a new line. Nice.
I can tap the three lines and go again to map search. Nice.
The reflection icon does something in my file system. Awesome.
"Use as Overlay" probably does something too. Cool.
"Save a copy"...
"To Clipboard"
Maybe "Send" sends the search query!!! Nope.
The paintbrush? What will it paint? ..... Ah. It's a broom. There goes my search string.
Nothing else to tap on.

Improvements, one important

Hi,

nice light-weight app! Two additional features would improve it further:

  1. enable map zooming via volume (hard)keys.
  2. Important: Mapsforge themes like Elevate from Openandromaps have options which elements to display. A selection dialog is necessary (see e.g. Oruxmaps as example).

So far the best open-source app to use with openandromaps!

Best
Bernd

GPS still active after stopping the tracking

Hello,

I've installed v0.9-alpha of your app via F-Droid. For an alpha, I'm pretty happy about it. It does what I want it to do :)

Unfortunatly, sometimes, after I've explicitly stopped the tracking with the «Stop» button and leave the application (at least, put it in the background), the GPS is still on, dragging down my battery.

I've to kill the application to stop it. I'm using a Samsung Galaxy S3 with Android 4.4.2

Thanks

Galaxy S9 not working

Hi, the tracker does start, but time doesn't start counting and nothing occurs... Using version 1.15 from F-Droid.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.