protected List<BookInfo> doInBackground() throws Exception {
List<BookInfo> bookInfos = new ArrayList<BookInfo>();
BasicLibrary lib = Instance.getInstance().getLibrary();
- for (MetaData meta : lib.getList(null).filter(sources, authors, tags)) {
+ for (MetaData meta : lib.getList().filter(sources, authors, tags)) {
bookInfos.add(BookInfo.fromMeta(lib, meta));
}
private void filter(String filter) {
data.clear();
for (BookInfo bookInfo : bookInfos) {
- if (filter.isEmpty() || bookInfo.getMainInfo().toLowerCase().contains(filter.toLowerCase())) {
+ if (bookInfo.getMainInfo() == null || filter.isEmpty()
+ || bookInfo.getMainInfo().toLowerCase().contains(filter.toLowerCase())) {
data.addElement(bookInfo);
}
}
@Override
public void invalidateCache() {
+ // TODO: also reset the popup menu for sources/author
fireActionPerformed(INVALIDATE_CACHE);
}
});