Merge remote-tracking branch 'origin/master'

This commit is contained in:
kunfei
2022-10-01 13:06:53 +08:00
9 changed files with 8 additions and 8 deletions
@@ -28,6 +28,6 @@ object EventBus {
const val TIP_COLOR = "tipColor"
const val SOURCE_CHANGED = "sourceChanged"
const val SEARCH_RESULT = "searchResult"
const val BOOK_URL_CHANGED = "bookUrlChanged"
const val FILE_SOURCE_DOWNLOAD_DONE = "fileSourceDownloadDone"
const val updateReadActionBar = "updateReadActionBar"
}
@@ -66,7 +66,7 @@ class ImportOnLineBookFileViewModel(app: Application) : BaseViewModel(app) {
fun importOnLineBookFile(url: String, fileName: String, success: () -> Unit) {
execute {
LocalBook.importFileOnLine(url, fileName, bookSource).let {
postEvent(EventBus.BOOK_URL_CHANGED, it.bookUrl)
postEvent(EventBus.FILE_SOURCE_DOWNLOAD_DONE, it.bookUrl)
}
}.onSuccess {
success.invoke()
@@ -535,7 +535,7 @@ class BookInfoActivity :
}
override fun observeLiveBus() {
observeEvent<String>(EventBus.BOOK_URL_CHANGED) {
observeEvent<String>(EventBus.FILE_SOURCE_DOWNLOAD_DONE) {
viewModel.changeToLocalBook(it)
}
}
@@ -32,7 +32,8 @@ class BookInfoViewModel(application: Application) : BaseViewModel(application) {
var inBookshelf = false
var bookSource: BookSource? = null
private var changeSourceCoroutine: Coroutine<*>? = null
var isImportBookOnLine = false
val isImportBookOnLine: Boolean
get() = (bookSource?.bookSourceType ?: BookType.local) == BookType.file
fun initData(intent: Intent) {
execute {
@@ -76,7 +77,6 @@ class BookInfoViewModel(application: Application) : BaseViewModel(application) {
upCoverByRule(book)
bookSource = if (book.isLocalBook()) null else
appDb.bookSourceDao.getBookSource(book.origin)
isImportBookOnLine = (bookSource?.bookSourceType ?: BookType.local) == BookType.file
if (book.tocUrl.isEmpty()) {
loadBookInfo(book)
} else if (isImportBookOnLine) {
@@ -306,7 +306,6 @@ class BookInfoViewModel(application: Application) : BaseViewModel(application) {
fun changeToLocalBook(bookUrl: String) {
appDb.bookDao.getBook(bookUrl)?.let { localBook ->
isImportBookOnLine = false
inBookshelf = true
LocalBook.mergeBook(localBook, bookData.value).let {
bookData.postValue(it)