Open x4455 opened 22 hours ago
Thanks for providing all the details!
This is the main issue:
RcloneProvider com.chiller3.rsaf.debug D renameDocument(TestArea:Mihon/downloads/Source/bookName/Episode1_tmp/043.tmp, 043.jpg)
RcloneProvider com.chiller3.rsaf.debug D ProxyFd[TestArea:Mihon/downloads/Source/bookName/Episode1_tmp/043.tmp].onRelease() complete
Mihon is creating a new file, writing the data, closing the file, and then renaming the file. However, closing a file is asynchronous on Android. So what happens is:
Android's (terrible) APIs have no way to make a client app wait for closing the file to actually complete.
I plan to add an option to disable caching (#79), but this only reduces the chance of the problem happening. It does not eliminate it. For cloud providers that need to perform some processing after the file is uploaded, closing the file is still not instant.
I think to actually solve this, I will need to update renameDocument
, copyDocument
, and moveDocument
to wait for in progress uploads to complete.
I'm using a comic book program: Mihon. I'm save a comic using his download function, and the comic program doesn't report an error, but it doesn't seem to be working properly. In DocumentsUI, I see the following:
And So on. Look like a small number of files succeeded.
More information
logcat
Using internal storage here.
RcloneProvider
Another logcat
Also get some error messages in testing