New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Android: Use storage access framework for game list #9318
Conversation
f0e9281
to
10b4b8d
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The amount of new code and hacky workarounds we have to add just for Android is very unfortunate, but I guess we don't have a better solution :/
10b4b8d
to
e5ba79d
Compare
e5ba79d
to
6aea087
Compare
|
We've started getting reviews on Google Play saying that you can't run games from the SD card anymore on certain phones after updating to Android 11. Merging this PR should solve that, though I can't say for sure since I don't have any such phone to test it on. (As far as I know, this problem is not related to the scoped storage requirement for apps that target Android 11, which was the original reason why I made the PR.) |
|
The issue (which now has been filed as https://bugs.dolphin-emu.org/issues/12364) has been confirmed fixed by this PR. |
|
Sorry I got really behind. I'll be able to review this within the next 12 hours but if an emergency merge is needed, go ahead. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I noticed that changes detected after rescanning the library now take ~6 seconds to update with content provider paths. Old paths take less than 1 second to update. Any ideas on improving this? Otherwise LGTM
|
I'll try to reimplement |
To catch people who try to use unsupported formats.
6aea087
to
5f47b03
Compare
|
Done. Please re-test the performance. The game list seems reasonably fast (as long as you're not using DirectoryBlob, which is still using |
|
Unfortunately that did not improve library scanning times. I'm building a debug PR right now to confirm if DirectoryBlob's |
|
Ah wait, I made a little mistake in FileSearch.cpp that made it so that DoFileSearch would use both the C++ and Java implementations when it was supposed to use only the Java implementation. Let me fix this. |
5f47b03
to
d78277c
Compare
|
It's fixed now. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Library rescan takes about 4 seconds now. Good enough given what this PR fixes.
This is part of my efforts to add support for scoped storage.
A commit from PR #9167 is included in this PR. It should be merged as part of this PR to avoid users getting old-style paths in Dolphin.ini.