diff --git a/app/src/main/java/io/legado/app/ui/book/import/BaseImportBookActivity.kt b/app/src/main/java/io/legado/app/ui/book/import/BaseImportBookActivity.kt index d7ad54652..1876829b7 100644 --- a/app/src/main/java/io/legado/app/ui/book/import/BaseImportBookActivity.kt +++ b/app/src/main/java/io/legado/app/ui/book/import/BaseImportBookActivity.kt @@ -27,7 +27,8 @@ import io.legado.app.utils.viewbindingdelegate.viewBinding import kotlin.coroutines.resume import kotlin.coroutines.suspendCoroutine -abstract class BaseImportBookActivity : VMBaseActivity() { +abstract class BaseImportBookActivity : + VMBaseActivity() { final override val binding by viewBinding(ActivityImportBookBinding::inflate) @@ -52,8 +53,10 @@ abstract class BaseImportBookActivity : VMBaseActivity(), if (ev.action == MotionEvent.ACTION_DOWN) { currentFocus?.let { if (it.shouldHideSoftInput(ev)) { - it.clearFocus() - it.hideSoftInput() + it.post { + it.clearFocus() + it.hideSoftInput() + } } } } diff --git a/app/src/main/java/io/legado/app/ui/replace/ReplaceRuleActivity.kt b/app/src/main/java/io/legado/app/ui/replace/ReplaceRuleActivity.kt index 9b095da71..be2ed3fbe 100644 --- a/app/src/main/java/io/legado/app/ui/replace/ReplaceRuleActivity.kt +++ b/app/src/main/java/io/legado/app/ui/replace/ReplaceRuleActivity.kt @@ -131,8 +131,10 @@ class ReplaceRuleActivity : VMBaseActivity showImportDialog() R.id.menu_import_qr -> qrCodeResult.launch() R.id.menu_group_manage -> showDialogFragment() @@ -154,15 +157,19 @@ class RssSourceActivity : VMBaseActivity { searchView.setQuery(getString(R.string.enabled), true) } + R.id.menu_disabled_group -> { searchView.setQuery(getString(R.string.disabled), true) } + R.id.menu_group_login -> { searchView.setQuery(getString(R.string.need_login), true) } + R.id.menu_group_null -> { searchView.setQuery(getString(R.string.no_group), true) } + R.id.menu_help -> showHelp("SourceMRssHelp") else -> if (item.groupId == R.id.source_group) { searchView.setQuery("group:${item.title}", true) @@ -182,13 +189,16 @@ class RssSourceActivity : VMBaseActivity viewModel.saveToFile(adapter.selection) { file -> exportResult.launch { mode = HandleFileContract.EXPORT - fileData = HandleFileContract.FileData("exportRssSource.json", file, "application/json") + fileData = HandleFileContract.FileData( + "exportRssSource.json", file, "application/json" + ) } } R.id.menu_share_source -> viewModel.saveToFile(adapter.selection) { share(it) } + R.id.menu_check_selected_interval -> adapter.checkSelectedInterval() } return true @@ -330,16 +340,20 @@ class RssSourceActivity : VMBaseActivity { appDb.rssSourceDao.flowDisabled() } + searchKey == getString(R.string.need_login) -> { appDb.rssSourceDao.flowLogin() } + searchKey == getString(R.string.no_group) -> { appDb.rssSourceDao.flowNoGroup() } + searchKey.startsWith("group:") -> { val key = searchKey.substringAfter("group:") appDb.rssSourceDao.flowGroupSearch(key) } + else -> { appDb.rssSourceDao.flowSearch(searchKey) }