Use app-specific storage for Google Play versions of the Android app#18321
Merged
LibretroAdmin merged 6 commits intolibretro:masterfrom Oct 22, 2025
Merged
Use app-specific storage for Google Play versions of the Android app#18321LibretroAdmin merged 6 commits intolibretro:masterfrom
LibretroAdmin merged 6 commits intolibretro:masterfrom
Conversation
Added move and rename methods Provider notifies viewer to refresh view when files are changed Bumped up TargetApi annotation for DocumentsContract.buildTreeDocumentUri. Could alternatively use androidx compat class.
It says on https://developer.android.com/google/play/requirements/target-sdk at time of writing that starting August 31 2025, "New apps and app updates must target Android 15 (API level 35) or higher to be submitted to Google Play".
The old version of com.google.android.play:core doesn't work with Android API level 34 or later due to an incompatible change made to the registerReceiver() function in the Android API.
Contributor
|
@white-axe |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
The Google Play versions of the RetroArch Android app have not been updated for a while due to the scoped storage requirement in Android API level 30 and the Google Play store requiring all new apps and app updates to target Android API level 35, thus enforcing scoped storage for all new apps and app updates on Google Play.
There was a fix for this in #16393 that would make all versions of the RetroArch Android app use the app-specific storage, which is allowed, but that was reverted because it would break people's workflows. This pull request changes only the Google Play builds to use app-specific storage and does not change the non-Google Play builds, which is hopefully a good compromise. This would, at least, get the app back on Google Play without disrupting any users who are not using the Google Play version.
As mentioned in #12181, we could use the Storage Access Framework (SAF) in addition to, or instead of, this, to allow RetroArch and libretro cores to access persistent storage so that users' ROMs don't get deleted whenever they uninstall the app. However, all libretro cores that use full paths would need to be changed to use the libretro virtual filesystem (VFS) interface, since the SAF offers only a Java-based API for accessing the directories and doesn't expose them to C/C++. The SAF also introduces a performance penalty for that reason. I suppose it's the decision of the maintainer of this repository with regards to whether or not the SAF + VFS thing is worth it.