| 
						
						
							
								
							
						
						
					 | 
					 | 
					@ -9,7 +9,6 @@ import io.legado.app.base.BaseViewModel | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					import io.legado.app.constant.BookType | 
					 | 
					 | 
					 | 
					import io.legado.app.constant.BookType | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					import io.legado.app.data.entities.Book | 
					 | 
					 | 
					 | 
					import io.legado.app.data.entities.Book | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					import io.legado.app.data.entities.BookChapter | 
					 | 
					 | 
					 | 
					import io.legado.app.data.entities.BookChapter | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					import io.legado.app.data.entities.BookSource | 
					 | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					import io.legado.app.help.BookHelp | 
					 | 
					 | 
					 | 
					import io.legado.app.help.BookHelp | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					import io.legado.app.model.WebBook | 
					 | 
					 | 
					 | 
					import io.legado.app.model.WebBook | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					import io.legado.app.service.ReadAloudService | 
					 | 
					 | 
					 | 
					import io.legado.app.service.ReadAloudService | 
				
			
			
		
	
	
		
		
			
				
					| 
						
						
						
							
								
							
						
					 | 
					 | 
					@ -23,7 +22,6 @@ class ReadBookViewModel(application: Application) : BaseViewModel(application) { | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    var bookData = MutableLiveData<Book>() | 
					 | 
					 | 
					 | 
					    var bookData = MutableLiveData<Book>() | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    val chapterListFinish = MutableLiveData<Boolean>() | 
					 | 
					 | 
					 | 
					    val chapterListFinish = MutableLiveData<Boolean>() | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    var chapterSize = 0 | 
					 | 
					 | 
					 | 
					    var chapterSize = 0 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    var bookSource: BookSource? = null | 
					 | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    var callBack: CallBack? = null | 
					 | 
					 | 
					 | 
					    var callBack: CallBack? = null | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    var durChapterIndex = 0 | 
					 | 
					 | 
					 | 
					    var durChapterIndex = 0 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    var durPageIndex = 0 | 
					 | 
					 | 
					 | 
					    var durPageIndex = 0 | 
				
			
			
		
	
	
		
		
			
				
					| 
						
						
						
							
								
							
						
					 | 
					 | 
					@ -31,7 +29,7 @@ class ReadBookViewModel(application: Application) : BaseViewModel(application) { | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    var prevTextChapter: TextChapter? = null | 
					 | 
					 | 
					 | 
					    var prevTextChapter: TextChapter? = null | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    var curTextChapter: TextChapter? = null | 
					 | 
					 | 
					 | 
					    var curTextChapter: TextChapter? = null | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    var nextTextChapter: TextChapter? = null | 
					 | 
					 | 
					 | 
					    var nextTextChapter: TextChapter? = null | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    private var webBook: WebBook? = null | 
					 | 
					 | 
					 | 
					    var webBook: WebBook? = null | 
				
			
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    private val loadingChapters = arrayListOf<Int>() | 
					 | 
					 | 
					 | 
					    private val loadingChapters = arrayListOf<Int>() | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    private val loadingLock = "loadingLock" | 
					 | 
					 | 
					 | 
					    private val loadingLock = "loadingLock" | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
	
		
		
			
				
					| 
						
						
						
							
								
							
						
					 | 
					 | 
					@ -49,8 +47,7 @@ class ReadBookViewModel(application: Application) : BaseViewModel(application) { | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					                durPageIndex = book.durChapterPos | 
					 | 
					 | 
					 | 
					                durPageIndex = book.durChapterPos | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					                isLocalBook = book.origin == BookType.local | 
					 | 
					 | 
					 | 
					                isLocalBook = book.origin == BookType.local | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					                bookData.postValue(book) | 
					 | 
					 | 
					 | 
					                bookData.postValue(book) | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					                bookSource = App.db.bookSourceDao().getBookSource(book.origin) | 
					 | 
					 | 
					 | 
					                App.db.bookSourceDao().getBookSource(book.origin)?.let { | 
				
			
			
				
				
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					                bookSource?.let { | 
					 | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					                    webBook = WebBook(it) | 
					 | 
					 | 
					 | 
					                    webBook = WebBook(it) | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					                } | 
					 | 
					 | 
					 | 
					                } | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					                val count = App.db.bookChapterDao().getChapterCount(book.bookUrl) | 
					 | 
					 | 
					 | 
					                val count = App.db.bookChapterDao().getChapterCount(book.bookUrl) | 
				
			
			
		
	
	
		
		
			
				
					| 
						
							
								
							
						
						
							
								
							
						
						
					 | 
					 | 
					@ -211,7 +208,9 @@ class ReadBookViewModel(application: Application) : BaseViewModel(application) { | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					            } | 
					 | 
					 | 
					 | 
					            } | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					            App.db.bookDao().insert(book) | 
					 | 
					 | 
					 | 
					            App.db.bookDao().insert(book) | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					            bookData.postValue(book) | 
					 | 
					 | 
					 | 
					            bookData.postValue(book) | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					            bookSource = App.db.bookSourceDao().getBookSource(book.origin) | 
					 | 
					 | 
					 | 
					            App.db.bookSourceDao().getBookSource(book.origin)?.let { | 
				
			
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					                webBook = WebBook(it) | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					            } | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					            if (book.tocUrl.isEmpty()) { | 
					 | 
					 | 
					 | 
					            if (book.tocUrl.isEmpty()) { | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					                loadBookInfo(book) | 
					 | 
					 | 
					 | 
					                loadBookInfo(book) | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					            } else { | 
					 | 
					 | 
					 | 
					            } else { | 
				
			
			
		
	
	
		
		
			
				
					| 
						
							
								
							
						
						
							
								
							
						
						
					 | 
					 | 
					@ -262,8 +261,10 @@ class ReadBookViewModel(application: Application) : BaseViewModel(application) { | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    fun upBookSource() { | 
					 | 
					 | 
					 | 
					    fun upBookSource() { | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        execute { | 
					 | 
					 | 
					 | 
					        execute { | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					            bookData.value?.let { | 
					 | 
					 | 
					 | 
					            bookData.value?.let { book -> | 
				
			
			
				
				
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					                bookSource = App.db.bookSourceDao().getBookSource(it.origin) | 
					 | 
					 | 
					 | 
					                App.db.bookSourceDao().getBookSource(book.origin)?.let { | 
				
			
			
				
				
			
		
	
		
		
	
		
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					                    webBook = WebBook(it) | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					                } | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					            } | 
					 | 
					 | 
					 | 
					            } | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        } | 
					 | 
					 | 
					 | 
					        } | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    } | 
					 | 
					 | 
					 | 
					    } | 
				
			
			
		
	
	
		
		
			
				
					| 
						
							
								
							
						
						
						
					 | 
					 | 
					
  |