From 5216e36fbfff76e5817aab7aecc542c3e477875d Mon Sep 17 00:00:00 2001 From: kunfei Date: Wed, 22 Feb 2023 09:15:09 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/src/main/java/io/legado/app/constant/PreferKey.kt | 1 + .../main/java/io/legado/app/help/config/AppConfig.kt | 1 + .../app/ui/association/ImportBookSourceDialog.kt | 10 ++++++++-- .../app/ui/association/ImportBookSourceViewModel.kt | 11 +++++++---- .../app/ui/association/ImportReplaceRuleDialog.kt | 2 +- .../app/ui/association/ImportReplaceRuleViewModel.kt | 9 --------- .../app/ui/association/ImportRssSourceDialog.kt | 10 ++++++++-- .../app/ui/association/ImportRssSourceViewModel.kt | 11 +++++++---- app/src/main/res/menu/import_replace.xml | 6 ------ app/src/main/res/menu/import_source.xml | 8 +++++++- app/src/main/res/values-es-rES/strings.xml | 1 + app/src/main/res/values-ja-rJP/strings.xml | 1 + app/src/main/res/values-pt-rBR/strings.xml | 1 + app/src/main/res/values-zh-rHK/strings.xml | 1 + app/src/main/res/values-zh-rTW/strings.xml | 1 + app/src/main/res/values-zh/strings.xml | 1 + app/src/main/res/values/strings.xml | 5 +++-- 17 files changed, 49 insertions(+), 31 deletions(-) diff --git a/app/src/main/java/io/legado/app/constant/PreferKey.kt b/app/src/main/java/io/legado/app/constant/PreferKey.kt index 850f83caf..5277a4401 100644 --- a/app/src/main/java/io/legado/app/constant/PreferKey.kt +++ b/app/src/main/java/io/legado/app/constant/PreferKey.kt @@ -80,6 +80,7 @@ object PreferKey { const val autoClearExpired = "autoClearExpired" const val autoChangeSource = "autoChangeSource" const val importKeepName = "importKeepName" + const val importKeepGroup = "importKeepGroup" const val screenOrientation = "screenOrientation" const val syncBookProgress = "syncBookProgress" const val cronet = "Cronet" diff --git a/app/src/main/java/io/legado/app/help/config/AppConfig.kt b/app/src/main/java/io/legado/app/help/config/AppConfig.kt index 5879a1b7e..d46c10346 100644 --- a/app/src/main/java/io/legado/app/help/config/AppConfig.kt +++ b/app/src/main/java/io/legado/app/help/config/AppConfig.kt @@ -331,6 +331,7 @@ object AppConfig : SharedPreferences.OnSharedPreferenceChangeListener { } val importKeepName get() = appCtx.getPrefBoolean(PreferKey.importKeepName) + val importKeepGroup get() = appCtx.getPrefBoolean(PreferKey.importKeepGroup) var preDownloadNum get() = appCtx.getPrefInt(PreferKey.preDownloadNum, 10) diff --git a/app/src/main/java/io/legado/app/ui/association/ImportBookSourceDialog.kt b/app/src/main/java/io/legado/app/ui/association/ImportBookSourceDialog.kt index 1b634fd84..c0388579b 100644 --- a/app/src/main/java/io/legado/app/ui/association/ImportBookSourceDialog.kt +++ b/app/src/main/java/io/legado/app/ui/association/ImportBookSourceDialog.kt @@ -138,18 +138,24 @@ class ImportBookSourceDialog() : BaseDialogFragment(R.layout.dialog_recycler_vie private fun initMenu() { binding.toolBar.setOnMenuItemClickListener(this) binding.toolBar.inflateMenu(R.menu.import_source) - binding.toolBar.menu.findItem(R.id.menu_Keep_original_name) + binding.toolBar.menu.findItem(R.id.menu_keep_original_name) ?.isChecked = AppConfig.importKeepName + binding.toolBar.menu.findItem(R.id.menu_keep_group) + ?.isChecked = AppConfig.importKeepGroup } @SuppressLint("InflateParams") override fun onMenuItemClick(item: MenuItem): Boolean { when (item.itemId) { R.id.menu_new_group -> alertCustomGroup(item) - R.id.menu_Keep_original_name -> { + R.id.menu_keep_original_name -> { item.isChecked = !item.isChecked putPrefBoolean(PreferKey.importKeepName, item.isChecked) } + R.id.menu_keep_group -> { + item.isChecked = !item.isChecked + putPrefBoolean(PreferKey.importKeepGroup, item.isChecked) + } } return false } diff --git a/app/src/main/java/io/legado/app/ui/association/ImportBookSourceViewModel.kt b/app/src/main/java/io/legado/app/ui/association/ImportBookSourceViewModel.kt index 12cb43594..620c25254 100644 --- a/app/src/main/java/io/legado/app/ui/association/ImportBookSourceViewModel.kt +++ b/app/src/main/java/io/legado/app/ui/association/ImportBookSourceViewModel.kt @@ -54,16 +54,19 @@ class ImportBookSourceViewModel(app: Application) : BaseViewModel(app) { execute { val group = groupName?.trim() val keepName = AppConfig.importKeepName + val keepGroup = AppConfig.importKeepGroup val selectSource = arrayListOf() selectStatus.forEachIndexed { index, b -> if (b) { val source = allSources[index] - if (keepName) { - checkSources[index]?.let { + checkSources[index]?.let { + if (keepName) { source.bookSourceName = it.bookSourceName - source.bookSourceGroup = it.bookSourceGroup - source.customOrder = it.customOrder } + if (keepGroup) { + source.bookSourceGroup = it.bookSourceGroup + } + source.customOrder = it.customOrder } if (!group.isNullOrEmpty()) { if (isAddGroup) { diff --git a/app/src/main/java/io/legado/app/ui/association/ImportReplaceRuleDialog.kt b/app/src/main/java/io/legado/app/ui/association/ImportReplaceRuleDialog.kt index 3c7313cfa..f8df5829b 100644 --- a/app/src/main/java/io/legado/app/ui/association/ImportReplaceRuleDialog.kt +++ b/app/src/main/java/io/legado/app/ui/association/ImportReplaceRuleDialog.kt @@ -122,7 +122,7 @@ class ImportReplaceRuleDialog() : BaseDialogFragment(R.layout.dialog_recycler_vi override fun onMenuItemClick(item: MenuItem?): Boolean { when (item?.itemId) { R.id.menu_new_group -> alertCustomGroup(item) - R.id.menu_Keep_original_name -> { + R.id.menu_keep_original_name -> { item.isChecked = !item.isChecked putPrefBoolean(PreferKey.importKeepName, item.isChecked) } diff --git a/app/src/main/java/io/legado/app/ui/association/ImportReplaceRuleViewModel.kt b/app/src/main/java/io/legado/app/ui/association/ImportReplaceRuleViewModel.kt index aabdd09b4..a25914c18 100644 --- a/app/src/main/java/io/legado/app/ui/association/ImportReplaceRuleViewModel.kt +++ b/app/src/main/java/io/legado/app/ui/association/ImportReplaceRuleViewModel.kt @@ -9,7 +9,6 @@ import io.legado.app.data.appDb import io.legado.app.data.entities.ReplaceRule import io.legado.app.exception.NoStackTraceException import io.legado.app.help.ReplaceAnalyzer -import io.legado.app.help.config.AppConfig import io.legado.app.help.http.newCallResponseBody import io.legado.app.help.http.okHttpClient import io.legado.app.help.http.text @@ -52,18 +51,10 @@ class ImportReplaceRuleViewModel(app: Application) : BaseViewModel(app) { fun importSelect(finally: () -> Unit) { execute { val group = groupName?.trim() - val keepName = AppConfig.importKeepName val selectRules = arrayListOf() selectStatus.forEachIndexed { index, b -> if (b) { val rule = allRules[index] - if (keepName) { - checkRules[index]?.let { - rule.name = it.name - rule.group = it.group - rule.order = it.order - } - } if (!group.isNullOrEmpty()) { if (isAddGroup) { val groups = linkedSetOf() diff --git a/app/src/main/java/io/legado/app/ui/association/ImportRssSourceDialog.kt b/app/src/main/java/io/legado/app/ui/association/ImportRssSourceDialog.kt index 9dcfdd1bd..eff9a6d18 100644 --- a/app/src/main/java/io/legado/app/ui/association/ImportRssSourceDialog.kt +++ b/app/src/main/java/io/legado/app/ui/association/ImportRssSourceDialog.kt @@ -137,18 +137,24 @@ class ImportRssSourceDialog() : BaseDialogFragment(R.layout.dialog_recycler_view private fun initMenu() { binding.toolBar.setOnMenuItemClickListener(this) binding.toolBar.inflateMenu(R.menu.import_source) - binding.toolBar.menu.findItem(R.id.menu_Keep_original_name)?.isChecked = + binding.toolBar.menu.findItem(R.id.menu_keep_original_name)?.isChecked = AppConfig.importKeepName + binding.toolBar.menu.findItem(R.id.menu_keep_group)?.isChecked = + AppConfig.importKeepGroup } @SuppressLint("InflateParams") override fun onMenuItemClick(item: MenuItem): Boolean { when (item.itemId) { R.id.menu_new_group -> alertCustomGroup(item) - R.id.menu_Keep_original_name -> { + R.id.menu_keep_original_name -> { item.isChecked = !item.isChecked putPrefBoolean(PreferKey.importKeepName, item.isChecked) } + R.id.menu_keep_group -> { + item.isChecked = !item.isChecked + putPrefBoolean(PreferKey.importKeepGroup, item.isChecked) + } } return false } diff --git a/app/src/main/java/io/legado/app/ui/association/ImportRssSourceViewModel.kt b/app/src/main/java/io/legado/app/ui/association/ImportRssSourceViewModel.kt index ea45ad928..0afd3d6a7 100644 --- a/app/src/main/java/io/legado/app/ui/association/ImportRssSourceViewModel.kt +++ b/app/src/main/java/io/legado/app/ui/association/ImportRssSourceViewModel.kt @@ -51,16 +51,19 @@ class ImportRssSourceViewModel(app: Application) : BaseViewModel(app) { execute { val group = groupName?.trim() val keepName = AppConfig.importKeepName + val keepGroup = AppConfig.importKeepGroup val selectSource = arrayListOf() selectStatus.forEachIndexed { index, b -> if (b) { val source = allSources[index] - if (keepName) { - checkSources[index]?.let { + checkSources[index]?.let { + if (keepName) { source.sourceName = it.sourceName - source.sourceGroup = it.sourceGroup - source.customOrder = it.customOrder } + if (keepGroup) { + source.sourceGroup = it.sourceGroup + } + source.customOrder = it.customOrder } if (!group.isNullOrEmpty()) { if (isAddGroup) { diff --git a/app/src/main/res/menu/import_replace.xml b/app/src/main/res/menu/import_replace.xml index ead4b715e..babdcc665 100644 --- a/app/src/main/res/menu/import_replace.xml +++ b/app/src/main/res/menu/import_replace.xml @@ -9,10 +9,4 @@ app:showAsAction="always" tools:ignore="AlwaysShowAction" /> - - \ No newline at end of file diff --git a/app/src/main/res/menu/import_source.xml b/app/src/main/res/menu/import_source.xml index ead4b715e..adc3f3d52 100644 --- a/app/src/main/res/menu/import_source.xml +++ b/app/src/main/res/menu/import_source.xml @@ -10,9 +10,15 @@ tools:ignore="AlwaysShowAction" /> + + \ No newline at end of file diff --git a/app/src/main/res/values-es-rES/strings.xml b/app/src/main/res/values-es-rES/strings.xml index 1d5e4c2af..0875448ed 100644 --- a/app/src/main/res/values-es-rES/strings.xml +++ b/app/src/main/res/values-es-rES/strings.xml @@ -1079,4 +1079,5 @@ 显示规则(showRule) 配置 TXT 目录规则 导入字典规则 + 保留分组 diff --git a/app/src/main/res/values-ja-rJP/strings.xml b/app/src/main/res/values-ja-rJP/strings.xml index e5758e413..0df99a306 100644 --- a/app/src/main/res/values-ja-rJP/strings.xml +++ b/app/src/main/res/values-ja-rJP/strings.xml @@ -1082,4 +1082,5 @@ 显示规则(showRule) 配置 TXT 目录规则 导入字典规则 + 保留分组 diff --git a/app/src/main/res/values-pt-rBR/strings.xml b/app/src/main/res/values-pt-rBR/strings.xml index 0e32bfee3..144a9b253 100644 --- a/app/src/main/res/values-pt-rBR/strings.xml +++ b/app/src/main/res/values-pt-rBR/strings.xml @@ -1082,4 +1082,5 @@ 显示规则(showRule) 配置 TXT 目录规则 导入字典规则 + 保留分组 diff --git a/app/src/main/res/values-zh-rHK/strings.xml b/app/src/main/res/values-zh-rHK/strings.xml index c4efeaeec..61678dc56 100644 --- a/app/src/main/res/values-zh-rHK/strings.xml +++ b/app/src/main/res/values-zh-rHK/strings.xml @@ -1079,4 +1079,5 @@ 显示规则(showRule) 配置 TXT 目录规则 导入字典规则 + 保留分组 diff --git a/app/src/main/res/values-zh-rTW/strings.xml b/app/src/main/res/values-zh-rTW/strings.xml index 763c91f91..becc886ef 100644 --- a/app/src/main/res/values-zh-rTW/strings.xml +++ b/app/src/main/res/values-zh-rTW/strings.xml @@ -1081,4 +1081,5 @@ 显示规则(showRule) 配置 TXT 目录规则 导入字典规则 + 保留分组 diff --git a/app/src/main/res/values-zh/strings.xml b/app/src/main/res/values-zh/strings.xml index 4d90f0b6f..e09e76bb4 100644 --- a/app/src/main/res/values-zh/strings.xml +++ b/app/src/main/res/values-zh/strings.xml @@ -1081,4 +1081,5 @@ 显示规则(showRule) 配置 TXT 目录规则 导入字典规则 + 保留分组 diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index fa21b42fd..a3ebd8ebb 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -1077,9 +1077,10 @@ List Dict rule Config dict rule - 新建 + Create url规则(urlRule) 显示规则(showRule) 配置 TXT 目录规则 - 导入字典规则 + Import dict rule + Keep group