import be.nikiroo.fanfix.data.Story;
import be.nikiroo.fanfix.library.BasicLibrary;
import be.nikiroo.utils.Image;
+import be.nikiroo.utils.StringUtils;
/**
* Some meta information related to a "book" (which can either be a
public Image getBaseImage(BasicLibrary lib) {
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());
info.meta = meta;
- info.count = formatNumber(meta.getWords());
+ info.count = StringUtils.formatNumber(meta.getWords());
if (!info.count.isEmpty()) {
info.count = GuiReader.trans(
meta.isImageDocument() ? StringIdGui.BOOK_COUNT_IMAGES
GuiReaderBookInfo info = new GuiReaderBookInfo(Type.SOURCE, "source_"
+ source, source);
- info.count = formatNumber(lib.getListBySource(source).size());
+ info.count = StringUtils.formatNumber(lib.getListBySource(source)
+ .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 = formatNumber(lib.getListByAuthor(author).size());
+ info.count = StringUtils.formatNumber(lib.getListByAuthor(author)
+ .size());
if (!info.count.isEmpty()) {
info.count = GuiReader.trans(StringIdGui.BOOK_COUNT_STORIES,
info.count);
return info;
}
-
- /**
- * Format a number for display (use the "k" notation if higher or equal to
- * 4000).
- *
- * @param number
- * the number to parse
- *
- * @return the displayable version of the number
- */
- static private String formatNumber(long number) {
- String displayNumber;
- if (number >= 4000) {
- displayNumber = "" + (number / 1000) + "k";
- } else if (number > 0) {
- displayNumber = "" + number;
- } else {
- displayNumber = "";
- }
-
- return displayNumber;
- }
}