|
|
@@ -174,6 +174,14 @@ class MainViewModel(application: Application) : BaseViewModel(application) {
|
|
|
waitUpTocBooks.remove(bookUrl)
|
|
|
onUpTocBooks.remove(bookUrl)
|
|
|
postEvent(EventBus.UP_BOOKSHELF, bookUrl)
|
|
|
+ if (waitUpTocBooks.isEmpty()
|
|
|
+ && onUpTocBooks.isEmpty()
|
|
|
+ && cacheBookJob == null
|
|
|
+ && !CacheBookService.isRun
|
|
|
+ ) {
|
|
|
+ //所有目录更新完再开始缓存章节
|
|
|
+ cacheBook()
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
@Synchronized
|
|
|
@@ -185,9 +193,6 @@ class MainViewModel(application: Application) : BaseViewModel(application) {
|
|
|
)
|
|
|
val cacheBook = CacheBook.getOrCreate(source, book)
|
|
|
cacheBook.addDownload(book.durChapterIndex, endIndex)
|
|
|
- if (cacheBookJob == null && !CacheBookService.isRun) {
|
|
|
- cacheBook()
|
|
|
- }
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
@@ -205,7 +210,11 @@ class MainViewModel(application: Application) : BaseViewModel(application) {
|
|
|
CacheBook.cacheBookMap.forEach {
|
|
|
val cacheBookModel = it.value
|
|
|
while (cacheBookModel.waitCount > 0) {
|
|
|
- if (CacheBook.onDownloadCount < threadCount) {
|
|
|
+ //有目录更新是不缓存,优先更新目录,现在更多网站限制并发
|
|
|
+ if (waitUpTocBooks.isEmpty()
|
|
|
+ && onUpTocBooks.isEmpty()
|
|
|
+ && CacheBook.onDownloadCount < threadCount
|
|
|
+ ) {
|
|
|
cacheBookModel.download(this, upTocPool)
|
|
|
} else {
|
|
|
delay(100)
|