public void updateMetaUi() { Book book = mSpritzer.getBook(); Metadata meta = book.getMetadata(); Author author = meta.getAuthors().get(0); int curChapter = mSpritzer.getCurrentChapter(); mAuthorView.setText(author.getFirstname() + " " + author.getLastname()); mTitleView.setText(meta.getFirstTitle()); String chapterText; if (book.getSpine().getResource(curChapter).getTitle() == null || book.getSpine().getResource(curChapter).getTitle().trim().compareTo("") == 0) { chapterText = String.format("Chapter %d", curChapter); } else { chapterText = book.getSpine().getResource(curChapter).getTitle(); } int startSpan = chapterText.length(); chapterText = String.format( "%s %s m left", chapterText, (mSpritzer.getMinutesRemainingInQueue() == 0) ? "<1" : String.valueOf(mSpritzer.getMinutesRemainingInQueue())); int endSpan = chapterText.length(); Spannable spanRange = new SpannableString(chapterText); TextAppearanceSpan tas = new TextAppearanceSpan(mChapterView.getContext(), R.style.MinutesToGo); spanRange.setSpan(tas, startSpan, endSpan, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE); mChapterView.setText(spanRange); mProgress.setMax(mSpritzer.getMaxChapter()); mProgress.setProgress(curChapter); }
@Override public void storeBook(String fileName, Book book, boolean updateLastRead, boolean copyFile) throws IOException { File bookFile = new File(fileName); boolean hasBook = hasBook(bookFile.getName()); if (hasBook && !updateLastRead) { return; } else if (hasBook) { helper.updateLastRead(bookFile.getName(), -1); return; } Metadata metaData = book.getMetadata(); String authorFirstName = "Unknown author"; String authorLastName = ""; if (metaData.getAuthors().size() > 0) { authorFirstName = metaData.getAuthors().get(0).getFirstname(); authorLastName = metaData.getAuthors().get(0).getLastname(); } byte[] thumbNail = null; try { if (book.getCoverImage() != null && book.getCoverImage().getSize() < MAX_COVER_SIZE) { thumbNail = resizeImage(book.getCoverImage().getData()); book.getCoverImage().close(); } } catch (IOException io) { } catch (OutOfMemoryError err) { // If the image resource is too big, just import without a cover. } String description = ""; if (!metaData.getDescriptions().isEmpty()) { description = metaData.getDescriptions().get(0); } String title = book.getTitle(); if (title.trim().length() == 0) { title = fileName.substring(fileName.lastIndexOf('/') + 1); } if (copyFile) { bookFile = copyToLibrary(fileName, authorLastName + ", " + authorFirstName, title); } this.helper.storeNewBook( bookFile.getAbsolutePath(), authorFirstName, authorLastName, title, description, thumbNail, updateLastRead); }