private String guid;\r
public NoteSignal noteSignal;\r
private boolean keepRunning;\r
+ public boolean interrupt;\r
private final DatabaseConnection conn;\r
private volatile LinkedBlockingQueue<String> workQueue;\r
private static int MAX_QUEUED_WAITING = 1000;\r
logger.log(logger.MEDIUM, "Starting thumbnail thread ");\r
while (keepRunning) {\r
try {\r
+ interrupt = false;\r
String work = workQueue.take();\r
if (work.startsWith("GENERATE")) {\r
work = work.replace("GENERATE ", "");\r
generateThumbnail();\r
}\r
if (work.startsWith("SCAN")) {\r
- scanDatabase();\r
+ if (conn.getNoteTable().getThumbnailNeededCount() > 1)\r
+ scanDatabase();\r
}\r
if (work.startsWith("IMAGE")) {\r
work = work.replace("IMAGE ", "");\r
// Find a few records that need thumbnails\r
List<String> guids = conn.getNoteTable().findThumbnailsNeeded();\r
logger.log(logger.HIGH, guids.size() +" records returned");\r
- for (int i=0; i<guids.size() && keepRunning; i++) {\r
+ for (int i=0; i<guids.size() && keepRunning && !interrupt; i++) {\r
guid = guids.get(i);\r
logger.log(logger.HIGH, "Working on:" +guids.get(i));\r
generateThumbnail();\r