package be.nikiroo.fanfix.reader.ui;
+import java.io.IOException;
+
import be.nikiroo.fanfix.bundles.StringIdGui;
import be.nikiroo.fanfix.data.MetaData;
import be.nikiroo.fanfix.data.Story;
* the {@link BasicLibrary} to use to fetch the image
*
* @return the base image
+ *
+ * @throws IOException
+ * in case of I/O error
*/
- public Image getBaseImage(BasicLibrary lib) {
+ public Image getBaseImage(BasicLibrary lib) throws IOException {
switch (type) {
case STORY:
- return lib.getCover(meta.getLuid());
+ if (meta.getCover() != null) {
+ return meta.getCover();
+ }
+
+ if (meta.getLuid() != null) {
+ return lib.getCover(meta.getLuid());
+ }
+
+ return null;
case SOURCE:
return lib.getSourceCover(value);
case AUTHOR:
if (uid == null || uid.trim().isEmpty()) {
uid = meta.getLuid();
}
+ if (uid == null || uid.trim().isEmpty()) {
+ uid = meta.getUrl();
+ }
GuiReaderBookInfo info = new GuiReaderBookInfo(Type.STORY, uid,
meta.getTitle());
GuiReaderBookInfo info = new GuiReaderBookInfo(Type.SOURCE, "source_"
+ source, source);
- info.count = StringUtils.formatNumber(lib.getListBySource(source)
- .size());
+ int size = 0;
+ try {
+ size = lib.getListBySource(source).size();
+ } catch (IOException e) {
+ }
+
+ info.count = StringUtils.formatNumber(size);
if (!info.count.isEmpty()) {
info.count = GuiReader.trans(StringIdGui.BOOK_COUNT_STORIES,
info.count);
GuiReaderBookInfo info = new GuiReaderBookInfo(Type.AUTHOR, "author_"
+ author, author);
- info.count = StringUtils.formatNumber(lib.getListByAuthor(author)
- .size());
+ int size = 0;
+ try {
+ size = lib.getListByAuthor(author).size();
+ } catch (IOException e) {
+ }
+
+ info.count = StringUtils.formatNumber(size);
if (!info.count.isEmpty()) {
info.count = GuiReader.trans(StringIdGui.BOOK_COUNT_STORIES,
info.count);