Giter Site home page Giter Site logo

osmtracker-android's People

Contributors

adam3497 avatar andrew659 avatar andrzej-bieniek avatar aton1698 avatar damndog avatar dbrgn avatar dittaeva avatar emmanuelab avatar floscher avatar gkaklas avatar haggaie avatar icrf2000 avatar illarionov avatar jakobmoellers avatar jamescr avatar jameswestman avatar jdmonin avatar maglnet avatar naoliv avatar nguillaumin avatar ocramleznem avatar pshiryaev avatar suborbitalpigeon avatar xsaco07 avatar zdila 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  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

osmtracker-android's Issues

Upload failure on Marshmallow

When I touch the button to upload a track to Openstreetmap, the app instead performs an address search and then shows the map at 0.00 lat by 0.00 long. I am using an SGS 7 Edge running Marshmallow.

Tasker Support

Would love to be able to kick this off using tasker. Any plans to add support?

Pressing a headset media button should start recording voice

Feature request: The app should have this configurable (!) feature:

When a media button of a connected bluetooth headset device is pressed, the app should start voice recording (for the configured time or until the button is pressed again), preferable using the microphone of the headset. (This seems to work already on a wired headset, but not with bluetooth.)

From efforts made by the authors of osmand I know that this is tricky: Different bluetooth headsets cause different intends in different moments; thus the app must be configurable in a way that allows to switch this feature off (which should be the default) and to select the signals to react to.

The feature itself will be very useful when mapping by car or bike in countries where you are not allowed to touch a smartphone while driving.

Feature Request: Deleting Waypoints

Hello,

First of all, thank you for your work! I'm trying to use this app to track my university campus indoors.

Here's my question: I noticed that more than once, I added waypoints by accident. After that, I tried to delete them from the Waypoint List. However, I couldn't find an option to do so. I could export the GPX and delete it manually, but I was wondering if we could have that feature in the user interface? Or perhaps I am missing something.

Either way, thank you in advance.

Upload photos to Flickr

I would like to have a way to automatically upload the photos associated with a track to Flickr, with whatever tags are necessary (in both Flickr and OSM) for the photos to be linked to specific spots in the specific tracks. I would like to be able to specify, for the Flickr upload, a set to put the photos into in my personal account, and also an option to add them to the OpenStreetMap group.

Support offline OSM maps

I'm mapping my location for osm and unfortunately i dont have a data connection outside of wifi at home and the best that i can do would be to download my location's osm data for offline rendering on osmand and use its trip recording plugin, but after discovering osmtracker, i want to use it instead, but unfortunately it doesnt have offline rendering of osm data, so i'd like to suggest that it could be integrated by using the mapsforge library, which is used by many android osm apps.

https://github.com/mapsforge/mapsforge

Unable to upload to OSM

temp

OSM tracker v0.611 Android 4.4.2

I am unable to upload to OSM directly from Osmtracker.
Is there a log somewhere I should look for more details of the problem shown in the attached screenshot? If not any advice please?

resource leak: database cursor not closed

Dear developers,

I found two potential leaks of database cursor in your code.

(1) In the method private void manageNewStoragePath(SQLiteDatabase db) of DatabaseHelper class at line 203 and 234:

https://github.com/nguillaumin/osmtracker-android/blob/master/app/src/main/java/me/guillaumin/android/osmtracker/db/DatabaseHelper.java

If the cursor is empty (no rows), it will not be closed as in the code only when moveToFirst() returns true (non-empty cursors), the cursor.close() statement at line 234 will execute.

(2) In the public static File getTrackDirFromDB(ContentResolver cr, long trackId) of DataHelper class at line 341:

https://github.com/nguillaumin/osmtracker-android/blob/master/app/src/main/java/me/guillaumin/android/osmtracker/db/DataHelper.java

if (c != null && c.getCount() != 0) {
            c.moveToFirst();
            @SuppressWarnings("deprecation")
            String trackPath = c.getString(c.getColumnIndex(Schema.COL_DIR));
            if (trackPath != null) {
                trackDir = new File(trackPath);
            }
            c.close();
            c = null;
        }

In the above code, if the cursor is empty (getCount() == 0), the cursor will be not closed.

Emulated vs. real (SD card) external storage path

I use a Sony Xperia Tablet for tracking. It runs currently Android 5.0.2.
When I set a custom path it always stores in the /sdcard path (emulated SD card in internal memory) and not on /sdcard1 which is the external/additional actual SD card.
So if I put a path /sdcard1/osmtracker in the settings it acutally stores the data then in /sdcard/sdcard1/osmtracker. (took me some time to find my tracked data...)
Is there any way to enable OSMtracker to write on the acutal SD card?
((On my (rooted) smartphone running Android 4.1.2 this is no issue... but this device is not my main tracking device due to age, accuracy and speed.))
Also I think it would be a good thing to be able to set the path by browsing to the desired directory than needing to type in the path. Then OSMtracker maybe should check if it can actually access the desired path.

Contribution OSMTracker

Hello, I am a student of the National University of Comahue located in the city of Neuquén (Patagonia), Argentina. I'm currently pursuing a career course for Technician Management Systems and Free Software.
I work on a project of Libre Software because It is a course requirement (course: Libre Software) in which I have to collaborate in a libre project.
So the project that I chose is OSMTracker. I think I can contribute with streets of my town that have wrong name or no name at all..
I hope my contribution be useful for your project.
Best Regard
Anahi

FR: Enable Voice Note during Lock

When I travel on my bike I'd like to take notes with the microphone of my headset. When the screen is on I can trigger a recording with the button at the headset. When the screen is locked this is not possible. Would be nice to have.

Displaying distance, speed and average speed [patches to follow]

Hi Nicolas,

I hope you're doing well, because osmtracker appears to be THE gps tracker on f-droid and so I want to implement that distance, as well as the speed.

