App: Storage access framework

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.

Yes, I know - but from my point of view nevertheless the original name should be kept - especially in this case:

  • import a Kurviger file
  • export as GPX (in my case usually with same name, but other extension “.GPX”, of course

The GPX with that name does not exist yet - and when using long “speaking” file names, just copying name of imported file to name proposal for export would improve useability a lot.

But also when just “developing” a route - usually I save several versions with nearly the same filename, just increasing an index at the end.

1 Like

Well I proposed the change for security reasons 2 weeks ago and all this time no one said otherwise:

Sorry - I have to admit that I did not get that or overread it - my fault!

I still think adding an index suffix to the base filename as proposed in App: Storage access framework would be the best solution.
If the android interface does not provide such an interface, perhaps it is possible to check, if target name exists - if yes - and add / increase an index to the base name suffix.
From my point of view searching the name of the previous version in a file list and tap on it just to copy the name is quite uncomfortable.
As far as I understood the old export interface with overwrite hint will not work with future Android - but for my use cases that solution had several advantages.
I am not familiar with android programming, but just doing a google search for “android storage access framework overwrite” there is a hit on stackoverflow, that describes a possibility to overwrite existing files:
https://stackoverflow.com/questions/56902845/how-to-properly-overwrite-content-of-file-using-android-storage-access-framework
So perhaps a combination of the old system with overwrite warning and the SAF might be possible…but perhaps I misunderstood that or even did not understand the problem.

If you all find so useful the route name, I could revert that change for Kurviger. :slightly_smiling_face:

Regarding storage access framework, it works with streams, not real file paths.
Official API has less surprises and only Google can improve it in new Android.

1 Like

For my opinion the route name is more comfortable, especially if I save .kurviger for me and .gpx for my friends. I’d like it.

1 Like

No reaction ? The changes with Android seems too intense to me (user !) to immediately respond just like that in a ‘wild’ way without sufficient knowledge about the new situation. I suppose many users do not know what exactly is coming to us with the newest Android policy. The message so far does not seem attractive to me. Once again it seems that Android is cutting the legs from under their own chair. Causing the same misery as ever with that A 4.4 Kit Kat version with the barely accessible external sd card. As a normal Android user, I fear the worst and nothing to cheer about. For developers probably a lot of headaches to keep existing apps workable. No? The first question about the adoptable storage if someone is aware of it. What are those damn ‘streams’ then ?

1 Like

Android’s storage access framework should allow full SD card access.
Apps struggled with its integration, until it will become mandatory now.

It means that apps cannot know regular file names or paths, as we all know them.
Apps are allowed to only process content as stream, i.e. directly the internal bytes.
And since the framework is external to the apps, we can only call it, not change it.

Like mentioned above, if have problems with file managers, use Google Files app.

https://www.xda-developers.com/android-q-storage-access-framework-scoped-storage/

https://www.xda-developers.com/google-file-manager-devs-submit-form-broad-file-storage-access-android-11/