From f0cbfade5ae11a8e0b0fbee12db958b36ac7031e Mon Sep 17 00:00:00 2001 From: Horis <8674809+821938089@users.noreply.github.com> Date: Sun, 1 Jun 2025 20:36: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 --- .../java/io/legado/app/ui/login/SourceLoginActivity.kt | 6 ++++-- .../java/io/legado/app/ui/login/SourceLoginViewModel.kt | 8 ++++++-- 2 files changed, 10 insertions(+), 4 deletions(-) diff --git a/app/src/main/java/io/legado/app/ui/login/SourceLoginActivity.kt b/app/src/main/java/io/legado/app/ui/login/SourceLoginActivity.kt index 1bd13a159..464ea27b2 100644 --- a/app/src/main/java/io/legado/app/ui/login/SourceLoginActivity.kt +++ b/app/src/main/java/io/legado/app/ui/login/SourceLoginActivity.kt @@ -16,9 +16,11 @@ class SourceLoginActivity : VMBaseActivity() override fun onActivityCreated(savedInstanceState: Bundle?) { - viewModel.initData(intent) { source -> + viewModel.initData(intent, success = { source -> initView(source) - } + }, error = { + finish() + }) } private fun initView(source: BaseSource) { diff --git a/app/src/main/java/io/legado/app/ui/login/SourceLoginViewModel.kt b/app/src/main/java/io/legado/app/ui/login/SourceLoginViewModel.kt index b0870c6bc..73742fd47 100644 --- a/app/src/main/java/io/legado/app/ui/login/SourceLoginViewModel.kt +++ b/app/src/main/java/io/legado/app/ui/login/SourceLoginViewModel.kt @@ -2,11 +2,12 @@ package io.legado.app.ui.login import android.app.Application import android.content.Intent +import com.script.rhino.runScriptWithContext import io.legado.app.base.BaseViewModel +import io.legado.app.constant.AppLog import io.legado.app.data.appDb import io.legado.app.data.entities.BaseSource import io.legado.app.exception.NoStackTraceException -import com.script.rhino.runScriptWithContext import io.legado.app.utils.toastOnUi class SourceLoginViewModel(application: Application) : BaseViewModel(application) { @@ -14,7 +15,7 @@ class SourceLoginViewModel(application: Application) : BaseViewModel(application var source: BaseSource? = null var headerMap: Map = emptyMap() - fun initData(intent: Intent, success: (bookSource: BaseSource) -> Unit) { + fun initData(intent: Intent, success: (bookSource: BaseSource) -> Unit, error: () -> Unit) { execute { val sourceKey = intent.getStringExtra("key") ?: throw NoStackTraceException("没有参数") @@ -33,6 +34,9 @@ class SourceLoginViewModel(application: Application) : BaseViewModel(application } else { context.toastOnUi("未找到书源") } + }.onError { + error.invoke() + AppLog.put("登录 UI 初始化失败\n$it", it, true) } }