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 e871fcef3..ee12dfb06 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 @@ -2,6 +2,7 @@ package io.legado.app.ui.book.import import androidx.lifecycle.ViewModel import androidx.viewbinding.ViewBinding +import androidx.appcompat.widget.SearchView import io.legado.app.R import io.legado.app.base.VMBaseActivity import io.legado.app.help.config.AppConfig @@ -13,6 +14,9 @@ import kotlin.coroutines.suspendCoroutine abstract class BaseImportBookActivity : VMBaseActivity() { private var localBookTreeSelectListener: ((Boolean) -> Unit)? = null + private val searchView: SearchView by lazy { + binding.titleBar.findViewById(R.id.search_view) + } private val localBookTreeSelect = registerForActivityResult(HandleFileContract()) { it.uri?.let { treeUri -> @@ -51,5 +55,22 @@ abstract class BaseImportBookActivity : VMBase } } + private fun initSearchView() { + searchView.applyTint(primaryTextColor) + searchView.onActionViewExpanded() + searchView.isSubmitButtonEnabled = true + searchView.queryHint = getString(R.string.screen_find) + searchView.clearFocus() + searchView.setOnQueryTextListener(object : SearchView.OnQueryTextListener { + override fun onQueryTextSubmit(query: String?): Boolean { + return false + } + + override fun onQueryTextChange(newText: String?): Boolean { + viewModel.updateCallBackFlow(newText) + return false + } + }) + } } \ No newline at end of file diff --git a/app/src/main/java/io/legado/app/ui/book/import/local/ImportBookActivity.kt b/app/src/main/java/io/legado/app/ui/book/import/local/ImportBookActivity.kt index 840031907..627108a70 100644 --- a/app/src/main/java/io/legado/app/ui/book/import/local/ImportBookActivity.kt +++ b/app/src/main/java/io/legado/app/ui/book/import/local/ImportBookActivity.kt @@ -52,7 +52,6 @@ class ImportBookActivity : BaseImportBookActivity) @@ -170,6 +179,8 @@ class ImportBookViewModel(application: Application) : BaseViewModel(application) fun addItems(fileDocs: List) fun clear() + + fun screen(key: String?) } diff --git a/app/src/main/java/io/legado/app/ui/book/import/remote/RemoteBookActivity.kt b/app/src/main/java/io/legado/app/ui/book/import/remote/RemoteBookActivity.kt index 8f22849c9..e4620d17d 100644 --- a/app/src/main/java/io/legado/app/ui/book/import/remote/RemoteBookActivity.kt +++ b/app/src/main/java/io/legado/app/ui/book/import/remote/RemoteBookActivity.kt @@ -37,7 +37,6 @@ class RemoteBookActivity : BaseImportBookActivity) @@ -144,6 +152,8 @@ class RemoteBookViewModel(application: Application) : BaseViewModel(application) fun addItems(remoteFiles: List) fun clear() + + fun screen(key: String?) } } \ No newline at end of file diff --git a/app/src/main/res/layout/activity_import_book.xml b/app/src/main/res/layout/activity_import_book.xml index 55dbebf8a..6ed061b16 100644 --- a/app/src/main/res/layout/activity_import_book.xml +++ b/app/src/main/res/layout/activity_import_book.xml @@ -9,8 +9,10 @@ android:id="@+id/titleBar" android:layout_width="match_parent" android:layout_height="wrap_content" - app:layout_constraintTop_toTopOf="parent" /> - + app:layout_constraintTop_toTopOf="parent" + app:attachToActivity="false" + app:contentLayout="@layout/view_search" /> + - - - -