Explorar o código

Merge remote-tracking branch 'origin/master'

kunfei %!s(int64=3) %!d(string=hai) anos
pai
achega
c678ba3d9b

+ 1 - 0
app/src/main/java/io/legado/app/ui/association/VerificationCodeDialog.kt

@@ -102,6 +102,7 @@ class VerificationCodeDialog() : BaseDialogFragment(R.layout.dialog_verification
                     resource: Bitmap,
                     resource: Bitmap,
                     transition: Transition<in Bitmap>?
                     transition: Transition<in Bitmap>?
                 ) {
                 ) {
+                    view ?: return
                     ImageProvider.bitmapLruCache.put(url, resource)
                     ImageProvider.bitmapLruCache.put(url, resource)
                     binding.verificationCodeImageView.setImageBitmap(resource)
                     binding.verificationCodeImageView.setImageBitmap(resource)
                 }
                 }

+ 5 - 1
app/src/main/java/io/legado/app/ui/book/explore/ExploreShowActivity.kt

@@ -84,7 +84,11 @@ class ExploreShowActivity : VMBaseActivity<ActivityExploreShowBinding, ExploreSh
     }
     }
 
 
     override fun isInBookshelf(name: String, author: String): Boolean {
     override fun isInBookshelf(name: String, author: String): Boolean {
-        return viewModel.bookshelf.contains("$name-$author")
+        return if (author.isNotBlank()) {
+            viewModel.bookshelf.contains("$name-$author")
+        } else {
+            viewModel.bookshelf.any { it.startsWith("$name-") }
+        }
     }
     }
 
 
     override fun showBookInfo(book: Book) {
     override fun showBookInfo(book: Book) {

+ 3 - 0
app/src/main/java/io/legado/app/ui/book/info/BookInfoViewModel.kt

@@ -150,6 +150,9 @@ class BookInfoViewModel(application: Application) : BaseViewModel(application) {
                 bookSource?.let { bookSource ->
                 bookSource?.let { bookSource ->
                     WebBook.getBookInfo(this, bookSource, book, canReName = canReName)
                     WebBook.getBookInfo(this, bookSource, book, canReName = canReName)
                         .onSuccess(IO) {
                         .onSuccess(IO) {
+                            appDb.bookDao.getBook(book.name, book.author)?.let {
+                                inBookshelf = true
+                            }
                             bookData.postValue(book)
                             bookData.postValue(book)
                             if (isImportBookOnLine) {
                             if (isImportBookOnLine) {
                                 appDb.searchBookDao.update(book.toSearchBook())
                                 appDb.searchBookDao.update(book.toSearchBook())

+ 5 - 1
app/src/main/java/io/legado/app/ui/book/search/SearchActivity.kt

@@ -408,7 +408,11 @@ class SearchActivity : VMBaseActivity<ActivityBookSearchBinding, SearchViewModel
      * 是否已经加入书架
      * 是否已经加入书架
      */
      */
     override fun isInBookshelf(name: String, author: String): Boolean {
     override fun isInBookshelf(name: String, author: String): Boolean {
-        return viewModel.bookshelf.contains("$name-$author")
+        return if (author.isNotBlank()) {
+            viewModel.bookshelf.contains("$name-$author")
+        } else {
+            viewModel.bookshelf.any { it.startsWith("$name-") }
+        }
     }
     }
 
 
     /**
     /**