Android: fake results in search (no cleanup of database on moving of files around)

Happens to me all the time: when searching I get some results twice (although the file is in the filesystem only once) and one of the results (first in this case) just returns CoolReader to reading whatever I was reading before. Any ideas?
Using CoolReader from F-Droid.
CoolReader looks in the database, not the filesystem. Most likely, you have orphan records in your database instance:
- it was possible to move book files from one folder to another;
- or earlier there really were 2 copies of the file, then you deleted one, but the record remained in the database;
- in addition, it is possible that there are indeed several identical files on the device, in a place that you may not even imagine, for example, in the application private directory;
- more reasons, which I don't even presume...
Perhaps someday we will implement a neat cleaning of the database from such misunderstandings :)
I would think that “Search for books in the folder” (or how it is called in English, this is my back-translation from Czech) would do the database cleanup, doesn't it?
And yes, I do a lot of moving of EPub files among folders. Mostly I put all new files into tmp/ folder, and when I finish reading it, I move it to some appropriate archiving folder.
I would think that “Search for books in the folder” (or how it is called in English, this is my back-translation from Czech) would do the database cleanup, doesn't it?
No, it doesn't.
No, it doesn't.
OK, I'll bite. Why it doesn't?
OK, I'll bite. Why it doesn't?
Well, because nobody did. I think no one will mind if you implement a neat cleanup of the database and do a PR :)
Sorry, you don't want me to write a large C code.
Where is that database stored. I tried to clean up applications storage space and cache, but that isn’t it, right? Fake results are still present.
@mcepl, it was implemented in my fork, you could investigate from here (search for "maintenance", "orphan"): https://github.com/plotn/coolreader/blob/master/android/src/org/coolreader/crengine/ScanLibraryDialog.java Unfortunally I do not plan to make a PR into upstream, but one could adopt it, if he want.
Unfortunally I do not plan to make a PR into upstream, but one could adopt it, if he want.
Why?
Why?
The codebase became significially different, it is hard manual work. On the other hand - upstream development actually stopped, so this makes no sense, as I guess.
The codebase became significially different, it is hard manual work. On the other hand - upstream development actually stopped, so this makes no sense, as I guess.
So, why won’t you publish it as a fork and provide binaries on F-Droid?
@mcepl , this work in progress. anyway, you could get my binaries if you want from 4pda theme - e.g. https://4pda.to/forum/index.php?s=&showtopic=995536&view=findpost&p=113572389