Before I start coding, I'd like to ask. How should I implement calculating/storing the total length of the currently recording track?

  1. don't store it, calculate it from scratch every second by going through all points in the track;
  2. store it in the database right next to name of the track;
  3. store it in a new field of TrackLogger or something, update that upon adding new points, pull it from there in Track.build for track that's being recorded, recalculate from scratch for all other tracks;
  4. don't care.

I'd prefer option 3, but maybe you have other ideas?

For now, here's a patch to keep updting "Details" for the track that's being recorded: I want to add length and speed there, and those should be updated (right now it just makes the number of points update, meaning that it works for me).

osmtracker-update-track-details.txt

Add an incremental number button

Would be great to have the possibility to add waypoints with an incrementing number as any basic classic GPS device does, for the case the surveyor is using a thematic paper form to describe precisely and systematically the objects of interest.

™ is not UTF-8

The exported gpx file says it has encoding UTF-8, but it includes the '™' character.

This causes some parsers (i.e. strava.com) to reject the file.

Feature Request: Variable length audio notes

Firstly: Fantastic app. Thank you!

It would be extremely useful to have the option of recording variable length audio notes, rather than notes of a predetermined length. This could be done with a press-and-hold button, perhaps.

0 meter scale bar

Try this: sit on a park bench and push the plus symbol that creates a new track. Now don't go anywhere just sit there. After a while press in the menu Display Track. You will notice in the upper right corner the scale bar has below it "0" meters. Yes an actual 0 meter scale bar. It says 0 meters.

Enable Android "Share" functionality so that GPX can be emailed (feature)

Would it be possible to add an "export to gpx and share" option to the contextual menu for tracks (alongside "export to gpx")? (It could just be called "Share" with a prompt to save GPX first if needed.)

We'd like to use osmtracker for non-experts to map their educational institutions, and there needs to be a simple way for them to transfer the data. Saving as GPX, and then locating the track using a "file explorer" isn't really an option, as many services may not have that software and storage locations may differ.

It wouldn't matter if only the GPX track is shared (if that makes it easier), though sharing of all media could be possible as well.

Feature Request: warn on low accuracy

Nice to have: indicate when the HDOP is bigger than a parameter setting (feeback: sound, notification, different style for the text...).

Why? If we want to take pictures, notes etc..., it's good to be aware of low accuracy.

Delete all tracks menu item too close to other menu items

The delete all tracks menu item is extremely dangerously close to the export all tracks to GPX menu item. One fears that if one puts on's finger just a little too close, all will be lost. No I didn't dare try to test it to see what would happen. Maybe it really does have a confirmation question. But the user would be still so scared all the time.

Make a backup copy of the database when a corruption happens

I just encountered a crash while trying to display a track. It wiped all my tracks. And it seems I have no way of getting them back!

Here is the logcat of my device at the time:

