public static Book getByFile(ZLFile bookFile) { if (bookFile == null) { return null; } final ZLPhysicalFile physicalFile = bookFile.getPhysicalFile(); if (physicalFile != null && !physicalFile.exists()) { return null; } final FileInfoSet fileInfos = new FileInfoSet(bookFile); Book book = BooksDatabase.Instance().loadBookByFile(fileInfos.getId(bookFile), bookFile); if (book != null) { book.loadLists(); } if (book != null && fileInfos.check(physicalFile, physicalFile != bookFile)) { return book; } fileInfos.save(); if (book == null) { book = new Book(bookFile); } if (book.readMetaInfo()) { book.save(); return book; } return null; }
public static Book getById(long bookId) { final Book book = BooksDatabase.Instance().loadBook(bookId); if (book == null) { return null; } book.loadLists(); final ZLFile bookFile = book.File; final ZLPhysicalFile physicalFile = bookFile.getPhysicalFile(); if (physicalFile == null) { return book; } if (!physicalFile.exists()) { return null; } FileInfoSet fileInfos = new FileInfoSet(physicalFile); if (fileInfos.check(physicalFile, physicalFile != bookFile)) { return book; } fileInfos.save(); return book.readMetaInfo() ? book : null; }