|
@@ -4,7 +4,6 @@ import android.annotation.SuppressLint
|
|
|
import android.os.Bundle
|
|
import android.os.Bundle
|
|
|
import android.view.Menu
|
|
import android.view.Menu
|
|
|
import android.view.MenuItem
|
|
import android.view.MenuItem
|
|
|
-import android.view.MotionEvent
|
|
|
|
|
import android.view.SubMenu
|
|
import android.view.SubMenu
|
|
|
import android.view.WindowManager
|
|
import android.view.WindowManager
|
|
|
import androidx.activity.viewModels
|
|
import androidx.activity.viewModels
|
|
@@ -31,8 +30,7 @@ import io.legado.app.databinding.DialogEditTextBinding
|
|
|
import io.legado.app.help.DirectLinkUpload
|
|
import io.legado.app.help.DirectLinkUpload
|
|
|
import io.legado.app.help.config.LocalConfig
|
|
import io.legado.app.help.config.LocalConfig
|
|
|
import io.legado.app.lib.dialogs.alert
|
|
import io.legado.app.lib.dialogs.alert
|
|
|
-//import io.legado.app.lib.theme.primaryColor
|
|
|
|
|
-//import io.legado.app.lib.theme.primaryTextColor
|
|
|
|
|
|
|
+import io.legado.app.lib.theme.primaryColor
|
|
|
import io.legado.app.model.CheckSource
|
|
import io.legado.app.model.CheckSource
|
|
|
import io.legado.app.model.Debug
|
|
import io.legado.app.model.Debug
|
|
|
import io.legado.app.ui.association.ImportBookSourceDialog
|
|
import io.legado.app.ui.association.ImportBookSourceDialog
|
|
@@ -53,13 +51,12 @@ import io.legado.app.utils.cnCompare
|
|
|
import io.legado.app.utils.dpToPx
|
|
import io.legado.app.utils.dpToPx
|
|
|
import io.legado.app.utils.flowWithLifecycleAndDatabaseChange
|
|
import io.legado.app.utils.flowWithLifecycleAndDatabaseChange
|
|
|
import io.legado.app.utils.flowWithLifecycleAndDatabaseChangeFirst
|
|
import io.legado.app.utils.flowWithLifecycleAndDatabaseChangeFirst
|
|
|
-import io.legado.app.utils.hideSoftInput
|
|
|
|
|
import io.legado.app.utils.isAbsUrl
|
|
import io.legado.app.utils.isAbsUrl
|
|
|
import io.legado.app.utils.launch
|
|
import io.legado.app.utils.launch
|
|
|
import io.legado.app.utils.observeEvent
|
|
import io.legado.app.utils.observeEvent
|
|
|
import io.legado.app.utils.sendToClip
|
|
import io.legado.app.utils.sendToClip
|
|
|
|
|
+import io.legado.app.utils.setEdgeEffectColor
|
|
|
import io.legado.app.utils.share
|
|
import io.legado.app.utils.share
|
|
|
-import io.legado.app.utils.shouldHideSoftInput
|
|
|
|
|
import io.legado.app.utils.showDialogFragment
|
|
import io.legado.app.utils.showDialogFragment
|
|
|
import io.legado.app.utils.showHelp
|
|
import io.legado.app.utils.showHelp
|
|
|
import io.legado.app.utils.splitNotBlank
|
|
import io.legado.app.utils.splitNotBlank
|
|
@@ -272,7 +269,7 @@ class BookSourceActivity : VMBaseActivity<ActivityBookSourceBinding, BookSourceV
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
private fun initRecyclerView() {
|
|
private fun initRecyclerView() {
|
|
|
- //binding.recyclerView.setEdgeEffectColor(primaryColor)
|
|
|
|
|
|
|
+ binding.recyclerView.setEdgeEffectColor(primaryColor)
|
|
|
binding.recyclerView.addItemDecoration(VerticalDivider(this))
|
|
binding.recyclerView.addItemDecoration(VerticalDivider(this))
|
|
|
binding.recyclerView.adapter = adapter
|
|
binding.recyclerView.adapter = adapter
|
|
|
binding.recyclerView.recycledViewPool.setMaxRecycledViews(0, 15)
|
|
binding.recyclerView.recycledViewPool.setMaxRecycledViews(0, 15)
|
|
@@ -286,7 +283,6 @@ class BookSourceActivity : VMBaseActivity<ActivityBookSourceBinding, BookSourceV
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
private fun initSearchView() {
|
|
private fun initSearchView() {
|
|
|
- //searchView.applyTint(primaryTextColor)
|
|
|
|
|
searchView.queryHint = getString(R.string.search_book_source)
|
|
searchView.queryHint = getString(R.string.search_book_source)
|
|
|
searchView.setOnQueryTextListener(this)
|
|
searchView.setOnQueryTextListener(this)
|
|
|
}
|
|
}
|
|
@@ -394,6 +390,16 @@ class BookSourceActivity : VMBaseActivity<ActivityBookSourceBinding, BookSourceV
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
+ override fun onResume() {
|
|
|
|
|
+ super.onResume()
|
|
|
|
|
+ adapter.upResumed(true)
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ override fun onPause() {
|
|
|
|
|
+ adapter.upResumed(false)
|
|
|
|
|
+ super.onPause()
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
private fun initLiveDataGroup() {
|
|
private fun initLiveDataGroup() {
|
|
|
lifecycleScope.launch {
|
|
lifecycleScope.launch {
|
|
|
appDb.bookSourceDao.flowGroups()
|
|
appDb.bookSourceDao.flowGroups()
|
|
@@ -472,11 +478,11 @@ class BookSourceActivity : VMBaseActivity<ActivityBookSourceBinding, BookSourceV
|
|
|
searchView.query?.toString(),
|
|
searchView.query?.toString(),
|
|
|
sortAscending,
|
|
sortAscending,
|
|
|
sort
|
|
sort
|
|
|
- ) { file ->
|
|
|
|
|
|
|
+ ) { file, name ->
|
|
|
exportDir.launch {
|
|
exportDir.launch {
|
|
|
mode = HandleFileContract.EXPORT
|
|
mode = HandleFileContract.EXPORT
|
|
|
fileData = HandleFileContract.FileData(
|
|
fileData = HandleFileContract.FileData(
|
|
|
- "bookSource.json",
|
|
|
|
|
|
|
+ name,
|
|
|
file,
|
|
file,
|
|
|
"application/json"
|
|
"application/json"
|
|
|
)
|
|
)
|
|
@@ -488,8 +494,8 @@ class BookSourceActivity : VMBaseActivity<ActivityBookSourceBinding, BookSourceV
|
|
|
searchView.query?.toString(),
|
|
searchView.query?.toString(),
|
|
|
sortAscending,
|
|
sortAscending,
|
|
|
sort
|
|
sort
|
|
|
- ) {
|
|
|
|
|
- share(it)
|
|
|
|
|
|
|
+ ) { file, name ->
|
|
|
|
|
+ share(file)
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
R.id.menu_check_selected_interval -> adapter.checkSelectedInterval()
|
|
R.id.menu_check_selected_interval -> adapter.checkSelectedInterval()
|
|
@@ -594,7 +600,7 @@ class BookSourceActivity : VMBaseActivity<ActivityBookSourceBinding, BookSourceV
|
|
|
?.toMutableList() ?: mutableListOf()
|
|
?.toMutableList() ?: mutableListOf()
|
|
|
alert(titleResource = R.string.import_on_line) {
|
|
alert(titleResource = R.string.import_on_line) {
|
|
|
val alertBinding = DialogEditTextBinding.inflate(layoutInflater).apply {
|
|
val alertBinding = DialogEditTextBinding.inflate(layoutInflater).apply {
|
|
|
- editLayout.hint = "URL"
|
|
|
|
|
|
|
+ editView.hint = "url"
|
|
|
editView.setFilterValues(cacheUrls)
|
|
editView.setFilterValues(cacheUrls)
|
|
|
editView.delCallBack = {
|
|
editView.delCallBack = {
|
|
|
cacheUrls.remove(it)
|
|
cacheUrls.remove(it)
|