05-09 19:02:11.460  1843  1843 W ViewPager: Requested offscreen page limit 0 too small; defaulting to 1
05-09 19:02:11.480  1843  1843 I LatinIME: Starting input. Cursor position = 0,0
05-09 19:02:11.497  2740  2740 W IInputConnectionWrapper: getTextBeforeCursor on inactive InputConnection
05-09 19:02:11.497  2740  2740 W IInputConnectionWrapper: getSelectedText on inactive InputConnection
05-09 19:02:11.508  2740  2740 W IInputConnectionWrapper: requestCursorAnchorInfo on inactive InputConnection
05-09 19:02:11.510  2740  2740 W IInputConnectionWrapper: getTextBeforeCursor on inactive InputConnection
05-09 19:02:11.511  1843  1843 E RichInputConnection: Unable to connect to the editor to retrieve text.
05-09 19:02:11.511  1843  1843 D RichInputConnection: Will try to retrieve text later.
05-09 19:02:11.536  2740  2740 W IInputConnectionWrapper: getTextBeforeCursor on inactive InputConnection
05-09 19:02:11.537  1843  1843 E RichInputConnection: Unable to connect to the editor to retrieve text.
05-09 19:02:11.537  1843  1843 W RichInputConnection: Unable to connect to the editor. Setting caps mode without knowing text.
05-09 19:02:11.709  1843  2938 D OpenGLRenderer: Use EGL_SWAP_BEHAVIOR_PRESERVED: true
05-09 19:02:11.743  1843  1843 I LatinIME: Starting input. Cursor position = 19,19
05-09 19:02:12.043  1843  2938 W Adreno-GSL: <get_panel_settings:3802>: Android framework reported version 2. So, don't force ES30
05-09 19:02:12.064  1843  2938 I Adreno-EGL: <qeglDrvAPI_eglInitialize:381>: EGL 1.4 QUALCOMM build: AU_LINUX_ANDROID_KK_2.7_RB1.04.04.00.007.018_msm8960_KK_2.
7_RB1_CL3869936_release_AU (CL3869936)
05-09 19:02:12.064  1843  2938 I Adreno-EGL: OpenGL ES Shader Compiler Version: 17.01.10.SPL
05-09 19:02:12.064  1843  2938 I Adreno-EGL: Build Date: 12/09/13 Mon
05-09 19:02:12.064  1843  2938 I Adreno-EGL: Local Branch: mybranch2092625
05-09 19:02:12.064  1843  2938 I Adreno-EGL: Remote Branch: quic/kk_2.7_rb1.15
05-09 19:02:12.064  1843  2938 I Adreno-EGL: Local Patches: NONE
05-09 19:02:12.064  1843  2938 I Adreno-EGL: Reconstruct Branch: AU_LINUX_ANDROID_KK_2.7_RB1.04.04.00.007.018 +  NOTHING
05-09 19:02:12.099  1843  2938 I OpenGLRenderer: Initialized EGL, version 1.4
05-09 19:02:12.492  1088  1105 I ActivityManager: Process com.android.cellbroadcastreceiver (pid 2868) has died
05-09 19:02:12.492  1088  1105 D ActivityManager: cleanUpApplicationRecord -- 2868
05-09 19:02:13.641   199   199 I surfaceflinger: type=1400 audit(0.0:117): avc: denied { read write } for path="/dev/kgsl-3d0" dev="tmpfs" ino=1818 scontext=u:
r:surfaceflinger:s0 tcontext=u:object_r:device:s0 tclass=chr_file permissive=1
05-09 19:02:13.811  1322  2252 I art     : Starting a blocking GC Alloc
05-09 19:02:13.811  1322  2252 I art     : Starting a blocking GC Alloc
05-09 19:02:14.488  1843  1939 I LatinIME:LogUtils: Dictionary info: dictionary = contacts.fr ; version = 1494349334 ; date = ?
05-09 19:02:14.672  1943  1956 I art     : Waiting for a blocking GC DisableMovingGc
05-09 19:02:14.685  1943  1954 I art     : CollectorTransition marksweep + semispace GC freed 9498(687KB) AllocSpace objects, 0(0B) LOS objects, 24% free, 4MB/
6MB, paused 148.254ms total 148.254ms
05-09 19:02:14.686  1943  1956 I art     : WaitForGcToComplete blocked for 14.312ms for cause DisableMovingGc
05-09 19:02:14.686  1943  1956 I art     : Starting a blocking GC DisableMovingGc
05-09 19:02:14.932  1843  1939 I LatinIME:LogUtils: Dictionary info: dictionary = contacts.fr ; version = 1494349334 ; date = 1494349334
05-09 19:02:16.650  1843  1843 I LatinIME: Starting input. Cursor position = 0,0
05-09 19:02:16.839  1322  2252 I art     : Starting a blocking GC Alloc
05-09 19:02:16.839  1322  2252 I art     : Starting a blocking GC Alloc
05-09 19:02:17.463  1843  1843 I LatinIME: Starting input. Cursor position = 0,0
05-09 19:02:17.679  2740  2750 I art     : Background sticky concurrent mark sweep GC freed 11997(656KB) AllocSpace objects, 1(24KB) LOS objects, 31% free, 4MB
/6MB, paused 579us total 167.663ms
05-09 19:02:18.292  1322  2252 W ExifInterface: Skip the tag entry since tag number is not defined: 2
05-09 19:02:18.309  1322  2252 W ExifInterface: Skip the tag entry since tag number is not defined: 2
05-09 19:02:18.322  1322  2252 W ExifInterface: Skip the tag entry since tag number is not defined: 2
05-09 19:02:18.336  1322  2252 W ExifInterface: Skip the tag entry since tag number is not defined: 2
05-09 19:02:18.350  1322  2252 W ExifInterface: Skip the tag entry since tag number is not defined: 2
05-09 19:02:18.363  1322  2252 W ExifInterface: Skip the tag entry since tag number is not defined: 2
05-09 19:02:18.369  1322  2252 I art     : Starting a blocking GC Alloc
05-09 19:02:18.369  1322  2252 I art     : Starting a blocking GC Alloc
05-09 19:02:18.440  1322  2252 W ExifInterface: Skip the tag entry since tag number is not defined: 2
05-09 19:02:18.454  1322  2252 W ExifInterface: Skip the tag entry since tag number is not defined: 2
05-09 19:02:18.473  1322  2252 W ExifInterface: Skip the tag entry since tag number is not defined: 2
05-09 19:02:18.487  1322  2252 W ExifInterface: Skip the tag entry since tag number is not defined: 2
05-09 19:02:18.500  1322  2252 W ExifInterface: Skip the tag entry since tag number is not defined: 2
05-09 19:02:18.513  1322  2252 W ExifInterface: Skip the tag entry since tag number is not defined: 2
05-09 19:02:18.527  1322  2252 W ExifInterface: Skip the tag entry since tag number is not defined: 2
05-09 19:02:18.540  1322  2252 W ExifInterface: Skip the tag entry since tag number is not defined: 2
05-09 19:02:18.554  1322  2252 W ExifInterface: Skip the tag entry since tag number is not defined: 2
05-09 19:02:18.568  1322  2252 W ExifInterface: Skip the tag entry since tag number is not defined: 2
05-09 19:02:18.583  1322  2252 W ExifInterface: Skip the tag entry since tag number is not defined: 2
05-09 19:02:18.598  1322  2252 W ExifInterface: Skip the tag entry since tag number is not defined: 2
05-09 19:02:18.612  1322  2252 W ExifInterface: Skip the tag entry since tag number is not defined: 2
05-09 19:02:18.624  1322  2252 W ExifInterface: Skip the tag entry since tag number is not defined: 2
05-09 19:02:18.637  1322  2252 W ExifInterface: Skip the tag entry since tag number is not defined: 2
05-09 19:02:18.647  1322  2252 W ExifInterface: Skip the tag entry since tag number is not defined: 2
05-09 19:02:18.657  1322  2252 W ExifInterface: Skip the tag entry since tag number is not defined: 2
05-09 19:02:18.668  1322  2252 W ExifInterface: Skip the tag entry since tag number is not defined: 2
05-09 19:02:18.682  1322  2252 W ExifInterface: Skip the tag entry since tag number is not defined: 2
05-09 19:02:18.693  1322  2252 W ExifInterface: Skip the tag entry since tag number is not defined: 2
05-09 19:02:18.702  1322  2252 W ExifInterface: Skip the tag entry since tag number is not defined: 2
05-09 19:02:18.714  1322  2252 W ExifInterface: Skip the tag entry since tag number is not defined: 2
05-09 19:02:18.726  1322  2252 W ExifInterface: Skip the tag entry since tag number is not defined: 2
05-09 19:02:18.741  1322  2252 W ExifInterface: Skip the tag entry since tag number is not defined: 2
05-09 19:02:18.752  1322  2252 W ExifInterface: Skip the tag entry since tag number is not defined: 2
05-09 19:02:18.765  1088  1287 D WifiService: Client connection lost with reason: 4
05-09 19:02:18.769  1088  2018 I ActivityManager: Process com.android.settings (pid 2854) has died
05-09 19:02:18.770  1088  2018 D ActivityManager: cleanUpApplicationRecord -- 2854
05-09 19:02:18.805  1322  2252 W ExifInterface: Skip the tag entry since tag number is not defined: 2
05-09 19:02:18.820  1322  2252 W ExifInterface: Skip the tag entry since tag number is not defined: 2
05-09 19:02:18.838  1322  2252 W ExifInterface: Skip the tag entry since tag number is not defined: 2
05-09 19:02:18.851  1322  2252 W ExifInterface: Skip the tag entry since tag number is not defined: 2
05-09 19:02:18.862  1322  2252 W ExifInterface: Skip the tag entry since tag number is not defined: 2
05-09 19:02:18.874  1322  2252 W ExifInterface: Skip the tag entry since tag number is not defined: 2
05-09 19:02:18.887  1322  2252 W ExifInterface: Skip the tag entry since tag number is not defined: 2
05-09 19:02:18.900  1322  2252 W ExifInterface: Skip the tag entry since tag number is not defined: 2
05-09 19:02:18.914  1322  2252 W ExifInterface: Skip the tag entry since tag number is not defined: 2
05-09 19:02:18.930  1322  2252 W ExifInterface: Skip the tag entry since tag number is not defined: 2
05-09 19:02:18.941  1322  2252 I art     : Starting a blocking GC Alloc
05-09 19:02:18.941  1322  2252 I art     : Starting a blocking GC Alloc
05-09 19:02:18.988  1322  2252 W ExifInterface: Skip the tag entry since tag number is not defined: 2
05-09 19:02:19.001  1322  2252 W ExifInterface: Skip the tag entry since tag number is not defined: 2
05-09 19:02:19.015  1322  2252 W ExifInterface: Skip the tag entry since tag number is not defined: 2
05-09 19:02:19.028  1322  2252 W ExifInterface: Skip the tag entry since tag number is not defined: 2
05-09 19:02:19.043  1322  2252 W ExifInterface: Skip the tag entry since tag number is not defined: 2
05-09 19:02:19.053  1322  2252 W ExifInterface: Skip the tag entry since tag number is not defined: 2
05-09 19:02:19.063  1322  2252 W ExifInterface: Skip the tag entry since tag number is not defined: 2
05-09 19:02:19.079  1322  2252 W ExifInterface: Skip the tag entry since tag number is not defined: 2
05-09 19:02:19.092  1322  2252 W ExifInterface: Skip the tag entry since tag number is not defined: 2
05-09 19:02:19.106  1322  2252 W ExifInterface: Skip the tag entry since tag number is not defined: 2
05-09 19:02:19.117  1322  2252 W ExifInterface: Skip the tag entry since tag number is not defined: 2
05-09 19:02:19.128  1322  2252 W ExifInterface: Skip the tag entry since tag number is not defined: 2
05-09 19:02:19.143  1322  2252 W ExifInterface: Skip the tag entry since tag number is not defined: 2
05-09 19:02:19.154  1322  2252 W ExifInterface: Skip the tag entry since tag number is not defined: 2
05-09 19:02:19.163  1322  2252 W ExifInterface: Skip the tag entry since tag number is not defined: 2
05-09 19:02:19.179  1322  2252 W ExifInterface: Skip the tag entry since tag number is not defined: 2
05-09 19:02:19.189  1322  2252 W ExifInterface: Skip the tag entry since tag number is not defined: 2
05-09 19:02:19.201  1322  2252 W ExifInterface: Skip the tag entry since tag number is not defined: 2
05-09 19:02:19.216  1322  2252 W ExifInterface: Skip the tag entry since tag number is not defined: 2
05-09 19:02:19.235  1322  2252 W ExifInterface: Skip the tag entry since tag number is not defined: 2
05-09 19:02:19.295  1322  2252 W ExifInterface: Skip the tag entry since tag number is not defined: 2
05-09 19:02:19.316  1322  2252 W ExifInterface: Skip the tag entry since tag number is not defined: 2
05-09 19:02:19.330  1088  1294 D AudioService: Stream muted, skip playback
05-09 19:02:19.390  2740  2740 V TrackContentProvider: query(), uri=content://me.guillaumin.android.osmtracker.provider/track
05-09 19:02:19.442  1322  2252 W ExifInterface: Skip the tag entry since tag number is not defined: 2
05-09 19:02:19.488  2740  2740 V TrackContentProvider: query(), uri=content://me.guillaumin.android.osmtracker.provider/track/active
05-09 19:02:20.146  2740  2753 D OpenGLRenderer: endAllStagingAnimators on 0xa698d8 (RippleDrawable) with handle 0xa26c48
05-09 19:02:20.177  1322  2252 W ExifInterface: Skip the tag entry since tag number is not defined: 2
05-09 19:02:20.230   199   199 W SurfaceFlinger: couldn't log to binary event log: overflow.
05-09 19:02:20.352  1322  2252 W ExifInterface: Skip the tag entry since tag number is not defined: 2
05-09 19:02:20.387  1322  2252 W ExifInterface: Skip the tag entry since tag number is not defined: 2
05-09 19:02:20.415  1322  2252 W ExifInterface: Skip the tag entry since tag number is not defined: 2
05-09 19:02:20.427  1322  2252 W ExifInterface: Skip the tag entry since tag number is not defined: 2
05-09 19:02:20.441  1322  2252 W ExifInterface: Skip the tag entry since tag number is not defined: 2
05-09 19:02:20.736  1322  2252 I art     : Starting a blocking GC Alloc
05-09 19:02:20.736  1322  2252 I art     : Starting a blocking GC Alloc
05-09 19:02:21.281  1088  1294 D AudioService: Stream muted, skip playback
05-09 19:02:21.284  1088  1363 I ActivityManager: START u0 {cmp=me.guillaumin.android.osmtracker/.activity.TrackDetail (has extras)} from uid 10076 on display 0
05-09 19:02:21.497  2740  2740 V TrackContentProvider: query(), uri=content://me.guillaumin.android.osmtracker.provider/track/4
05-09 19:02:21.563  2740  2740 V TrackContentProvider: query(), uri=content://me.guillaumin.android.osmtracker.provider/track/4/start
05-09 19:02:21.575  2740  2740 V TrackContentProvider: query(), uri=content://me.guillaumin.android.osmtracker.provider/track/4/end
05-09 19:02:21.730  1843  1939 I LatinIME:LogUtils: Dictionary info: dictionary = spellcheck_contacts.fr ; version = 1494164709 ; date = 1494164709
05-09 19:02:21.738  1843  1939 I LatinIME:LogUtils: Dictionary info: dictionary = spellcheck_userunigram.fr ; version = 1494349341 ; date = ?
05-09 19:02:21.955  1943  1954 I art     : CollectorTransition marksweep + semispace GC freed 90(-103KB) AllocSpace objects, 0(0B) LOS objects, 24% free, 4MB/5MB, paused 193.634ms total 193.634ms
05-09 19:02:22.054  1843  1939 I LatinIME:LogUtils: Dictionary info: dictionary = main:fr ; version = 54 ; date = 1414726264
05-09 19:02:22.086  2740  2740 I Choreographer: Skipped 30 frames!  The application may be doing too much work on its main thread.
05-09 19:02:22.169  1088  1158 I ActivityManager: Displayed me.guillaumin.android.osmtracker/.activity.TrackDetail: +853ms
05-09 19:02:22.548   199   199 W SurfaceFlinger: couldn't log to binary event log: overflow.
05-09 19:02:22.976  1322  2252 W MediaScanner: Error opening directory '/oem/media/', skipping: No such file or directory.
05-09 19:02:23.013  1322  2252 I art     : Starting a blocking GC Alloc
05-09 19:02:23.013  1322  2252 I art     : Starting a blocking GC Alloc
05-09 19:02:23.406  1088  1294 D AudioService: Stream muted, skip playback
05-09 19:02:23.544  2049  2150 E ELEVEN  : calling refresh!
05-09 19:02:25.297  1322  2252 I art     : Starting a blocking GC Alloc
05-09 19:02:25.297  1322  2252 I art     : Starting a blocking GC Alloc
05-09 19:02:25.448  1088  1294 D AudioService: Stream muted, skip playback
05-09 19:02:25.486  1088  1959 I ActivityManager: START u0 {cmp=me.guillaumin.android.osmtracker/.activity.DisplayTrackMap (has extras)} from uid 10076 on display 0
05-09 19:02:25.704  2740  2740 I AndroidLoggerFactory: Logger name 'org.osmdroid.views.MapView' exceeds maximum length of 23 characters, using 'o*.o*.v*.MapView' instead.
05-09 19:02:25.718  2740  2740 I AndroidLoggerFactory: Logger name 'org.osmdroid.DefaultResourceProxyImpl' exceeds maximum length of 23 characters, using 'o*.o*.DefaultResourceP*' instead.
05-09 19:02:25.731  2740  2740 I AndroidLoggerFactory: Logger name 'org.osmdroid.tileprovider.tilesource.BitmapTileSourceBase' exceeds maximum length of 23 characters, using 'o*.o*.t*.t*.BitmapTile*' instead.
05-09 19:02:25.743  2740  2740 I AndroidLoggerFactory: Logger name 'org.osmdroid.tileprovider.tilesource.CloudmadeTileSource' exceeds maximum length of 23 characters, using 'o*.o*.t*.t*.CloudmadeT*' instead.
05-09 19:02:25.743  2740  2740 I o*.o*.v*.MapView: Using tile source: org.osmdroid.tileprovider.tilesource.XYTileSource@488ee25
05-09 19:02:25.744  2740  2740 I AndroidLoggerFactory: Logger name 'org.osmdroid.tileprovider.MapTileProviderBase' exceeds maximum length of 23 characters, using 'o*.o*.t*.MapTileProvid*' instead.
05-09 19:02:25.750  2740  2740 I AndroidLoggerFactory: Logger name 'org.osmdroid.tileprovider.LRUMapTileCache' exceeds maximum length of 23 characters, using 'o*.o*.t*.LRUMapTileCac*' instead.
05-09 19:02:25.751  2740  2740 I AndroidLoggerFactory: Logger name 'org.osmdroid.tileprovider.modules.TileWriter' exceeds maximum length of 23 characters, using 'o*.o*.t*.m*.TileWriter' instead.
05-09 19:02:25.768  2740  2740 I AndroidLoggerFactory: Logger name 'org.osmdroid.tileprovider.modules.MapTileModuleProviderBase' exceeds maximum length of 23 characters, using 'o*.o*.t*.m*.MapTileMod*' instead.
05-09 19:02:25.768  2740  2740 I AndroidLoggerFactory: Logger name 'org.osmdroid.tileprovider.modules.MapTileFileStorageProviderBase' exceeds maximum length of 23 characters, using 'o*.o*.t*.m*.MapTileFil*' instead.
05-09 19:02:25.786  2740  2740 I o*.o*.t*.m*.MapTileFil*: sdcard state: mounted
05-09 19:02:25.801  2740  2740 I o*.o*.t*.m*.MapTileFil*: sdcard state: mounted
05-09 19:02:25.868  2740  2740 I AndroidLoggerFactory: Logger name 'org.osmdroid.tileprovider.modules.ArchiveFileFactory' exceeds maximum length of 23 characters, using 'o*.o*.t*.m*.ArchiveFil*' instead.
05-09 19:02:25.869  2740  2740 I AndroidLoggerFactory: Logger name 'org.osmdroid.tileprovider.modules.MapTileDownloader' exceeds maximum length of 23 characters, using 'o*.o*.t*.m*.MapTileDow*' instead.
05-09 19:02:25.871  2740  2740 I AndroidLoggerFactory: Logger name 'org.osmdroid.views.overlay.TilesOverlay' exceeds maximum length of 23 characters, using 'o*.o*.v*.o*.TilesOverl*' instead.
05-09 19:02:25.975  2740  2740 I o*.o*.t*.MapTileProvid*: rescale tile cache from 0 to 18
05-09 19:02:25.980  2740  2740 I o*.o*.t*.MapTileProvid*: Finished rescale in 5ms
05-09 19:02:26.314  2740  2750 W art     : Suspending all threads took: 5.004ms
05-09 19:02:26.347  2740  2961 W System  : ClassLoader referenced unknown path: /system/framework/tcmclient.jar
05-09 19:02:26.353  2740  2960 W System  : ClassLoader referenced unknown path: /system/framework/tcmclient.jar
05-09 19:02:26.393  2740  2750 I art     : Background partial concurrent mark sweep GC freed 13054(934KB) AllocSpace objects, 11(328KB) LOS objects, 24% free, 6MB/8MB, paused 15.258ms total 394.775ms
05-09 19:02:26.484  2740  2740 V TrackContentProvider: query(), uri=content://me.guillaumin.android.osmtracker.provider/track/4/waypoints
05-09 19:02:26.509  2740  2740 V TrackContentProvider: query(), uri=content://me.guillaumin.android.osmtracker.provider/track/4
05-09 19:02:26.532  2740  2740 V TrackContentProvider: query(), uri=content://me.guillaumin.android.osmtracker.provider/track/4/trackpoints
05-09 19:02:26.710  1088  1101 I art     : Background sticky concurrent mark sweep GC freed 22337(1095KB) AllocSpace objects, 3(60KB) LOS objects, 11% free, 11MB/13MB, paused 3.692ms total 119.842ms
05-09 19:02:26.761  2740  2740 E SQLiteLog: (11) database corruption at line 67578 of [2ef4f3a5b1]
05-09 19:02:26.761  2740  2740 E SQLiteLog: (11) statement aborts at 11: [SELECT latitude, longitude, _id FROM trackpoint WHERE (track_id = ?) ORDER BY _id asc] database disk image is malformed
05-09 19:02:26.762  2740  2740 E DefaultDatabaseErrorHandler: Corruption reported by sqlite on database: /data/user/0/me.guillaumin.android.osmtracker/databases/OSMTracker
05-09 19:02:26.763  2740  2740 E DefaultDatabaseErrorHandler: deleting the database file: /data/user/0/me.guillaumin.android.osmtracker/databases/OSMTracker
05-09 19:02:26.773  2740  2740 D AndroidRuntime: Shutting down VM
--------- beginning of crash
05-09 19:02:26.794  2740  2740 E AndroidRuntime: FATAL EXCEPTION: main
05-09 19:02:26.794  2740  2740 E AndroidRuntime: Process: me.guillaumin.android.osmtracker, PID: 2740
05-09 19:02:26.794  2740  2740 E AndroidRuntime: Theme: themes:{}
05-09 19:02:26.794  2740  2740 E AndroidRuntime: java.lang.RuntimeException: Unable to resume activity {me.guillaumin.android.osmtracker/me.guillaumin.android.osmtracker.activity.DisplayTrackMap}: android.database.sqlite.SQLiteDatabaseCorruptException: database disk image is malformed (code 11)
05-09 19:02:26.794  2740  2740 E AndroidRuntime:        at android.app.ActivityThread.performResumeActivity(ActivityThread.java:3137)
05-09 19:02:26.794  2740  2740 E AndroidRuntime:        at android.app.ActivityThread.handleResumeActivity(ActivityThread.java:3168)
05-09 19:02:26.794  2740  2740 E AndroidRuntime:        at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2515)
05-09 19:02:26.794  2740  2740 E AndroidRuntime:        at android.app.ActivityThread.-wrap11(ActivityThread.java)
05-09 19:02:26.794  2740  2740 E AndroidRuntime:        at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1363)
05-09 19:02:26.794  2740  2740 E AndroidRuntime:        at android.os.Handler.dispatchMessage(Handler.java:102)
05-09 19:02:26.794  2740  2740 E AndroidRuntime:        at android.os.Looper.loop(Looper.java:148)
05-09 19:02:26.794  2740  2740 E AndroidRuntime:        at android.app.ActivityThread.main(ActivityThread.java:5461)
05-09 19:02:26.794  2740  2740 E AndroidRuntime:        at java.lang.reflect.Method.invoke(Native Method)
05-09 19:02:26.794  2740  2740 E AndroidRuntime:        at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726)
05-09 19:02:26.794  2740  2740 E AndroidRuntime:        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616)
05-09 19:02:26.794  2740  2740 E AndroidRuntime: Caused by: android.database.sqlite.SQLiteDatabaseCorruptException: database disk image is malformed (code 11)
05-09 19:02:26.794  2740  2740 E AndroidRuntime:        at android.database.sqlite.SQLiteConnection.nativeExecuteForCursorWindow(Native Method)
05-09 19:02:26.794  2740  2740 E AndroidRuntime:        at android.database.sqlite.SQLiteConnection.executeForCursorWindow(SQLiteConnection.java:845)
05-09 19:02:26.794  2740  2740 E AndroidRuntime:        at android.database.sqlite.SQLiteSession.executeForCursorWindow(SQLiteSession.java:836)
05-09 19:02:26.794  2740  2740 E AndroidRuntime:        at android.database.sqlite.SQLiteQuery.fillWindow(SQLiteQuery.java:62)
05-09 19:02:26.794  2740  2740 E AndroidRuntime:        at android.database.sqlite.SQLiteCursor.fillWindow(SQLiteCursor.java:143)
05-09 19:02:26.794  2740  2740 E AndroidRuntime:        at android.database.sqlite.SQLiteCursor.getCount(SQLiteCursor.java:132)
05-09 19:02:26.794  2740  2740 E AndroidRuntime:        at android.content.ContentResolver.query(ContentResolver.java:512)
05-09 19:02:26.794  2740  2740 E AndroidRuntime:        at android.content.ContentResolver.query(ContentResolver.java:435)
05-09 19:02:26.794  2740  2740 E AndroidRuntime:        at me.guillaumin.android.osmtracker.activity.DisplayTrackMap.pathChanged(DisplayTrackMap.java:413)
05-09 19:02:26.794  2740  2740 E AndroidRuntime:        at me.guillaumin.android.osmtracker.activity.DisplayTrackMap.onResume(DisplayTrackMap.java:269)
05-09 19:02:26.794  2740  2740 E AndroidRuntime:        at android.app.Instrumentation.callActivityOnResume(Instrumentation.java:1259)
05-09 19:02:26.794  2740  2740 E AndroidRuntime:        at android.app.Activity.performResume(Activity.java:6327)
05-09 19:02:26.794  2740  2740 E AndroidRuntime:        at android.app.ActivityThread.performResumeActivity(ActivityThread.java:3126)
05-09 19:02:26.794  2740  2740 E AndroidRuntime:        ... 10 more
05-09 19:02:26.805  1088  2090 W ActivityManager:   Force finishing activity me.guillaumin.android.osmtracker/.activity.DisplayTrackMap
05-09 19:02:26.813  1088  2090 W ActivityManager:   Force finishing activity me.guillaumin.android.osmtracker/.activity.TrackDetail
05-09 19:02:26.870  1088  2965 D OpenGLRenderer: Use EGL_SWAP_BEHAVIOR_PRESERVED: true
05-09 19:02:26.913  1088  1139 W HardwareRenderer: Could not acquire gfx stats buffer
05-09 19:02:26.913  1088  1139 W HardwareRenderer: android.os.RemoteException: Invalid package name
05-09 19:02:26.913  1088  1139 W HardwareRenderer:      at com.android.server.GraphicsStatsService.requestBufferForProcess(GraphicsStatsService.java:97)
05-09 19:02:26.913  1088  1139 W HardwareRenderer:      at android.view.ThreadedRenderer$ProcessInitializer.initGraphicsStats(ThreadedRenderer.java:459)
05-09 19:02:26.913  1088  1139 W HardwareRenderer:      at android.view.ThreadedRenderer$ProcessInitializer.init(ThreadedRenderer.java:447)
05-09 19:02:26.913  1088  1139 W HardwareRenderer:      at android.view.ThreadedRenderer.<init>(ThreadedRenderer.java:126)
05-09 19:02:26.913  1088  1139 W HardwareRenderer:      at android.view.HardwareRenderer.create(HardwareRenderer.java:436)
05-09 19:02:26.913  1088  1139 W HardwareRenderer:      at android.view.ViewRootImpl.enableHardwareAcceleration(ViewRootImpl.java:759)
05-09 19:02:26.913  1088  1139 W HardwareRenderer:      at android.view.ViewRootImpl.setView(ViewRootImpl.java:492)
05-09 19:02:26.913  1088  1139 W HardwareRenderer:      at android.view.WindowManagerGlobal.addView(WindowManagerGlobal.java:310)
05-09 19:02:26.913  1088  1139 W HardwareRenderer:      at android.view.WindowManagerImpl.addView(WindowManagerImpl.java:86)
05-09 19:02:26.913  1088  1139 W HardwareRenderer:      at android.app.Dialog.show(Dialog.java:319)
05-09 19:02:26.913  1088  1139 W HardwareRenderer:      at com.android.server.am.ActivityManagerService$UiHandler.handleMessage(ActivityManagerService.java:1491)
05-09 19:02:26.913  1088  1139 W HardwareRenderer:      at android.os.Handler.dispatchMessage(Handler.java:102)
05-09 19:02:26.913  1088  1139 W HardwareRenderer:      at android.os.Looper.loop(Looper.java:148)
05-09 19:02:26.913  1088  1139 W HardwareRenderer:      at android.os.HandlerThread.run(HandlerThread.java:61)
05-09 19:02:26.913  1088  1139 W HardwareRenderer:      at com.android.server.ServiceThread.run(ServiceThread.java:46)

