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 c597e15e7..aec1cf321 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 @@ -21,6 +21,7 @@ import io.legado.app.utils.ArchiveUtils import io.legado.app.utils.FileDoc import io.legado.app.utils.applyTint import io.legado.app.utils.hideSoftInput +import io.legado.app.utils.shouldHideSoftInput import io.legado.app.utils.startActivity import io.legado.app.utils.toastOnUi import io.legado.app.utils.viewbindingdelegate.viewBinding @@ -51,7 +52,7 @@ abstract class BaseImportBookActivity : VMBaseActivity + tvIntro.hasSelection() + } } private fun setSourceVariable() { @@ -517,8 +532,9 @@ class BookInfoActivity : } val book = viewModel.getBook() ?: return@launch val variable = withContext(IO) { book.getCustomVariable() } - val comment = - source.getDisplayVariableComment("""书籍变量可在js中通过book.getVariable("custom")获取""") + val comment = source.getDisplayVariableComment( + """书籍变量可在js中通过book.getVariable("custom")获取""" + ) showDialogFragment( VariableDialog( getString(R.string.set_book_variable), diff --git a/app/src/main/java/io/legado/app/ui/book/manage/BookshelfManageActivity.kt b/app/src/main/java/io/legado/app/ui/book/manage/BookshelfManageActivity.kt index 17207bafe..34b1fee2c 100644 --- a/app/src/main/java/io/legado/app/ui/book/manage/BookshelfManageActivity.kt +++ b/app/src/main/java/io/legado/app/ui/book/manage/BookshelfManageActivity.kt @@ -47,6 +47,7 @@ import io.legado.app.utils.hideSoftInput import io.legado.app.utils.isAbsUrl import io.legado.app.utils.sendToClip import io.legado.app.utils.setEdgeEffectColor +import io.legado.app.utils.shouldHideSoftInput import io.legado.app.utils.showDialogFragment import io.legado.app.utils.startActivity import io.legado.app.utils.viewbindingdelegate.viewBinding @@ -122,7 +123,7 @@ class BookshelfManageActivity : override fun dispatchTouchEvent(ev: MotionEvent): Boolean { if (ev.action == MotionEvent.ACTION_DOWN) { currentFocus?.let { - if (it is EditText) { + if (it.shouldHideSoftInput(ev)) { it.clearFocus() it.hideSoftInput() } diff --git a/app/src/main/java/io/legado/app/ui/book/searchContent/SearchContentActivity.kt b/app/src/main/java/io/legado/app/ui/book/searchContent/SearchContentActivity.kt index f72be62eb..c372f04d3 100644 --- a/app/src/main/java/io/legado/app/ui/book/searchContent/SearchContentActivity.kt +++ b/app/src/main/java/io/legado/app/ui/book/searchContent/SearchContentActivity.kt @@ -107,6 +107,7 @@ class SearchContentActivity : if (ev.action == MotionEvent.ACTION_DOWN) { currentFocus?.let { if (it.shouldHideSoftInput(ev)) { + it.clearFocus() it.hideSoftInput() } } diff --git a/app/src/main/java/io/legado/app/ui/book/source/manage/BookSourceActivity.kt b/app/src/main/java/io/legado/app/ui/book/source/manage/BookSourceActivity.kt index 9ee96cf7d..000be28d6 100644 --- a/app/src/main/java/io/legado/app/ui/book/source/manage/BookSourceActivity.kt +++ b/app/src/main/java/io/legado/app/ui/book/source/manage/BookSourceActivity.kt @@ -62,6 +62,7 @@ import io.legado.app.utils.observeEvent import io.legado.app.utils.sendToClip import io.legado.app.utils.setEdgeEffectColor import io.legado.app.utils.share +import io.legado.app.utils.shouldHideSoftInput import io.legado.app.utils.showDialogFragment import io.legado.app.utils.showHelp import io.legado.app.utils.splitNotBlank @@ -161,7 +162,7 @@ class BookSourceActivity : VMBaseActivity(), override fun dispatchTouchEvent(ev: MotionEvent): Boolean { if (ev.action == MotionEvent.ACTION_DOWN) { currentFocus?.let { - if (it is EditText) { + if (it.shouldHideSoftInput(ev)) { it.hideSoftInput() } } diff --git a/app/src/main/java/io/legado/app/ui/main/MainActivity.kt b/app/src/main/java/io/legado/app/ui/main/MainActivity.kt index e2c7443e3..f4423d2dd 100644 --- a/app/src/main/java/io/legado/app/ui/main/MainActivity.kt +++ b/app/src/main/java/io/legado/app/ui/main/MainActivity.kt @@ -7,7 +7,6 @@ import android.text.format.DateUtils import android.view.MenuItem import android.view.MotionEvent import android.view.ViewGroup -import android.widget.EditText import androidx.activity.addCallback import androidx.activity.viewModels import androidx.core.view.ViewCompat @@ -49,6 +48,7 @@ import io.legado.app.utils.isCreated import io.legado.app.utils.navigationBarHeight import io.legado.app.utils.observeEvent import io.legado.app.utils.setEdgeEffectColor +import io.legado.app.utils.shouldHideSoftInput import io.legado.app.utils.showDialogFragment import io.legado.app.utils.toastOnUi import io.legado.app.utils.viewbindingdelegate.viewBinding @@ -119,7 +119,7 @@ class MainActivity : VMBaseActivity(), override fun dispatchTouchEvent(ev: MotionEvent): Boolean { if (ev.action == MotionEvent.ACTION_DOWN) { currentFocus?.let { - if (it is EditText) { + if (it.shouldHideSoftInput(ev)) { 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 6e5b93f97..6815638f1 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 @@ -45,6 +45,7 @@ import io.legado.app.utils.launch import io.legado.app.utils.readText import io.legado.app.utils.sendToClip import io.legado.app.utils.setEdgeEffectColor +import io.legado.app.utils.shouldHideSoftInput import io.legado.app.utils.showDialogFragment import io.legado.app.utils.showHelp import io.legado.app.utils.splitNotBlank @@ -129,7 +130,7 @@ class ReplaceRuleActivity : VMBaseActivity