优化
This commit is contained in:
@@ -16,9 +16,11 @@ class SourceLoginActivity : VMBaseActivity<ActivitySourceLoginBinding, SourceLog
|
|||||||
override val viewModel by viewModels<SourceLoginViewModel>()
|
override val viewModel by viewModels<SourceLoginViewModel>()
|
||||||
|
|
||||||
override fun onActivityCreated(savedInstanceState: Bundle?) {
|
override fun onActivityCreated(savedInstanceState: Bundle?) {
|
||||||
viewModel.initData(intent) { source ->
|
viewModel.initData(intent, success = { source ->
|
||||||
initView(source)
|
initView(source)
|
||||||
}
|
}, error = {
|
||||||
|
finish()
|
||||||
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun initView(source: BaseSource) {
|
private fun initView(source: BaseSource) {
|
||||||
|
|||||||
@@ -2,11 +2,12 @@ package io.legado.app.ui.login
|
|||||||
|
|
||||||
import android.app.Application
|
import android.app.Application
|
||||||
import android.content.Intent
|
import android.content.Intent
|
||||||
|
import com.script.rhino.runScriptWithContext
|
||||||
import io.legado.app.base.BaseViewModel
|
import io.legado.app.base.BaseViewModel
|
||||||
|
import io.legado.app.constant.AppLog
|
||||||
import io.legado.app.data.appDb
|
import io.legado.app.data.appDb
|
||||||
import io.legado.app.data.entities.BaseSource
|
import io.legado.app.data.entities.BaseSource
|
||||||
import io.legado.app.exception.NoStackTraceException
|
import io.legado.app.exception.NoStackTraceException
|
||||||
import com.script.rhino.runScriptWithContext
|
|
||||||
import io.legado.app.utils.toastOnUi
|
import io.legado.app.utils.toastOnUi
|
||||||
|
|
||||||
class SourceLoginViewModel(application: Application) : BaseViewModel(application) {
|
class SourceLoginViewModel(application: Application) : BaseViewModel(application) {
|
||||||
@@ -14,7 +15,7 @@ class SourceLoginViewModel(application: Application) : BaseViewModel(application
|
|||||||
var source: BaseSource? = null
|
var source: BaseSource? = null
|
||||||
var headerMap: Map<String, String> = emptyMap()
|
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 {
|
execute {
|
||||||
val sourceKey = intent.getStringExtra("key")
|
val sourceKey = intent.getStringExtra("key")
|
||||||
?: throw NoStackTraceException("没有参数")
|
?: throw NoStackTraceException("没有参数")
|
||||||
@@ -33,6 +34,9 @@ class SourceLoginViewModel(application: Application) : BaseViewModel(application
|
|||||||
} else {
|
} else {
|
||||||
context.toastOnUi("未找到书源")
|
context.toastOnUi("未找到书源")
|
||||||
}
|
}
|
||||||
|
}.onError {
|
||||||
|
error.invoke()
|
||||||
|
AppLog.put("登录 UI 初始化失败\n$it", it, true)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user