Display distance

A feature request: next to waypoints & co one could display the distance. So, a little more stats about a track. Thx.

Allow keeping old tile cache for longer time

I used to map for OSM in Sahara area with a limited Internet access.

There is nothing on the ground to reference to like buildings, trees... Topographic map as background is best. However, I always loose them after relatively short time, zooming out/in somewhere else.

Is possible to add tile cache folder to SD storage with predefined max size ex:100MB and never delete it, if it does not go over max size or unavailable Internet source to update them?

Navigating between activities may cause OSMTracker to continue track recording

Steps to reproduce:

  1. Start OSMTracker
  2. Touch New track. TrackLogger activity will appear.
  3. From the menu select Waypoints (or Display track/Settings/About)
  4. Return to TrackLogger activity by touching the status bar notification.
  5. Touch Stop & save. The activity will be closed. Waypoint list will come back.
  6. Touch back button. TrackLogger activity will appear and continue recording the track.
    Version: 0.6.11

Inconsistent usage of the export symbol (green dot)

On the list of tracks some tracks have a green ball next to them. And yellow balls next to tracks that are currently being recorded. However the user in the field, has no way to tell what the green balls mean, without a manual.

Explain the red dot on the UI

To the right of the signal strength meter bars on the UI there is a red dot It doesn't turn red when you start recording, it turns red later at some other time. There is no documentation and no overt reason for the dot to the user. Describe the function on the UI, use a different icon, etc.

