pull/32/head
kunfei 6 years ago
parent 900318da6d
commit 277ea66b99
  1. 2
      app/src/main/java/io/legado/app/model/WebBook.kt
  2. 4
      app/src/main/java/io/legado/app/ui/readbook/ReadBookActivity.kt
  3. 17
      app/src/main/java/io/legado/app/ui/readbook/ReadBookViewModel.kt

@ -12,7 +12,7 @@ import io.legado.app.model.webbook.BookInfo
import io.legado.app.model.webbook.BookList import io.legado.app.model.webbook.BookList
import kotlinx.coroutines.CoroutineScope import kotlinx.coroutines.CoroutineScope
class WebBook(private val bookSource: BookSource) { class WebBook(val bookSource: BookSource) {
val sourceUrl: String val sourceUrl: String
get() = bookSource.bookSourceUrl get() = bookSource.bookSourceUrl

@ -95,10 +95,10 @@ class ReadBookActivity : VMBaseActivity<ReadBookViewModel>(R.layout.activity_rea
*/ */
private fun initView() { private fun initView() {
tv_chapter_name.onClick { tv_chapter_name.onClick {
viewModel.bookSource?.let { viewModel.webBook?.let {
startActivityForResult<SourceEditActivity>( startActivityForResult<SourceEditActivity>(
requestCodeEditSource, requestCodeEditSource,
Pair("data", it.bookSourceUrl) Pair("data", it.bookSource.bookSourceUrl)
) )
} }
} }

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

Loading…
Cancel
Save