07-25-2021, 04:11 PM
McAroni - With Android 11, MobileSheetsPro can't just scan the SD card to find the appropriate paths for the files. So if you backed up only the database, then copied that to another device, the SD card on that device will be mounted under a different path, so MobileSheetsPro won't be able to find the files, won't be able to scan for them (as it doesn't have permission to just scan all of the files and folders on the SD card) and potentially won't be able to access files outside the application data directory if MobileSheetsPro is not given unrestricted access by Google. On earlier Android versions, you could certainly try to fix things with the Settings->Other Settings->Fix Broken File Paths tool, but that's beyond the capabilities of most users, and you would still have to grant MobileSheetsPro access to the root folder of the SD card before doing this, which most people probably wouldn't realize.
Google is moving in this direction whether we like it or not, and there will be fewer and fewer devices available that aren't running the newer Android versions. So I really do think the best option is to support something more similar to the Windows 10 version where you can pick a storage location, then place all your files/folders inside it, then import those files and MobileSheetsPro will retain the folder structure in use. Obviously Android 11 might throw a wrench into this if Google doesn't provide unrestricted access, so users would have to understand that they need to copy their files to the application data directory before importing them if they want to maintain their folder structure.
As a final comment, if you enable Settings->Storage->Expose Database, you can already copy and restore the database without using the library backup/restore functionality. If you use a custom storage location on the internal storage, the database will be under that folder. If you use an SD card, the database is stored under /storage/emulated/0/Android/data/com.zubersoft.mobilesheetspro/files. Just enable expose database on the other device, then overwrite mobilesheets.db with the one from the other device. This accomplishes the same goal but doesn't open up pandora's box by allowing people to incorrectly backup/restore their libraries and then angrily contact me when they've lost their library due to not understanding the consequences of backing up only the database.
Mike
Google is moving in this direction whether we like it or not, and there will be fewer and fewer devices available that aren't running the newer Android versions. So I really do think the best option is to support something more similar to the Windows 10 version where you can pick a storage location, then place all your files/folders inside it, then import those files and MobileSheetsPro will retain the folder structure in use. Obviously Android 11 might throw a wrench into this if Google doesn't provide unrestricted access, so users would have to understand that they need to copy their files to the application data directory before importing them if they want to maintain their folder structure.
As a final comment, if you enable Settings->Storage->Expose Database, you can already copy and restore the database without using the library backup/restore functionality. If you use a custom storage location on the internal storage, the database will be under that folder. If you use an SD card, the database is stored under /storage/emulated/0/Android/data/com.zubersoft.mobilesheetspro/files. Just enable expose database on the other device, then overwrite mobilesheets.db with the one from the other device. This accomplishes the same goal but doesn't open up pandora's box by allowing people to incorrectly backup/restore their libraries and then angrily contact me when they've lost their library due to not understanding the consequences of backing up only the database.
Mike