Feature Request: Compressed track upload

Please implement the possibility to upload recorded tracks as compressed zip or gzip. OSM reads these compressed data as easily as gpx files. You could even make this behaviour the default without disadvantages (IMHO).
Advantage of uploading compressed files:
Much less traffic - which is desired when no WLAN is available and the user has to pay bis traffic.

"ele" values need to be "above mean sea level"

According to the OSM wiki on the "ele" key, it is expected to be "the elevation above mean sea level".
Specifically, it says :

This is not the height above the WGS84 ellipsoid (see Geoid) which is shown by some GPS devices.

The "ele" values provided by OSMTracker is, unfortunately, the height above the WGS84 ellipsoid, as provided by Location.getAltitude().

Translating from one datum to another is feasible, but not simple. Fortunately, Android also provides NMEA 0183 API through the GpsStatus.NmeaListener class. Specifically, the GGA statement provides the altitude above mean sea level. Will it be possible to take the "ele" values from the NMEA API and comply with OSM?

Current location icon on track display is too large

That guy with yellow clothes is always standing in my map, who is used to show the current/last recorded point is too large and unnecessary covering my track. Could any one please tell him to go home?

If it is made transparent, just small ball point or a pin shape, it will much better.

screenshot_2015-08-24-20-58-08

Only show a SAVE button when the data is not already saved

