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