Переглянути джерело

修复类转换错误;修复潜在的非UI线程操作界面问题

Frankensteinly 9 місяців тому
батько
коміт
c25692899e

+ 2 - 2
app/src/main/java/com/grkj/iscs/util/NetApi.kt

@@ -43,8 +43,8 @@ object NetApi {
             ),
             { res, _, _ ->
                 res?.let {
-                    val token: String? = getRefBean(it)
-                    Token(token!!, 0).saveToSp(MyApplication.instance!!.applicationContext)
+                    val newToken = it.toBean(Token::class.java)
+                    newToken.saveToSp(MyApplication.instance!!.applicationContext)
                     callBack.invoke(true)
                 } ?: run {
                     callBack.invoke(false)

+ 1 - 0
app/src/main/java/com/grkj/iscs/view/activity/LoginActivity.kt

@@ -78,6 +78,7 @@ class LoginActivity : BaseMvpActivity<ILoginView, LoginPresenter, ActivityLoginB
 
     override fun onStop() {
         super.onStop()
+        cardLoginDialog?.dismiss()
         presenter?.unregisterListener()
     }
 

+ 6 - 3
app/src/main/java/com/grkj/iscs/view/dialog/LoginDialog.kt

@@ -9,6 +9,7 @@ import com.grkj.iscs.databinding.DialogLoginBinding
 import com.grkj.iscs.extentions.toByteArrays
 import com.grkj.iscs.extentions.toHexStrings
 import com.grkj.iscs.model.vo.card.CardInfoRespVO
+import com.grkj.iscs.util.Executor
 import com.grkj.iscs.util.NetApi
 import com.grkj.iscs.util.SPUtils
 import com.grkj.iscs.util.ToastUtils
@@ -32,10 +33,12 @@ class LoginDialog(val presenter: LoginPresenter?, val ctx: Context, private var
     override fun initView() {
         mBinding?.tvLogin?.setOnClickListener {
             presenter?.login(ctx, mBinding?.etAccount?.text.toString(), mBinding?.etPassword?.text.toString()) { isSuccess, cardInfoRespVO ->
-                if (isSuccess) {
-                    dismiss()
+                Executor.runOnMain {
+                    if (isSuccess) {
+                        dismiss()
+                    }
+                    callBack?.invoke(isSuccess, cardInfoRespVO)
                 }
-                callBack?.invoke(isSuccess, cardInfoRespVO)
             }
         }
         mBinding?.tvCancel?.setOnClickListener { dismiss() }