Commit Graph
21 Commits
Author SHA1 Message Date
Le Philousophe 37104bb601 ANDROID: Various SAFFSTree improvements
These new functions will be needed soon.
The loadSAFTrees function could be dangerous and should not be used from
outside SAFFSTree.
2025-04-17 17:33:31 +02:00
Le Philousophe 5356618bac ANDROID: Remove superfluous argument
As getNewSAFTree always returns a tree, asking for a file makes no
sense.
2025-04-17 17:33:31 +02:00
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