Le Philousophe
402f31122c
ANDROID: Don't track SAFFSNode using JNI global references anymore
...
The JNI global references are limited in count and we overflow it for
games with a huge number of files (like Zork Nemesis).
Instead, track all the nodes from Java side using a unique identifier
generated using an atomic counter.
Then, all JNI calls either use a temporary local reference to access
node data or use the unique identifier.
2025-01-26 18:17:05 +01:00
Le Philousophe
e08b8203bc
ANDROID: Use a SharedPtr to track SAF tree global references
...
This makes us use a single global reference per tree instead of
duplicating them on each filesystem node creation.
Thanks to the SharedPtr, the global reference is automatically
deallocated when needed.
This is the first step to avoid global references overflow.
2025-01-26 18:17:05 +01:00
Le Philousophe
3c4df9614a
ANDROID: Don't call error too early
...
When the backend is not yet set up, avoid using error which ends up
using exit without any useful error log.
2025-01-26 18:17:05 +01:00
Le Philousophe
e61dac6c68
BACKENDS: Allow write streams to be created atomically
...
When creating an atomic write stream, the file is only created once it
is closed.
This can be done using a temporary file.
This commit only adds the API but not the proper implementation.
2024-10-15 22:45:50 +02:00
Le Philousophe
867cbfcd0d
ANDROID: Create a dedicated define for Android backend
...
This allows other backends (SDL, libretro) to be used on Android without
hacks.
2024-09-02 20:53:57 +03:00
Le Philousophe
6c248275c8
ANDROID: Fix assertion fault and missing initializer
2023-04-22 12:28:22 +02:00
antoniou79
42991838c5
ANDROID: Comments on Android storage
...
And a minor comment fix
2023-03-27 14:12:09 +03:00
Le Philousophe
acccb564cb
ANDROID: Don't crash when fetchChildren failed in Java
2023-03-18 12:01:05 +01:00
Eugene Sandulenko
1f49e54599
ANDROID: Avoid including translations.h in a header
2023-03-17 14:42:55 +01:00
Le Philousophe
55c9a7529f
ANDROID: Don't keep a _cache variable, it's never checked
2023-03-04 18:16:20 +01:00
Le Philousophe
316a6974ba
ANDROID: Slightly optimize and rewrite cacheData
2023-03-04 18:16:20 +01:00
Le Philousophe
4bcd7084db
ANDROID: Add missing header for Android filesystem specific
2023-02-28 19:31:59 +01:00
Le Philousophe
075c3f4246
ANDROID: Add remove feature to Android filesystem abstraction
2023-02-28 19:12:11 +02:00
Le Philousophe
625c1d10c8
ANDROID: Allow SAF non-existent node creation from path
...
This is used by DumpFile.
As in all other implementations, parent node is expected to exist.
2023-02-26 12:20:13 +01:00
Le Philousophe
9d879cb04f
ANDROID: Allow to create a /saf node from path
...
This avoids errors when creating parent directories in DumpFile
This also allows the user to specify /saf path in browser to allow
browsing.
2023-02-26 12:20:13 +01:00
Le Philousophe
a8692ebf13
ANDROID: Make SAF strings translatable and better looking
2023-02-12 17:54:45 +01:00
Le Philousophe
baf42ae7e6
ANDROID: Add a dialog to revoke SAF authorizations
...
Remove old all-in-one revoke authorizations process
2023-01-20 14:14:03 +01:00
Le Philousophe
a465718c24
ANDROID: Fix comment
...
For coherence sake
2023-01-20 14:14:03 +01:00
Le Philousophe
ca1dbfc9d6
ANDROID: Add SAF support
2023-01-20 14:14:03 +01:00