Horis 3 년 전
부모
커밋
a74d4cb4de

+ 21 - 4
app/src/main/java/io/legado/app/ui/book/changesource/ChangeBookSourceDialog.kt

@@ -41,6 +41,7 @@ import io.legado.app.utils.setLayout
 import io.legado.app.utils.startActivity
 import io.legado.app.utils.startActivity
 import io.legado.app.utils.toastOnUi
 import io.legado.app.utils.toastOnUi
 import io.legado.app.utils.viewbindingdelegate.viewBinding
 import io.legado.app.utils.viewbindingdelegate.viewBinding
+import kotlinx.coroutines.Dispatchers.IO
 import kotlinx.coroutines.delay
 import kotlinx.coroutines.delay
 import kotlinx.coroutines.flow.conflate
 import kotlinx.coroutines.flow.conflate
 import kotlinx.coroutines.launch
 import kotlinx.coroutines.launch
@@ -79,7 +80,7 @@ class ChangeBookSourceDialog() : BaseDialogFragment(R.layout.dialog_book_change_
                         cancelButton()
                         cancelButton()
                         okButton {
                         okButton {
                             AppConfig.searchGroup = ""
                             AppConfig.searchGroup = ""
-                            upGroupMenu()
+                            upGroupMenuName()
                             viewModel.startSearch()
                             viewModel.startSearch()
                         }
                         }
                     }
                     }
@@ -248,9 +249,12 @@ class ChangeBookSourceDialog() : BaseDialogFragment(R.layout.dialog_book_change_
                 } else {
                 } else {
                     AppConfig.searchGroup = item.title.toString()
                     AppConfig.searchGroup = item.title.toString()
                 }
                 }
-                upGroupMenu()
-                viewModel.startOrStopSearch()
-                viewModel.refresh()
+                upGroupMenuName()
+                launch(IO) {
+                    if (viewModel.refresh()) {
+                        viewModel.startOrStopSearch()
+                    }
+                }
             }
             }
         }
         }
         return false
         return false
@@ -373,6 +377,19 @@ class ChangeBookSourceDialog() : BaseDialogFragment(R.layout.dialog_book_change_
         }
         }
     }
     }
 
 
+    /**
+     * 更新分组菜单名
+     */
+    private fun upGroupMenuName() {
+        val menuGroup = binding.toolBar.menu.findItem(R.id.menu_group)
+        val searchGroup = AppConfig.searchGroup
+        if (searchGroup.isEmpty()) {
+            menuGroup?.title = getString(R.string.group)
+        } else {
+            menuGroup?.title = getString(R.string.group) + "($searchGroup)"
+        }
+    }
+
     override fun observeLiveBus() {
     override fun observeLiveBus() {
         observeEvent<String>(EventBus.SOURCE_CHANGED) {
         observeEvent<String>(EventBus.SOURCE_CHANGED) {
             adapter.notifyItemRangeChanged(
             adapter.notifyItemRangeChanged(

+ 2 - 1
app/src/main/java/io/legado/app/ui/book/changesource/ChangeBookSourceViewModel.kt

@@ -137,12 +137,13 @@ open class ChangeBookSourceViewModel(application: Application) : BaseViewModel(a
         searchIndex = -1
         searchIndex = -1
     }
     }
 
 
-    fun refresh() {
+    fun refresh(): Boolean {
         getDbSearchBooks().let {
         getDbSearchBooks().let {
             searchBooks.clear()
             searchBooks.clear()
             searchBooks.addAll(it)
             searchBooks.addAll(it)
             searchCallback?.upAdapter()
             searchCallback?.upAdapter()
         }
         }
+        return searchBooks.isEmpty()
     }
     }
 
 
     /**
     /**