From 5a038a81eb5d3897a571df3bdb4a84c2896321ca Mon Sep 17 00:00:00 2001 From: Xwite <82232510+Xwite@users.noreply.github.com> Date: Sat, 12 Nov 2022 04:31:14 +0800 Subject: [PATCH] LoginUI button supports running JavaScript --- .../java/io/legado/app/ui/login/SourceLoginDialog.kt | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/app/src/main/java/io/legado/app/ui/login/SourceLoginDialog.kt b/app/src/main/java/io/legado/app/ui/login/SourceLoginDialog.kt index 4a956a4dd..7ba9f279d 100644 --- a/app/src/main/java/io/legado/app/ui/login/SourceLoginDialog.kt +++ b/app/src/main/java/io/legado/app/ui/login/SourceLoginDialog.kt @@ -67,6 +67,15 @@ class SourceLoginDialog : BaseDialogFragment(R.layout.dialog_login, true) { it.root.onClick { if (rowUi.action.isAbsUrl()) { context?.openUrl(rowUi.action!!) + } else { + // JavaScript + rowUi.action?.let { + kotlin.runCatching { + source.evalJS(it) + }.onFailure { + AppLog.put("LoginUI Button ${rowUi.name} JavaScript error", it) + } + } } } } @@ -133,4 +142,4 @@ class SourceLoginDialog : BaseDialogFragment(R.layout.dialog_login, true) { activity?.finish() } -} \ No newline at end of file +}