优化
This commit is contained in:
@@ -1,17 +1,22 @@
|
||||
package io.legado.app.ui.book.import
|
||||
|
||||
import androidx.lifecycle.ViewModel
|
||||
import androidx.viewbinding.ViewBinding
|
||||
import androidx.appcompat.widget.SearchView
|
||||
import androidx.lifecycle.ViewModel
|
||||
import io.legado.app.R
|
||||
import io.legado.app.base.VMBaseActivity
|
||||
import io.legado.app.databinding.ActivityImportBookBinding
|
||||
import io.legado.app.help.config.AppConfig
|
||||
import io.legado.app.lib.dialogs.alert
|
||||
import io.legado.app.lib.theme.primaryTextColor
|
||||
import io.legado.app.ui.document.HandleFileContract
|
||||
import io.legado.app.utils.applyTint
|
||||
import io.legado.app.utils.viewbindingdelegate.viewBinding
|
||||
import kotlin.coroutines.resume
|
||||
import kotlin.coroutines.suspendCoroutine
|
||||
|
||||
abstract class BaseImportBookActivity<VB : ViewBinding, VM : ViewModel> : VMBaseActivity<VB, VM>() {
|
||||
abstract class BaseImportBookActivity<VM : ViewModel> : VMBaseActivity<ActivityImportBookBinding, VM>() {
|
||||
|
||||
override val binding by viewBinding(ActivityImportBookBinding::inflate)
|
||||
|
||||
private var localBookTreeSelectListener: ((Boolean) -> Unit)? = null
|
||||
private val searchView: SearchView by lazy {
|
||||
@@ -55,6 +60,8 @@ abstract class BaseImportBookActivity<VB : ViewBinding, VM : ViewModel> : VMBase
|
||||
}
|
||||
}
|
||||
|
||||
abstract fun onSearchTextChange(newText: String?)
|
||||
|
||||
private fun initSearchView() {
|
||||
searchView.applyTint(primaryTextColor)
|
||||
searchView.onActionViewExpanded()
|
||||
@@ -67,7 +74,7 @@ abstract class BaseImportBookActivity<VB : ViewBinding, VM : ViewModel> : VMBase
|
||||
}
|
||||
|
||||
override fun onQueryTextChange(newText: String?): Boolean {
|
||||
viewModel.updateCallBackFlow(newText)
|
||||
onSearchTextChange(newText)
|
||||
return false
|
||||
}
|
||||
})
|
||||
|
||||
@@ -13,7 +13,6 @@ import io.legado.app.R
|
||||
import io.legado.app.constant.AppConst
|
||||
import io.legado.app.constant.PreferKey
|
||||
import io.legado.app.data.appDb
|
||||
import io.legado.app.databinding.ActivityImportBookBinding
|
||||
import io.legado.app.databinding.DialogEditTextBinding
|
||||
import io.legado.app.help.config.AppConfig
|
||||
import io.legado.app.lib.dialogs.alert
|
||||
@@ -24,7 +23,6 @@ import io.legado.app.ui.book.import.BaseImportBookActivity
|
||||
import io.legado.app.ui.document.HandleFileContract
|
||||
import io.legado.app.ui.widget.SelectActionBar
|
||||
import io.legado.app.utils.*
|
||||
import io.legado.app.utils.viewbindingdelegate.viewBinding
|
||||
import kotlinx.coroutines.Dispatchers.IO
|
||||
import kotlinx.coroutines.Job
|
||||
import kotlinx.coroutines.flow.conflate
|
||||
@@ -34,12 +32,11 @@ import java.io.File
|
||||
/**
|
||||
* 导入本地书籍界面
|
||||
*/
|
||||
class ImportBookActivity : BaseImportBookActivity<ActivityImportBookBinding, ImportBookViewModel>(),
|
||||
class ImportBookActivity : BaseImportBookActivity<ImportBookViewModel>(),
|
||||
PopupMenu.OnMenuItemClickListener,
|
||||
ImportBookAdapter.CallBack,
|
||||
SelectActionBar.CallBack {
|
||||
|
||||
override val binding by viewBinding(ActivityImportBookBinding::inflate)
|
||||
override val viewModel by viewModels<ImportBookViewModel>()
|
||||
private val adapter by lazy { ImportBookAdapter(this, this) }
|
||||
private var scanDocJob: Job? = null
|
||||
@@ -286,6 +283,10 @@ class ImportBookActivity : BaseImportBookActivity<ActivityImportBookBinding, Imp
|
||||
}
|
||||
}
|
||||
|
||||
override fun onSearchTextChange(newText: String?) {
|
||||
viewModel.updateCallBackFlow(newText)
|
||||
}
|
||||
|
||||
@Deprecated("Deprecated in Java")
|
||||
override fun onBackPressed() {
|
||||
if (!goBackDir()) {
|
||||
|
||||
@@ -9,7 +9,6 @@ import androidx.activity.viewModels
|
||||
import androidx.core.view.isGone
|
||||
import androidx.recyclerview.widget.LinearLayoutManager
|
||||
import io.legado.app.R
|
||||
import io.legado.app.databinding.ActivityImportBookBinding
|
||||
import io.legado.app.help.config.LocalConfig
|
||||
import io.legado.app.lib.theme.backgroundColor
|
||||
import io.legado.app.model.remote.RemoteBook
|
||||
@@ -18,7 +17,6 @@ import io.legado.app.ui.book.import.BaseImportBookActivity
|
||||
import io.legado.app.ui.widget.SelectActionBar
|
||||
import io.legado.app.ui.widget.dialog.TextDialog
|
||||
import io.legado.app.utils.showDialogFragment
|
||||
import io.legado.app.utils.viewbindingdelegate.viewBinding
|
||||
import kotlinx.coroutines.delay
|
||||
import kotlinx.coroutines.flow.conflate
|
||||
import kotlinx.coroutines.launch
|
||||
@@ -27,11 +25,11 @@ import java.io.File
|
||||
/**
|
||||
* 展示远程书籍
|
||||
*/
|
||||
class RemoteBookActivity : BaseImportBookActivity<ActivityImportBookBinding, RemoteBookViewModel>(),
|
||||
class RemoteBookActivity : BaseImportBookActivity<RemoteBookViewModel>(),
|
||||
RemoteBookAdapter.CallBack,
|
||||
SelectActionBar.CallBack,
|
||||
ServersDialog.Callback {
|
||||
override val binding by viewBinding(ActivityImportBookBinding::inflate)
|
||||
|
||||
override val viewModel by viewModels<RemoteBookViewModel>()
|
||||
private val adapter by lazy { RemoteBookAdapter(this, this) }
|
||||
private var groupMenu: SubMenu? = null
|
||||
@@ -186,6 +184,10 @@ class RemoteBookActivity : BaseImportBookActivity<ActivityImportBookBinding, Rem
|
||||
}
|
||||
}
|
||||
|
||||
override fun onSearchTextChange(newText: String?) {
|
||||
viewModel.updateCallBackFlow(newText)
|
||||
}
|
||||
|
||||
@Suppress("SameParameterValue")
|
||||
private fun showHelp(fileName: String) {
|
||||
//显示目录help下的帮助文档
|
||||
|
||||
Reference in New Issue
Block a user