At the bottom we sometime see two buttons, one of which is called SAVE.

However these often appear when the data is already in the saved state.

Please only show such buttons when the data is not in the saved state and does not need to be saved again.

switching off the display makes OSMTracker forget tiles

Screen 1: OSMTracker is tracking, all tiles in the current area are downloaded. Then I switch off the display to save battery...
pic1

Screen 2: after switching on the display I see this - couple of tiles are missing. OSMTracker reloads them, it takes some time and data from my data limit. In the end everything is loaded just like in the first screenshot. Then again I turn off the display...
pic2

Screen 3: ... to find out that after switching it on I have lost another tiles. And again, it starts reloading the missing tiles.
pic3

Sometimes when mapping I get to areas without service and then no reload can occur so I am a little bit blinded.

OSMTracker for Android v0.6.11
HW: Nexus 6 (Android 6.0.1)

Ignore GPS clock not working

Ticking the option to 'ignore GPS clock and use Android clock for timestamps' in the settings menu appears to make no difference to the timestamps recorded in the gpx file - they are recorded at GMT regardless of whether this option is selected or not. The gpx filename takes the time from the Android device, but the timestamp associated with each event recorded is always GMT.

This becomes a problem when using OSMtracker early morning in Nepal as the events appear to have been recorded late at night the previous day as opposed to early morning in Nepal.

