From dca243261551634c734d074fdec8d075ba8f9104 Mon Sep 17 00:00:00 2001 From: gedoor Date: Mon, 4 Oct 2021 16:16:00 +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 --- .../io/legado/app/base/BaseDialogFragment.kt | 8 ++++++ .../ui/association/ImportBookSourceDialog.kt | 9 +++++-- .../ui/association/ImportReplaceRuleDialog.kt | 9 +++++-- .../ui/association/ImportRssSourceDialog.kt | 9 +++++-- .../legado/app/ui/widget/dialog/CodeDialog.kt | 27 ++++++++++++++++++- .../main/res/layout/item_source_import.xml | 16 +++++++++-- 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 | 1 + 13 files changed, 76 insertions(+), 9 deletions(-) diff --git a/app/src/main/java/io/legado/app/base/BaseDialogFragment.kt b/app/src/main/java/io/legado/app/base/BaseDialogFragment.kt index 555ef1306..7f174c509 100644 --- a/app/src/main/java/io/legado/app/base/BaseDialogFragment.kt +++ b/app/src/main/java/io/legado/app/base/BaseDialogFragment.kt @@ -1,7 +1,9 @@ package io.legado.app.base import android.os.Bundle +import android.view.LayoutInflater import android.view.View +import android.view.ViewGroup import androidx.fragment.app.DialogFragment import androidx.fragment.app.FragmentManager import io.legado.app.help.coroutine.Coroutine @@ -15,6 +17,12 @@ import kotlin.coroutines.CoroutineContext abstract class BaseDialogFragment : DialogFragment(), CoroutineScope by MainScope() { + abstract override fun onCreateView( + inflater: LayoutInflater, + container: ViewGroup?, + savedInstanceState: Bundle? + ): View? + override fun onViewCreated(view: View, savedInstanceState: Bundle?) { super.onViewCreated(view, savedInstanceState) view.setBackgroundColor(ThemeStore.backgroundColor()) 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 3881947ea..ca6d13148 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 @@ -25,6 +25,7 @@ import io.legado.app.databinding.ItemSourceImportBinding import io.legado.app.help.AppConfig import io.legado.app.lib.dialogs.alert import io.legado.app.lib.theme.primaryColor +import io.legado.app.ui.widget.dialog.CodeDialog import io.legado.app.ui.widget.dialog.WaitDialog import io.legado.app.utils.* import io.legado.app.utils.viewbindingdelegate.viewBinding @@ -213,9 +214,9 @@ class ImportBookSourceDialog() : BaseDialogFragment(), Toolbar.OnMenuItemClickLi cbSourceName.text = item.bookSourceName val localSource = viewModel.checkSources[holder.layoutPosition] tvSourceState.text = when { - localSource == null -> "新书源" + localSource == null -> "新增" item.lastUpdateTime > localSource.lastUpdateTime -> "更新" - else -> "已存在" + else -> "已有" } } @@ -229,6 +230,10 @@ class ImportBookSourceDialog() : BaseDialogFragment(), Toolbar.OnMenuItemClickLi upSelectText() } } + tvSee.setOnClickListener { + val source = viewModel.allSources[holder.layoutPosition] + showDialogFragment(CodeDialog(GSON.toJson(source))) + } } } 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 ec79193f0..12fe9bda4 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 @@ -24,6 +24,7 @@ import io.legado.app.databinding.DialogRecyclerViewBinding import io.legado.app.databinding.ItemSourceImportBinding import io.legado.app.lib.dialogs.alert import io.legado.app.lib.theme.primaryColor +import io.legado.app.ui.widget.dialog.CodeDialog import io.legado.app.ui.widget.dialog.WaitDialog import io.legado.app.utils.* import io.legado.app.utils.viewbindingdelegate.viewBinding @@ -205,12 +206,12 @@ class ImportReplaceRuleDialog() : BaseDialogFragment(), Toolbar.OnMenuItemClickL cbSourceName.text = item.name val localRule = viewModel.checkRules[holder.layoutPosition] tvSourceState.text = when { - localRule == null -> "新规则" + localRule == null -> "新增" item.pattern != localRule.pattern || item.replacement != localRule.replacement || item.isRegex != localRule.isRegex || item.scope != localRule.scope -> "更新" - else -> "已存在" + else -> "已有" } } } @@ -223,6 +224,10 @@ class ImportReplaceRuleDialog() : BaseDialogFragment(), Toolbar.OnMenuItemClickL upSelectText() } } + tvSee.setOnClickListener { + val source = viewModel.allRules[holder.layoutPosition] + showDialogFragment(CodeDialog(GSON.toJson(source))) + } } } 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 7caefa224..d5ac55e05 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 @@ -25,6 +25,7 @@ import io.legado.app.databinding.ItemSourceImportBinding import io.legado.app.help.AppConfig import io.legado.app.lib.dialogs.alert import io.legado.app.lib.theme.primaryColor +import io.legado.app.ui.widget.dialog.CodeDialog import io.legado.app.ui.widget.dialog.WaitDialog import io.legado.app.utils.* import io.legado.app.utils.viewbindingdelegate.viewBinding @@ -211,9 +212,9 @@ class ImportRssSourceDialog() : BaseDialogFragment(), Toolbar.OnMenuItemClickLis cbSourceName.isChecked = viewModel.selectStatus[holder.layoutPosition] cbSourceName.text = item.sourceName tvSourceState.text = if (viewModel.checkSources[holder.layoutPosition] != null) { - "已存在" + "已有" } else { - "新订阅源" + "新增" } } } @@ -226,6 +227,10 @@ class ImportRssSourceDialog() : BaseDialogFragment(), Toolbar.OnMenuItemClickLis upSelectText() } } + tvSee.setOnClickListener { + val source = viewModel.allSources[holder.layoutPosition] + showDialogFragment(CodeDialog(GSON.toJson(source))) + } } } } diff --git a/app/src/main/java/io/legado/app/ui/widget/dialog/CodeDialog.kt b/app/src/main/java/io/legado/app/ui/widget/dialog/CodeDialog.kt index c0574d89a..de928426e 100644 --- a/app/src/main/java/io/legado/app/ui/widget/dialog/CodeDialog.kt +++ b/app/src/main/java/io/legado/app/ui/widget/dialog/CodeDialog.kt @@ -1,19 +1,44 @@ package io.legado.app.ui.widget.dialog import android.os.Bundle +import android.view.LayoutInflater import android.view.View +import android.view.ViewGroup +import io.legado.app.R import io.legado.app.base.BaseDialogFragment +import io.legado.app.databinding.DialogCodeViewBinding import io.legado.app.utils.setLayout +import io.legado.app.utils.viewbindingdelegate.viewBinding -class CodeDialog : BaseDialogFragment() { +class CodeDialog() : BaseDialogFragment() { + + constructor(code: String) : this() { + arguments = Bundle().apply { + putString("code", code) + } + } + + val binding by viewBinding(DialogCodeViewBinding::bind) override fun onStart() { super.onStart() setLayout(0.9f, 0.9f) } + override fun onCreateView( + inflater: LayoutInflater, + container: ViewGroup?, + savedInstanceState: Bundle? + ): View? { + return inflater.inflate(R.layout.dialog_code_view, container) + } + override fun onFragmentCreated(view: View, savedInstanceState: Bundle?) { + binding.codeView.keyListener = null + arguments?.getString("code")?.let { + binding.codeView.setText(it) + } } } \ No newline at end of file diff --git a/app/src/main/res/layout/item_source_import.xml b/app/src/main/res/layout/item_source_import.xml index 05098864b..d0d97e061 100644 --- a/app/src/main/res/layout/item_source_import.xml +++ b/app/src/main/res/layout/item_source_import.xml @@ -15,7 +15,19 @@ + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:paddingLeft="6dp" + android:paddingRight="6dp" + android:textColor="@color/secondaryText" /> + + \ 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 0941f2c5b..7ac691939 100644 --- a/app/src/main/res/values-es-rES/strings.xml +++ b/app/src/main/res/values-es-rES/strings.xml @@ -895,5 +895,6 @@ 拷贝url 打开方式 是否使用外部浏览器打开? + 查看 diff --git a/app/src/main/res/values-ja-rJP/strings.xml b/app/src/main/res/values-ja-rJP/strings.xml index caf71576c..62662ea4a 100644 --- a/app/src/main/res/values-ja-rJP/strings.xml +++ b/app/src/main/res/values-ja-rJP/strings.xml @@ -899,5 +899,6 @@ 拷贝url 打开方式 是否使用外部浏览器打开? + 查看 diff --git a/app/src/main/res/values-pt-rBR/strings.xml b/app/src/main/res/values-pt-rBR/strings.xml index d14aba696..c253d452e 100644 --- a/app/src/main/res/values-pt-rBR/strings.xml +++ b/app/src/main/res/values-pt-rBR/strings.xml @@ -899,5 +899,6 @@ 拷贝url 打开方式 是否使用外部浏览器打开? + 查看 diff --git a/app/src/main/res/values-zh-rHK/strings.xml b/app/src/main/res/values-zh-rHK/strings.xml index 4d6fdf9d9..01abaf008 100644 --- a/app/src/main/res/values-zh-rHK/strings.xml +++ b/app/src/main/res/values-zh-rHK/strings.xml @@ -896,5 +896,6 @@ 拷贝url 打开方式 是否使用外部浏览器打开? + 查看 diff --git a/app/src/main/res/values-zh-rTW/strings.xml b/app/src/main/res/values-zh-rTW/strings.xml index 9085ebcac..95d64c3e9 100644 --- a/app/src/main/res/values-zh-rTW/strings.xml +++ b/app/src/main/res/values-zh-rTW/strings.xml @@ -898,5 +898,6 @@ 拷贝url 打开方式 是否使用外部浏览器打开? + 查看 diff --git a/app/src/main/res/values-zh/strings.xml b/app/src/main/res/values-zh/strings.xml index 734dd3c96..06c175cf9 100644 --- a/app/src/main/res/values-zh/strings.xml +++ b/app/src/main/res/values-zh/strings.xml @@ -898,5 +898,6 @@ 拷贝url 打开方式 是否使用外部浏览器打开? + 查看 diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index a066206b5..54d09a835 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -899,5 +899,6 @@ 拷贝url 打开方式 是否使用外部浏览器打开? + 查看