|
@@ -7,8 +7,8 @@ import android.net.Uri
|
|
|
import io.legado.app.base.BaseViewModel
|
|
import io.legado.app.base.BaseViewModel
|
|
|
import io.legado.app.constant.AppLog
|
|
import io.legado.app.constant.AppLog
|
|
|
import io.legado.app.constant.BookType
|
|
import io.legado.app.constant.BookType
|
|
|
-import io.legado.app.data.appDb
|
|
|
|
|
import io.legado.app.data.entities.Book
|
|
import io.legado.app.data.entities.Book
|
|
|
|
|
+import io.legado.app.data.repository.BookRepository
|
|
|
import io.legado.app.help.book.BookHelp
|
|
import io.legado.app.help.book.BookHelp
|
|
|
import io.legado.app.help.book.addType
|
|
import io.legado.app.help.book.addType
|
|
|
import io.legado.app.help.book.applyTagGroupRulesForBook
|
|
import io.legado.app.help.book.applyTagGroupRulesForBook
|
|
@@ -48,14 +48,17 @@ data class BookInfoEditUiState(
|
|
|
val book: Book? = null,
|
|
val book: Book? = null,
|
|
|
)
|
|
)
|
|
|
|
|
|
|
|
-class BookInfoEditViewModel(application: Application) : BaseViewModel(application) {
|
|
|
|
|
|
|
+class BookInfoEditViewModel(
|
|
|
|
|
+ application: Application,
|
|
|
|
|
+ private val bookRepository: BookRepository,
|
|
|
|
|
+) : BaseViewModel(application) {
|
|
|
var book: Book? = null
|
|
var book: Book? = null
|
|
|
private val _uiState = MutableStateFlow(BookInfoEditUiState())
|
|
private val _uiState = MutableStateFlow(BookInfoEditUiState())
|
|
|
val uiState: StateFlow<BookInfoEditUiState> = _uiState.asStateFlow()
|
|
val uiState: StateFlow<BookInfoEditUiState> = _uiState.asStateFlow()
|
|
|
|
|
|
|
|
fun loadBook(bookUrl: String) {
|
|
fun loadBook(bookUrl: String) {
|
|
|
execute {
|
|
execute {
|
|
|
- book = appDb.bookDao.getBook(bookUrl)
|
|
|
|
|
|
|
+ book = bookRepository.getBook(bookUrl)
|
|
|
book?.let {
|
|
book?.let {
|
|
|
val selectedType = when {
|
|
val selectedType = when {
|
|
|
it.isImage -> BookInfoEditType.IMAGE
|
|
it.isImage -> BookInfoEditType.IMAGE
|
|
@@ -147,7 +150,7 @@ class BookInfoEditViewModel(application: Application) : BaseViewModel(applicatio
|
|
|
if (ReadBook.book?.bookUrl == book.bookUrl) {
|
|
if (ReadBook.book?.bookUrl == book.bookUrl) {
|
|
|
ReadBook.book = book
|
|
ReadBook.book = book
|
|
|
}
|
|
}
|
|
|
- appDb.bookDao.update(book)
|
|
|
|
|
|
|
+ bookRepository.update(book)
|
|
|
}
|
|
}
|
|
|
}.onSuccess {
|
|
}.onSuccess {
|
|
|
onSuccess.invoke()
|
|
onSuccess.invoke()
|