| 
						
						
							
								
							
						
						
					 | 
					 | 
					@ -14,6 +14,7 @@ import io.legado.app.data.entities.BookChapter | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					import io.legado.app.data.entities.BookSource | 
					 | 
					 | 
					 | 
					import io.legado.app.data.entities.BookSource | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					import io.legado.app.help.BookHelp | 
					 | 
					 | 
					 | 
					import io.legado.app.help.BookHelp | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					import io.legado.app.help.coroutine.Coroutine | 
					 | 
					 | 
					 | 
					import io.legado.app.help.coroutine.Coroutine | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					import io.legado.app.model.NoStackTraceException | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					import io.legado.app.model.ReadBook | 
					 | 
					 | 
					 | 
					import io.legado.app.model.ReadBook | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					import io.legado.app.model.localBook.LocalBook | 
					 | 
					 | 
					 | 
					import io.legado.app.model.localBook.LocalBook | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					import io.legado.app.model.webBook.WebBook | 
					 | 
					 | 
					 | 
					import io.legado.app.model.webBook.WebBook | 
				
			
			
		
	
	
		
		
			
				
					| 
						
						
						
							
								
							
						
					 | 
					 | 
					@ -36,17 +37,25 @@ class BookInfoViewModel(application: Application) : BaseViewModel(application) { | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					            val name = intent.getStringExtra("name") ?: "" | 
					 | 
					 | 
					 | 
					            val name = intent.getStringExtra("name") ?: "" | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					            val author = intent.getStringExtra("author") ?: "" | 
					 | 
					 | 
					 | 
					            val author = intent.getStringExtra("author") ?: "" | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					            val bookUrl = intent.getStringExtra("bookUrl") ?: "" | 
					 | 
					 | 
					 | 
					            val bookUrl = intent.getStringExtra("bookUrl") ?: "" | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					            appDb.bookDao.getBook(name, author)?.let { book -> | 
					 | 
					 | 
					 | 
					            appDb.bookDao.getBook(name, author)?.let { | 
				
			
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					                inBookshelf = true | 
					 | 
					 | 
					 | 
					                inBookshelf = true | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					                setBook(book) | 
					 | 
					 | 
					 | 
					                setBook(it) | 
				
			
			
				
				
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					            } ?: let { | 
					 | 
					 | 
					 | 
					                return@execute | 
				
			
			
				
				
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					                val searchBook = appDb.searchBookDao.getSearchBook(bookUrl) | 
					 | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					                    ?: appDb.searchBookDao.getFirstByNameAuthor(name, author) | 
					 | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					                searchBook?.toBook()?.let { book -> | 
					 | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					                    setBook(book) | 
					 | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
	
		
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					            } | 
					 | 
					 | 
					 | 
					            } | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					            if (bookUrl.isNotBlank()) { | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					                appDb.searchBookDao.getSearchBook(bookUrl)?.toBook()?.let { | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					                    setBook(it) | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					                    return@execute | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					                } | 
					 | 
					 | 
					 | 
					                } | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					            } | 
					 | 
					 | 
					 | 
					            } | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					            appDb.searchBookDao.getFirstByNameAuthor(name, author)?.toBook()?.let { | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					                setBook(it) | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					                return@execute | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					            } | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					            throw NoStackTraceException("未找到书籍") | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					        }.onError { | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					            context.toastOnUi(it.localizedMessage) | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					        } | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    } | 
					 | 
					 | 
					 | 
					    } | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    fun refreshData(intent: Intent) { | 
					 | 
					 | 
					 | 
					    fun refreshData(intent: Intent) { | 
				
			
			
		
	
	
		
		
			
				
					| 
						
							
								
							
						
						
						
					 | 
					 | 
					
  |