优化
This commit is contained in:
@@ -16,9 +16,11 @@ class SourceLoginActivity : VMBaseActivity<ActivitySourceLoginBinding, SourceLog
|
||||
override val viewModel by viewModels<SourceLoginViewModel>()
|
||||
|
||||
override fun onActivityCreated(savedInstanceState: Bundle?) {
|
||||
viewModel.initData(intent) { source ->
|
||||
viewModel.initData(intent, success = { source ->
|
||||
initView(source)
|
||||
}
|
||||
}, error = {
|
||||
finish()
|
||||
})
|
||||
}
|
||||
|
||||
private fun initView(source: BaseSource) {
|
||||
|
||||
@@ -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<String, String> = 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)
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user