Skip to content
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: Allow using a custom Memory Stick storage path #11812

Merged
merged 2 commits into from
Feb 19, 2019

Conversation

unknownbrackets
Copy link
Collaborator

@unknownbrackets unknownbrackets commented Feb 18, 2019

This allows a user to keep their save data on an insertable card, or otherwise.

Fixes #9573, possibly also #11115 (actually merging seems dangerous and tricky), possibly #6307. Possibly #11731 too, although the UI isn't ideal for that laser-specific case.

Makes #10199 worse, since it just asks the user to type a path. I briefly looked at opening a "browse for folder" dialog on Android... but then just backed away slowly. But some folder browser would be ideal, and much more useful than just an option to store with the app (since that's not necessarily so great if you have an SD card slot.)

Errors are also a bit easy to miss. It uses the tips to tell you if the path you entered isn't writable. Maybe it should show a proper error screen...

-[Unknown]

This allows a user to keep their save data on an insertable card, or
otherwise.  Currently, the UI isn't great - errors are easy to miss,
and the path must be typed manually.
@unknownbrackets
Copy link
Collaborator Author

unknownbrackets commented Feb 18, 2019

Hm, I realized there might be one issue. If a user puts storage onto an exFAT or FAT card, we should really activate the case sensitivity stuff I suppose... Derp, actually, we would not need it, but it's safe to run that code anyway. Got it backwards.

-[Unknown]

@hrydgard
Copy link
Owner

UI isn't exactly optimal but it's a good setting to have. Let's do it.

@hrydgard hrydgard merged commit 5865c57 into hrydgard:master Feb 19, 2019
@unknownbrackets unknownbrackets deleted the android-memstick branch February 19, 2019 23:54
@unknownbrackets
Copy link
Collaborator Author

Someone reported this not working on a Huawei P9+ with Android 8.0, only when putting it on the micro SD card. Other paths working, and a Huawei Y3 with Android 5.0 worked fine.

Hmm. Will see if I can test more. Don't have many devices, especially not with micro SD slots...

-[Unknown]

@Saramagrean
Copy link
Contributor

Same problem in Galaxy J7 too.
Spec: Android 6.0.1, SD Card 32 GB. (VFAT FAT32)

@hrydgard
Copy link
Owner

Thinking of hiding the feature temporarily for the 1.8.0 release to avoid endless support email, until we can figure this out...

@Saramagrean
Copy link
Contributor

Test again with Huawei P9+, PPSSPP can change Memory stick folder to SD Card, if set default location to. SD Card. :)
screenshot_20190228-115618
screenshot_20190228-115638

@unknownbrackets
Copy link
Collaborator Author

unknownbrackets commented Mar 3, 2019

Basically, depending on the device/ROM and whether permissions were customized, you can't write to external SD cards so easily.

However, if you add: "/Android/data/org.ppsspp.ppsspp/" to the path, it will work. Example: "/storage/1234-5678/Android/data/org.ppsspp.ppsspp/". It's possible you might need to also add "files/" at the end if that doesn't work.

We could make a selection for this based on the return values of getExternalFilesDirs(null). I don't know how to detect if the device manufacturer has allowed write outside of this based on the normal external storage write permission, except trying it...

Interestingly, on a device I reproduced this with - both /storage/emulated/0/ and /storage/1234-5678/ were owned by root:sdcard_rw and had the same permissions and selinux context. Sigh.

-[Unknown]

@Saramagrean
Copy link
Contributor

Saramagrean commented Mar 30, 2019

Change to "mnt/media_rw/1098-BF03" It's work!!
#EDIT: root device & install module ExSDCard access enabler.

Screenshot_PPSSPP_20190330-185041

@Saramagrean
Copy link
Contributor

Set path to "/storage/SD Card name/Android/data/org.ppsspp.ppsspp/" is work too, but use the File explorer app create folder "org.ppsspp.ppsspp" folder before adjust settings. If folder is not created, PPSSPP will not be able to use this path.
Screenshot_PPSSPP_20190410-073045

@unknownbrackets
Copy link
Collaborator Author

Huh, PPSSPP on my device could create the path. Annoying that there's so much difference between devices here.

From what I understand of changes planned in the next Android version, this is only going to get more problematic...

-[Unknown]

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Not changeable PSP save directory (Android)
4 participants