This commit is contained in:
Xwite
2023-03-07 17:17:37 +08:00
parent b3850ec7b1
commit dbeba7fd40
3 changed files with 8 additions and 17 deletions
@@ -27,7 +27,6 @@ object EventBus {
const val TIP_COLOR = "tipColor" const val TIP_COLOR = "tipColor"
const val SOURCE_CHANGED = "sourceChanged" const val SOURCE_CHANGED = "sourceChanged"
const val SEARCH_RESULT = "searchResult" const val SEARCH_RESULT = "searchResult"
const val FILE_SOURCE_DOWNLOAD_DONE = "fileSourceDownloadDone"
const val UPDATE_READ_ACTION_BAR = "updateReadActionBar" const val UPDATE_READ_ACTION_BAR = "updateReadActionBar"
const val UP_SEEK_BAR = "upSeekBar" const val UP_SEEK_BAR = "upSeekBar"
const val READ_ALOUD_PLAY = "readAloudPlay" const val READ_ALOUD_PLAY = "readAloudPlay"
@@ -11,7 +11,6 @@ import androidx.activity.result.contract.ActivityResultContracts
import androidx.activity.viewModels import androidx.activity.viewModels
import io.legado.app.R import io.legado.app.R
import io.legado.app.base.VMBaseActivity import io.legado.app.base.VMBaseActivity
import io.legado.app.constant.EventBus
import io.legado.app.constant.Theme import io.legado.app.constant.Theme
import io.legado.app.data.appDb import io.legado.app.data.appDb
import io.legado.app.data.entities.Book import io.legado.app.data.entities.Book
@@ -587,9 +586,4 @@ class BookInfoActivity :
} }
} }
override fun observeLiveBus() {
observeEvent<String>(EventBus.FILE_SOURCE_DOWNLOAD_DONE) {
viewModel.changeToLocalBook(it)
}
}
} }
@@ -189,8 +189,6 @@ class BookInfoViewModel(application: Application) : BaseViewModel(application) {
appDb.bookChapterDao.insert(*it.toTypedArray()) appDb.bookChapterDao.insert(*it.toTypedArray())
chapterListData.postValue(it) chapterListData.postValue(it)
} }
} else if (book.isWebFile) {
chapterListData.postValue(emptyList())
} else { } else {
bookSource?.let { bookSource -> bookSource?.let { bookSource ->
val oldBook = book.copy() val oldBook = book.copy()
@@ -276,7 +274,9 @@ class BookInfoViewModel(application: Application) : BaseViewModel(application) {
bookSource ?: return bookSource ?: return
execute { execute {
if (webFile.isSupported) { if (webFile.isSupported) {
LocalBook.importFileOnLine(webFile.url, webFile.name, bookSource) LocalBook.importFileOnLine(webFile.url, webFile.name, bookSource).let {
changeToLocalBook(it)
}
} else { } else {
LocalBook.saveBookFile(webFile.url, webFile.name, bookSource) LocalBook.saveBookFile(webFile.url, webFile.name, bookSource)
} }
@@ -401,13 +401,11 @@ class BookInfoViewModel(application: Application) : BaseViewModel(application) {
} }
} }
fun changeToLocalBook(bookUrl: String) { private fun changeToLocalBook(localBook: Book) {
appDb.bookDao.getBook(bookUrl)?.let { localBook -> inBookshelf = true
inBookshelf = true LocalBook.mergeBook(localBook, bookData.value).let {
LocalBook.mergeBook(localBook, bookData.value).let { bookData.postValue(it)
bookData.postValue(it) loadChapter(it)
loadChapter(it)
}
} }
} }