Should open the keyboard automatically when creating notes

When clicking the Notes button osmtracker doesn't open the keyboard automatically.
For example:

It's always necessary to click at the text area to bring up the keyboard.

When creating a note osmtracker should always open the keyboard together, so we can start typing as soon as possible.

osmtracker for special purposes

Osmtracker is excellent. i created a custom layout for mapping a couple of things related with fire hydrants and local public transport. For me it's perfect but problems begin when I explain to another person, without technical knowledge, how to use the custom layout and how to upload data to OSM in a way I could find it latter.

I think a general approach to make osmtracker customizable to fit special purposes could be positive for the tool. For example a mechanism to download a custom layout, setting default values for the trace details and uploading the gpx to a specific server or service (not only OSM).

The are other issues related ( #83 #84 #69 ) to this ideas but, I'll like to hear if this idea/proposal of enhacement makes sense.

Always write consistent .gpx filenames

Please always write consistent .gpx filenames.

$ find * -name \*.gpx
2017-02-03_08-18-49/2017-02-03_08-18-49.gpx
2017-02-03_08-34-46/2017-02-03_08-34-46.gpx
2017-02-03_08-35-34/2017-02-03_08-35-34.gpx
2017-05-11_15-28-44/2017-05-11_15-28-44.gpx
2017-05-11_15-34-11/2017-05-11_15-34-11.gpx
2017-05-11_15-50-45/2017-05-11_15-50-45.gpx
2017-05-16_16-43-59/May_16,_2017_16;43;59_2017-05-16_16-43-59.gpx
2017-05-17_05-50-17/May_17,_2017_05;50;17_2017-05-17_05-50-17.gpx
2017-05-17_07-00-14/2017-05-17_07-00-14.gpx
2017-05-23_08-03-21/2017-05-23_08-03-21.gpx
2017-05-23_08-33-26/2017-05-23_08-33-26.gpx
2017-05-23_08-44-19/2017-05-23_08-44-19.gpx
2017-05-23_09-13-18/2017-05-23_09-13-18.gpx
2017-05-26_07-29-25/2017-05-26_07-29-25.gpx
2017-05-26_09-04-43/2017-05-26_09-04-43.gpx
2017-05-27_05-47-47/2017-05-27_05-47-47.gpx
2017-05-29_10-50-38/2017-05-29_10-50-38.gpx

No I have no idea why there are two odd ones.
Did I press a different button to generate them?

Need way to stop recording a track

When recording a track, there is no way in the UI to stop recording. The back button doesn't work; it keeps recording in the background. I looked all over the GUI, and ultimately had to kill the app to get it to stop. This is a huge glaring flaw. Can't there simply be a nice clear button somewhere that says "Stop"?

Add more custom buttons layouts

Put several button layout XMLs for typical usages into OSMTracker distro. So that one can get more comfortable layout for his needs without having to create an XML file, putting files somewhere, etc.
Typical usages:

  1. Cycling - more buttons for mapping cycling infrastructure, different way types, etc.
  2. Highway mapping - more buttons with road signs, restrictions, etc.
  3. Other ideas on typical usages?

I can create and commit the cycling layout and, may be, the "highway mapping" layout.

Differentiate items that have sub items

While recording a track, one sees 12 buttons on the screen. However some of these buttons lead to further sub items and some of them don't. Alas there is no way to tell the difference. Therefore kindly add three dots after the title of each item that leads to a sub item..

Scale bar pressed up against the top of the screen

When we display a track in the upper right corner there is a tiny little scale bar with the bar above the number. The worst thing is the bar is pressed very much up against the top of the screen that one can't even see it probably. Also if you look at other people's maps they have a longer bar with several little segments. That would be easier to read.

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.