Horis 2 år sedan
förälder
incheckning
1116819923

+ 0 - 2
app/src/main/java/io/legado/app/ui/about/ReadRecordActivity.kt

@@ -109,10 +109,8 @@ class ReadRecordActivity : BaseActivity<ActivityReadRecordBinding>() {
 
     private fun initSearchView() {
         searchView.applyTint(primaryTextColor)
-        searchView.onActionViewExpanded()
         searchView.isSubmitButtonEnabled = true
         searchView.queryHint = getString(R.string.search)
-        searchView.clearFocus()
         searchView.setOnQueryTextListener(object : SearchView.OnQueryTextListener {
             override fun onQueryTextSubmit(query: String): Boolean {
                 searchView.clearFocus()

+ 6 - 3
app/src/main/java/io/legado/app/ui/book/import/BaseImportBookActivity.kt

@@ -17,7 +17,12 @@ import io.legado.app.lib.theme.primaryTextColor
 import io.legado.app.model.localBook.LocalBook
 import io.legado.app.ui.book.read.ReadBookActivity
 import io.legado.app.ui.file.HandleFileContract
-import io.legado.app.utils.*
+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.startActivity
+import io.legado.app.utils.toastOnUi
 import io.legado.app.utils.viewbindingdelegate.viewBinding
 import kotlin.coroutines.resume
 import kotlin.coroutines.suspendCoroutine
@@ -156,9 +161,7 @@ abstract class BaseImportBookActivity<VM : ViewModel> : VMBaseActivity<ActivityI
 
     private fun initSearchView() {
         searchView.applyTint(primaryTextColor)
-        searchView.onActionViewExpanded()
         searchView.isSubmitButtonEnabled = true
-        searchView.clearFocus()
         searchView.setOnQueryTextListener(object : SearchView.OnQueryTextListener {
             override fun onQueryTextSubmit(query: String?): Boolean {
                 return false

+ 0 - 2
app/src/main/java/io/legado/app/ui/book/manage/BookshelfManageActivity.kt

@@ -176,9 +176,7 @@ class BookshelfManageActivity :
 
     private fun initSearchView() {
         searchView.applyTint(primaryTextColor)
-        searchView.onActionViewExpanded()
         searchView.isSubmitButtonEnabled = true
-        searchView.clearFocus()
         searchView.setOnQueryTextListener(object : SearchView.OnQueryTextListener {
             override fun onQueryTextSubmit(query: String?): Boolean {
                 return false

+ 0 - 2
app/src/main/java/io/legado/app/ui/book/manage/SourcePickerDialog.kt

@@ -70,10 +70,8 @@ class SourcePickerDialog : BaseDialogFragment(R.layout.dialog_source_picker),
         binding.recyclerView.layoutManager = LinearLayoutManager(requireContext())
         binding.recyclerView.adapter = adapter
         searchView.applyTint(primaryTextColor)
-        searchView.onActionViewExpanded()
         searchView.isSubmitButtonEnabled = true
         searchView.queryHint = getString(R.string.search_book_source)
-        searchView.clearFocus()
         searchView.setOnQueryTextListener(object : SearchView.OnQueryTextListener {
             override fun onQueryTextSubmit(query: String?): Boolean {
                 return false

+ 0 - 2
app/src/main/java/io/legado/app/ui/book/search/SearchActivity.kt

@@ -174,10 +174,8 @@ class SearchActivity : VMBaseActivity<ActivityBookSearchBinding, SearchViewModel
 
     private fun initSearchView() {
         searchView.applyTint(primaryTextColor)
-        searchView.onActionViewExpanded()
         searchView.isSubmitButtonEnabled = true
         searchView.queryHint = getString(R.string.search_book_key)
-        searchView.clearFocus()
         searchView.setOnQueryTextListener(object : SearchView.OnQueryTextListener {
             override fun onQueryTextSubmit(query: String): Boolean {
                 searchView.clearFocus()

+ 13 - 5
app/src/main/java/io/legado/app/ui/book/searchContent/SearchContentActivity.kt

@@ -27,8 +27,16 @@ import io.legado.app.lib.theme.getPrimaryTextColor
 import io.legado.app.lib.theme.primaryTextColor
 import io.legado.app.ui.widget.recycler.UpLinearLayoutManager
 import io.legado.app.ui.widget.recycler.VerticalDivider
-import io.legado.app.utils.*
+import io.legado.app.utils.ColorUtils
+import io.legado.app.utils.applyTint
+import io.legado.app.utils.hideSoftInput
+import io.legado.app.utils.invisible
+import io.legado.app.utils.observeEvent
+import io.legado.app.utils.postEvent
+import io.legado.app.utils.shouldHideSoftInput
+import io.legado.app.utils.showSoftInput
 import io.legado.app.utils.viewbindingdelegate.viewBinding
+import io.legado.app.utils.visible
 import kotlinx.coroutines.Deferred
 import kotlinx.coroutines.Dispatchers.IO
 import kotlinx.coroutines.Job
@@ -63,7 +71,7 @@ class SearchContentActivity :
         val searchResultList = IntentData.get<List<SearchResult>>("searchResultList")
         val position = intent.getIntExtra("searchResultIndex", 0)
         val noSearchResult = searchResultList == null
-        initSearchView(!noSearchResult)
+        initSearchView(noSearchResult)
         initRecyclerView()
         initView()
         val bookUrl = intent.getStringExtra("bookUrl") ?: return
@@ -97,6 +105,7 @@ class SearchContentActivity :
         if (ev.action == MotionEvent.ACTION_DOWN) {
             currentFocus?.let {
                 if (it.shouldHideSoftInput(ev)) {
+                    searchView.clearFocus()
                     it.hideSoftInput()
                 }
             }
@@ -112,12 +121,11 @@ class SearchContentActivity :
         binding.recyclerView.scrollToPosition(position)
     }
 
-    private fun initSearchView(clearFocus: Boolean) {
+    private fun initSearchView(requestFocus: Boolean) {
         searchView.applyTint(primaryTextColor)
-        searchView.onActionViewExpanded()
         searchView.isSubmitButtonEnabled = true
         searchView.queryHint = getString(R.string.search)
-        if (clearFocus) searchView.clearFocus()
+        if (requestFocus) searchView.isIconified = false
         searchView.setOnQueryTextListener(object : SearchView.OnQueryTextListener {
             override fun onQueryTextSubmit(query: String): Boolean {
                 startContentSearch(query.trim())

+ 0 - 2
app/src/main/java/io/legado/app/ui/book/source/manage/BookSourceActivity.kt

@@ -288,9 +288,7 @@ class BookSourceActivity : VMBaseActivity<ActivityBookSourceBinding, BookSourceV
 
     private fun initSearchView() {
         searchView.applyTint(primaryTextColor)
-        searchView.onActionViewExpanded()
         searchView.queryHint = getString(R.string.search_book_source)
-        searchView.clearFocus()
         searchView.setOnQueryTextListener(this)
     }
 

+ 0 - 2
app/src/main/java/io/legado/app/ui/file/FileManageActivity.kt

@@ -68,9 +68,7 @@ class FileManageActivity : VMBaseActivity<ActivityFileManageBinding, FileManageV
     private fun initSearchView() {
         searchView.applyTint(primaryTextColor)
         searchView.queryHint = getString(R.string.screen) + " • " + getString(R.string.file_manage)
-        searchView.onActionViewExpanded()
         searchView.isSubmitButtonEnabled = true
-        searchView.clearFocus()
         searchView.setOnQueryTextListener(object : SearchView.OnQueryTextListener {
             override fun onQueryTextSubmit(query: String?): Boolean {
                 return false

+ 0 - 1
app/src/main/java/io/legado/app/ui/main/explore/ExploreFragment.kt

@@ -93,7 +93,6 @@ class ExploreFragment() : VMBaseFragment<ExploreViewModel>(R.layout.fragment_exp
 
     private fun initSearchView() {
         searchView.applyTint(primaryTextColor)
-        searchView.setIconifiedByDefault(false)
         searchView.isSubmitButtonEnabled = true
         searchView.queryHint = getString(R.string.screen_find)
         searchView.setOnQueryTextListener(object : SearchView.OnQueryTextListener {

+ 0 - 1
app/src/main/java/io/legado/app/ui/main/rss/RssFragment.kt

@@ -109,7 +109,6 @@ class RssFragment() : VMBaseFragment<RssViewModel>(R.layout.fragment_rss),
 
     private fun initSearchView() {
         searchView.applyTint(primaryTextColor)
-        searchView.setIconifiedByDefault(false)
         searchView.isSubmitButtonEnabled = true
         searchView.queryHint = getString(R.string.rss)
         searchView.setOnQueryTextListener(object : SearchView.OnQueryTextListener {

+ 0 - 2
app/src/main/java/io/legado/app/ui/replace/ReplaceRuleActivity.kt

@@ -168,9 +168,7 @@ class ReplaceRuleActivity : VMBaseActivity<ActivityReplaceRuleBinding, ReplaceRu
 
     private fun initSearchView() {
         searchView.applyTint(primaryTextColor)
-        searchView.onActionViewExpanded()
         searchView.queryHint = getString(R.string.replace_purify_search)
-        searchView.clearFocus()
         searchView.setOnQueryTextListener(this)
     }
 

+ 1 - 0
app/src/main/res/layout/view_search.xml

@@ -15,4 +15,5 @@
         app:queryBackground="@null"
         app:submitBackground="@null"
         app:searchHintIcon="@drawable/ic_search_hint"
+        app:iconifiedByDefault="false"
         app:defaultQueryHint="搜索"/>