Android Q and big changes to storing games

Tagged: 

Viewing 11 posts - 1 through 11 (of 11 total)
  • Author
    Posts
  • #7338
    admin
    Keymaster

    Hi people,

    **this change will be present in android 10 (Q), however is disabled by default. Since android 11 will be reality and we must adopt to this time**

    I like to write this topic, because google brings very critical change to storage management. Applications will lost access to files located on internal storage. The only visible folder will be “Downloads”, we must move folder with games here. Google calls it “Scoped directory” and it’s not all.

    In Scoped directory are blocked all standard (and very fast) file operations which dosbox uses, instead, google provides own – a very slow solution. This solution now works for games located on sdcard, so you can compare performance of both locations. Just now it affects all modify operations like write file, delete file, move or rename file. Reading was not affected, just now I don’t know in which stage is reading on q, will update this post if I will have more information.

    Performance degradation is drastically reduced, loading times are increased and vary per game and device. For example, Realms of Arkania 3 starts 50 seconds instead 33 seconds (without skipping intros). Saving games is longer, if game needs perform file write/delete/move/rename then whole emulator feels it.

    Google offers “Private folder” like a solution, this folder is not restricted (yet). Unfortunately, its whole content is deleted during application uninstallation. It means, data must be somehow backuped over time if we wont lost game progress.

    Read :
    Scoped Directory docs

    Android Q Storage Access Framework Scoped Storage on Xda

    1st April 2021 Update

    Magic Dosbox now targets Android 9 – this means, our main platform is Android 9. If we want continue publishing updates to Google Play service then we must update the target in next version to Android 10. There was not so much changes, so in beta version is Magic Dosbox already upgraded and works fine.

    Dramatic changes to storage announced by google for Android 10 were rejected, this is very good message. However, Android 11 comes with another changes to storage which looks like preparation for another stupidity, we will see what it will be, just now is it unclear. More here

    5th October 2021 Update


    I must say, situation like this never happen on Android. Major or breaking changes were always pushed to new android version. However, now, everything what was said about “Downloads” is not truth. Several months ago google released update which blocks it and introduced new permission called MANAGE_EXTERNAL_STORAGE. With this permission enabled can application access public storage like before. This is good news. Bad is, this permission must be manually approved by google during update on google play. And google is pretty strict about the set of applications which can get it. Emulators are not there. Emulators were always special kind of applications which required special access. There is little chance that this “specialty” can google persuade to allows us this permission. Bad is, while we don’t update application to android 11 compatibility we can use public storage without restrictions. However if we want release new updates then we must upgrade, and upgrade means loosing access to public storage and using SAF. We are alright with the concept of “Scoped storage”, we don’t need full storage, only one folder with our games. So why not use SAF? SAF does not access files and folders directly, instead it communicates through TCP protocol with some kind of service or daemon running on the device. This means, there are implemented timeouts and in addition google don’t care on performance. I created new topic about SAF performance and what it means here.

    What it means for android 11?

    We have some time (around 6 months, since now). Google blocks access to root of device storage (for applications with target Android 11) and declares “Download” folder for a root. Magic Dosbox stores settings in root under .MagicBox folder and probably everyone creates folder “Games” (or similar) with dos games in root. These folders will be not accessible on Android 11 (for applications which targets Android 11+). Both folders must be copied to “Download” directory before we will target android 11.

    Why we must upgrade compatibility to android 11?

    It is necessary, google made this restriction some time ago. It allows to be compatible only one version ago else we can’t publish to google play. More here.

    Soon will go out new update for Magic dosbox with various patches and updates. Then will start work on getting it compatible with Android 11.

    My device got upgrade to android 11, will magic dosbox work?
    Now yes, we still target androids with compatible storages.

    How will be folders moved to “Download” folder?

    This is question, probably will be moved automatically with service implemented in Magic Dosbox. More information will be known after some progress. And of course. Everyone can copy games and settings manually by self.

    #7342
    Al ex
    Keymaster

    Google heading down the Apple road…

    One obvious solution of course: NEVER uninstall Magic Dosbox again.? But why on earth do they have to plague is with this bs? ?

    #7759
    Islander
    Participant

    Can Magic DOSBox sync the files with Dropbox?

    #7802
    admin
    Keymaster

    No, but syncing can be done with external apps

    #7803
    Al ex
    Keymaster

    Check out Automate, or Tasker. Both can do pretty much anything.

    #8386
    mikelit
    Participant

    So the only solution for now is to stay on Android 10?
    No good solution for Android 11 yet?

    Will rooting the device help to solve this problem?

    #8387
    admin
    Keymaster

    Just now google moved this stupidity to next year (android 12). Seems, google is still not clear what to do. In january should be introduced new permissions and we will see. In worst case we must copy our games to private application folder and games will work like before. However will be deleted by system if application will be uninstalled. This is worst case.

    #8388
    mikelit
    Participant

    Thanks for prompt response.
    Do you know if there will be an access to this private folder via other apps? To sync with cloud for example?
    I am using MetaCtrl’s AutoSync to get a great cross-device experience with your great MagicDosBox

    #8390
    admin
    Keymaster

    From what i tried, private folder will not be accessible, for none 3rd party app. Every app must create own way how to get data there and out. At least it was this way when i was debugging it

    #8422
    xTMODx
    Participant

    Maybe you can make a button in app, that create a folder called “Magic Dosbox” in the “Downloads” location. Then copy or move the content, that needs to be backuped. So one have to press the button before uninstalling the app.

    #8424
    admin
    Keymaster

    Yes, this is good idea, i will do it. There is still chance when people forget to backup it, but at least there will be button. Google should implement “on uninstall” event when we can notify user.

Viewing 11 posts - 1 through 11 (of 11 total)
  • You must be logged in to reply to this topic.