From 4406f805af5c704f40a264ea4ad2b9cb787f1207 Mon Sep 17 00:00:00 2001 From: HapeLee <1321903405@qq.com> Date: Thu, 30 Oct 2025 00:13:56 +0800 Subject: [PATCH] =?UTF-8?q?=E8=AE=A2=E9=98=85=E6=BA=90=E7=BD=91=E9=A1=B5?= =?UTF-8?q?=E9=87=8D=E5=AE=9A=E5=90=91=20#171?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../app/ui/rss/article/RssSortActivity.kt | 2 ++ .../legado/app/ui/rss/read/ReadRssActivity.kt | 19 +++++++++++++++++-- .../main/res/layout/item_rss_article_3.xml | 4 +++- .../res/menu/menu_redirect_policy_submenu.xml | 3 +++ app/src/main/res/values-zh/strings.xml | 5 +++-- app/src/main/res/values/strings.xml | 5 +++-- 6 files changed, 31 insertions(+), 7 deletions(-) diff --git a/app/src/main/java/io/legado/app/ui/rss/article/RssSortActivity.kt b/app/src/main/java/io/legado/app/ui/rss/article/RssSortActivity.kt index c0f523806..e24779fee 100644 --- a/app/src/main/java/io/legado/app/ui/rss/article/RssSortActivity.kt +++ b/app/src/main/java/io/legado/app/ui/rss/article/RssSortActivity.kt @@ -142,6 +142,7 @@ class RssSortActivity : VMBaseActivity R.id.menu_redirect_ask_cross_origin RedirectPolicy.BLOCK_CROSS_ORIGIN -> R.id.menu_redirect_block_cross_origin RedirectPolicy.BLOCK_ALL -> R.id.menu_redirect_block_all + RedirectPolicy.ASK_SAME_DOMAIN_BLOCK_CROSS -> R.id.menu_redirect_ask_same_domain_block_cross } menu.findItem(menuItemId)?.isChecked = true } @@ -153,6 +154,7 @@ class RssSortActivity : VMBaseActivity RedirectPolicy.ASK_CROSS_ORIGIN R.id.menu_redirect_block_cross_origin -> RedirectPolicy.BLOCK_CROSS_ORIGIN R.id.menu_redirect_block_all -> RedirectPolicy.BLOCK_ALL + R.id.menu_redirect_ask_same_domain_block_cross -> RedirectPolicy.ASK_SAME_DOMAIN_BLOCK_CROSS else -> RedirectPolicy.ALLOW_ALL } diff --git a/app/src/main/java/io/legado/app/ui/rss/read/ReadRssActivity.kt b/app/src/main/java/io/legado/app/ui/rss/read/ReadRssActivity.kt index 20e6866d9..0b018d090 100644 --- a/app/src/main/java/io/legado/app/ui/rss/read/ReadRssActivity.kt +++ b/app/src/main/java/io/legado/app/ui/rss/read/ReadRssActivity.kt @@ -81,7 +81,8 @@ class ReadRssActivity : VMBaseActivity ASK_ALWAYS, ASK_CROSS_ORIGIN, BLOCK_CROSS_ORIGIN, - BLOCK_ALL; + BLOCK_ALL, + ASK_SAME_DOMAIN_BLOCK_CROSS; companion object { fun fromString(value: String?): RedirectPolicy { @@ -247,6 +248,7 @@ class ReadRssActivity : VMBaseActivity RedirectPolicy.ASK_CROSS_ORIGIN -> R.id.menu_redirect_ask_cross_origin RedirectPolicy.BLOCK_CROSS_ORIGIN -> R.id.menu_redirect_block_cross_origin RedirectPolicy.BLOCK_ALL -> R.id.menu_redirect_block_all + RedirectPolicy.ASK_SAME_DOMAIN_BLOCK_CROSS -> R.id.menu_redirect_ask_same_domain_block_cross } menu.findItem(menuItemId)?.isChecked = true } @@ -258,6 +260,7 @@ class ReadRssActivity : VMBaseActivity R.id.menu_redirect_ask_cross_origin -> RedirectPolicy.ASK_CROSS_ORIGIN R.id.menu_redirect_block_cross_origin -> RedirectPolicy.BLOCK_CROSS_ORIGIN R.id.menu_redirect_block_all -> RedirectPolicy.BLOCK_ALL + R.id.menu_redirect_ask_same_domain_block_cross -> RedirectPolicy.ASK_SAME_DOMAIN_BLOCK_CROSS else -> RedirectPolicy.ALLOW_ALL } @@ -489,7 +492,10 @@ class ReadRssActivity : VMBaseActivity return when (redirectPolicy) { RedirectPolicy.ALLOW_ALL -> false - RedirectPolicy.BLOCK_ALL -> true + RedirectPolicy.BLOCK_ALL -> { + toastOnUi("已阻止重定向") + true + } RedirectPolicy.ASK_ALWAYS -> { askUser(fromUrl, toUrl) { if (it) view.loadUrl(toUrl) } true @@ -510,6 +516,15 @@ class ReadRssActivity : VMBaseActivity false } } + RedirectPolicy.ASK_SAME_DOMAIN_BLOCK_CROSS -> { + if (crossOrigin) { + toastOnUi("已阻止域外跳转") + true + } else { + askUser(fromUrl, toUrl) { if (it) view.loadUrl(toUrl) } + true + } + } } } diff --git a/app/src/main/res/layout/item_rss_article_3.xml b/app/src/main/res/layout/item_rss_article_3.xml index d50835a69..15f05a732 100644 --- a/app/src/main/res/layout/item_rss_article_3.xml +++ b/app/src/main/res/layout/item_rss_article_3.xml @@ -25,9 +25,11 @@ android:id="@+id/image_view" android:layout_width="match_parent" android:layout_height="wrap_content" + android:minHeight="80dp" + android:backgroundTint="?attr/colorSurfaceContainer" android:contentDescription="@string/loading" android:visibility="visible" - android:scaleType="centerCrop" /> + /> + diff --git a/app/src/main/res/values-zh/strings.xml b/app/src/main/res/values-zh/strings.xml index 5196313d1..ed4fb5700 100644 --- a/app/src/main/res/values-zh/strings.xml +++ b/app/src/main/res/values-zh/strings.xml @@ -1316,7 +1316,8 @@ 网页重定向策略 允许所有重定向 总是询问 - 跨域时询问 - 阻止跨域重定向 + 域名不同时询问 + 阻止跨域名重定向 阻止所有重定向 + 域内询问且域外阻止 diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 0fac2013c..16796155c 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -1317,7 +1317,8 @@ 网页重定向策略 允许所有重定向 总是询问 - 跨域时询问 - 阻止跨域重定向 + 域名不同时询问 + 阻止跨域名重定向 阻止所有重定向 + 域内询问且域外阻止