[Nook Touch Themes and Apps] nmyshkin:
6-13-21 See post #4 below for a new automatic version of the app!!

My original intention was to look into updating this project for FW 1.21 but my eyes got bigger and bigger as I realized how difficult that would probably be for me. So here's maybe the next best thing for now.

This is a

manual

one-touch app which extracts the record of the currently read book from readerlocal.db, selects the appropriate cover image from .docThumbs, and copies it into a folder in /media/screensavers. A short "flash" confirms the operation.

Requirements:

1. Root

2. Superuser

3. sqlite3 in /system/bin

4. the folder "CurrentBookCover" in /media/screensavers

5. Stock Library and Reader

6. Default file storage for books and docThumbs

To install:

Download sqlite.zip (thanks to Nookie!), and the apk below. Extract sqlite3 from the zip file and copy it into /system/bin. You will probably have to change permissions (give write permission to all) and then change them back. File permissions on sqlite3 should be rwx r-x r-x or CH MOD 755.

Create the folder "CurrentBookCover" in /media/screensavers. Install the app either via ADB or by copying the apk file to your Nook and installing from a file manager. Use the NST "Settings" app to select the new screensaver folder.

You can run the app at any time. Repeats on the same title will simply overwrite. My experience with this app is that it is sluggish on first run. It seems to take a long time for SuperUser to wake up and notice the request. It may seem to fail after you initially give it permission. Run it again and it should be fine--and thereafter.

Which books?

As long as side-loaded books are in the default folders (internal: /media/My Files/Books, external: /sdcard/My Files/Books) they will be fine. Sub-folders within the "Book" folders are also OK. The reason for this restriction is so that the .docThumbs folders in which the Library places the cover images will be in a predictable place. A "settings" section would be nice to allow for some leeway, but that is beyond me and, in any case, it's the stock Library app that determines where the .docThumbs folders will go.

B&N downloaded books do not have cover images in a place where they can be found (by me, anyway). The books themselves appear to reside in /data/media/B&N Downloads and are listed by code numbers, not titles. Although the app can detect the downloaded books, there is no corresponding .docThumbs folder and so no cover images. Nothing will be copied to the screensaver folder and your default image will appear instead. However, if you want a cover image you can make one of your own for the book and copy it into /media/.docThumbs (create the folder if it's not already there). The name of the file should match the code number of the book. Something like 9780062020765.jpeg or whatever.

PDFs also do not have cover images which the Library can extract. The situation is exactly the same as for B&N downloaded books. You will get your default screensaver if you run the app. If you want a cover image just be sure to give it the same name as the PDF file and place it either in /media/.docThumbs (for internal memory) or /sdcard/.docThumbs (for external memory). Of course, there will be no thumbnail in the Library no matter what.

Books transferred using Adobe Digital Editions are like books from B&N in that they are DRM protected, although the exact nature of the DRM protection is apparently different. These books end up in /media/Digital Editions as titled epub files but no cover image is either generated or can be extracted because of the DRM. A cover

thumbnail

is generated in /media/Digital Editions/Thumbnails but it is very low resolution and might be suitable for the Library cover image but in my experience the NST/G is not able to find it. If you manually move the epub file to a location where other books are generally stored there is no docThumb file generated and you still don't get a cover image in the Library. So....well, there is no good solution other than to manually place a cover image of your own in the screensaver folder. Alternatively, you may choose to remove the DRM protection before transferring the book (i.e., do not use ADE to transfer) and then treat it as a regular side-loaded book. Everything will then work as expected.

This is a Tasker-generated app and my personal hope (since I use Tasker on my NST) was to make a Profile that would run this routine automatically when a book was accessed in the Library, completely silent. This has proven to be something of a puzzle as it's not clear exactly when the database is actually updated and attempts to make the task watch for that event have not been successful. Yet. I welcome any insights into that. I've never seen the

app

fail to pick up the correct cover.

Please report bugs/problems/suggestions.

This app--and all Tasker-generated apps--have a dependency on two library files normally installed with GApps. You can still use these apps by copying the two attached files into the locations shown below (the xml file is zipped so you can download it rather than view it):

/system/etc/permissions/com.google.android.maps.xml

/system/framework/com.google.android.maps.jar

Set permissions for both files to rw-r--r-- and reboot.