App: Storage access framework

Replace app’s file browser with Android’s storage access framework.

  • No read / write storage permission requirement
  • Shows all external storage with menu / settings
  • Improved SD card support
  • Open
    • You can select one or multiple files to open
    • Multiple file selection is done with long press
  • Save
    • You can select a file to save (no export folder)
    • Overwrite
      • Newer Android: click first on an existing file
      • Older Android: system adds a number at name

It works similarly with Google Files app.

Does this mean, that e.g. map files can be on external SD-card?
Hopefully the performance hit reported here will not be too big on older devices.

One of the benefits is that it supports better more storage locations.

This is more about file managers which have directory and other I/O operations.

Kurviger I/O functions are one-time read / write.
And offline maps are read internally as always.

The new file saving framework has a disadvantage to me. I can’t overwrite existing routes any more by exporting the actual route. Even if the name is the same as an existing file, it doesn’t ask for overwriting, it just saves it as another file. I do like the previous way by asking to overwrite the existing file more

an additional disadvantage is that the new files are not connected to the kurviger app automatically any more

Android’s storage access framework seems to allow overwritting existing content.
Checking the relevant Android issue, they mention that:

“It’s not exactly intuitive, the user must click one of the existing files, the name is reflected on the prompt, and pressing “SAVE” will ask something like "Overwrite <filename>?/Cancel/OK".
If the user types a name that matches one of the existing files, a new copy will be created instead of overwrite.”

That’s expected since the route files must have a valid extension.
(".kurviger" is a valid extension, while “.kurviger (N)” is not)

Ok thanks for the tip, this works at least… I didn’t know this since I don’t use the Android file explorer. I use total commander instead. I is more useful to me.

Is it possible to configure Android to put the index before the extension? Example: Downloading a file “test.pdf” twice in chrome leads to 2nd filename “test (1).pdf”

When exporting files the sorting of the folder is always by name. I always have to resort descending by date to find the right tour file to mark and overwrite. This is not kept for the next export. If necessary please make a setting for the file explorer to force sorting descending by date.

On my Asus ZenPad with Android 7 there is no overwrite confirmation - after tapping on the old file in the list and tapping on “Save” it is directly overwritten.

That’s how app’s file browser worked too.

Android’s storage access framework is handled by the operating system (not the applications).
If it can offer more options for apps to call, then I could see if any improvements are available.

1 Like

Probably Google implemented and provides overwrite for newer Android versions.
Hoping that OEMs don’t modify Android’s browser too (like in battery optimization).

I don’t succeed any more to overwirte an existing file even if I mark this before. Always a new file is created with extenctions (1), (2), (3)… own export function in previous Kurviger version was much better, don’t like this new framework.

Their Android issue is still open: overwrite is not officially supported,
at least on older Android versions.

Probably should not remember, so remove the name in route export
and suggest each time the “date_time” like happens in other exports.

This is not useful to me, since I want to overwrite an existing route file. With Date/Timestamp I would always create a new file. This is what I don’t need.

I can not open .kurviger files and GPX files from Total Commander any more:

But I can open the same files from Kurviger via Routing / import.
I tried to to open a Kurviger file out of file manager(German name: “Dateimanager”, supplied with Android 7 on my Asus ZenPad 3s 10 (z500m) ) - that opens a 2nd instance of Kurviger, icon from file manager, with strange behaviour of the “original” instance up to system crash, examples:

Kurviger Pro 1.14.3
Android 7.0 (API 24)
asus P027
2048 x 1536 (320 dpi)

Android no longer likes apps to access storage from external sources,
so similar workflows are discouraged according to Android guidelines.

They allow external access on newer Android via the new framework.
(I’ll fix the file associations on older Android to avoid more confusion)

Thanks for the hint!
I moved my folder “GPX” from where I do imports and exports into the Kurviger folder - then opening from Total Commander works again :+1:

File managers should return the proper file content according to Android guidelines.
Total Commander on older Android may need permission (works on newer Android).
You can use Google Files app, which should work with any location (even SD card).

Another topic: The export filename is not kept any more. Example:

  • create a short test route
  • export route with name “test77.kurviger”
  • just do next export: File name proposal is “20201116_204141.kurviger”, but should be “test77.Kurviger”.

Overwrite is not supported (at least officially).

If want to overwrite and is supported on your Android can click an existing route file and save.
But automatic addition of number on route file extension is not nice and should not be default.