It's an Android problem.
Procedure is exactly what I thought it was. Save to file, shrink save file (I just sold items), save to file, touch the existing save file to change the name to match, choose to overwrite, Android only writes what it has and leaves everything after that.
What the fuck? In what universe is that a reasonable way to handle overwrites?
Here's a StackOverflow question on how to fix it, although this might be upstream of TiTS.
>> Background I want to use the SAF (Storage Access Frameword) to save data files of my app to the user's desired location on storage media. I first create the file at app dedicated folder and the...
stackoverflow.com
On the bright side this just gave me the answer to an occasional complaint I get on one of my own apps. Didn't expect that when looking at a bug in a porn game, so thanks I guess?