Quote:
Originally Posted by davidfor
Your detective work is pretty much correct. The __PercentageRead is ignored when the ReadStatus is either 0 or 2. An annoying thing is that when finishing the book, the device does not set __PercentageRead to 100. It tends to be 99 if you finish by paging past the end end of the book.
The above columns plus two others are what the store/restore look at. But, the reading stats uses other information.
The percentage of books read is from the content table. It is the count of books marked as read (ContentType=6 and ReadStatus=2) divided by the count of books in the library (ContentType=6 and other conditions to exclude previews and recommendations).
The count of books finished comes from the Event table. It is the count of books with EventType=5. But, it also looks at the ExtraData and CheckSum columns. Simply adding a row for a book with EventType=5 is not enough for it to be counted. The data in these other columns has to be valid. ExtraData is a BLOB and is a pain to decode. It's probably a serialized class, but I don't have access to the class. And what the CheckSum is calculated on, I don't know. It could just be ExtraData, or it could be the rest of the row. I have a couple of thoughts for experiments that I will try, but I don't hold out much hope of success.
|
Bummer!!
My Touch went nuts again.... here I go to mark my 200 read books as finished!