|
|
|
@ -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) |
|
|
|
|