diff --git a/app/src/main/java/com/sw/dualscreen/presentation/pay/PayPresentation.kt b/app/src/main/java/com/sw/dualscreen/presentation/pay/PayPresentation.kt index f193ed9..d58a1de 100644 --- a/app/src/main/java/com/sw/dualscreen/presentation/pay/PayPresentation.kt +++ b/app/src/main/java/com/sw/dualscreen/presentation/pay/PayPresentation.kt @@ -2,7 +2,6 @@ package com.sw.dualscreen.presentation.pay import android.Manifest import android.annotation.SuppressLint -import android.app.Dialog import android.app.Presentation import android.content.pm.PackageManager import android.graphics.Point @@ -11,24 +10,20 @@ import android.os.Build import android.os.Bundle import android.text.Spanned import android.text.SpannedString -import android.text.TextUtils import android.text.style.AbsoluteSizeSpan import android.view.Display import android.view.View import android.view.ViewGroup import android.view.ViewTreeObserver import android.widget.FrameLayout -import android.widget.TextView import androidx.annotation.RequiresApi import androidx.core.content.ContextCompat import androidx.core.text.buildSpannedString import androidx.lifecycle.Observer import androidx.lifecycle.lifecycleScope import com.arcsoft.face.ErrorInfo -import com.sw.dualscreen.GlobalKey import com.sw.dualscreen.R import com.sw.dualscreen.activity.PayActivity -import com.sw.dualscreen.databinding.PresentationFacePayBinding import com.sw.dualscreen.databinding.PresentationPayBinding import com.sw.dualscreen.ext.dp import com.sw.dualscreen.ext.format2String @@ -38,9 +33,7 @@ import com.sw.dualscreen.ext.load import com.sw.dualscreen.ext.visible import com.sw.dualscreen.model.response.MemberInfo import com.sw.dualscreen.model.response.TextBean -import com.sw.dualscreen.utils.SPUtil import com.sw.dualscreen.utils.SpannedUtils -import com.sw.dualscreen.view.CustomDialog import com.sw.dualscreen.viewmodel.UserViewModel import com.sw.plate.utils.ToastUtils import com.sw.plate.utils.arcface.ConfigUtil @@ -58,6 +51,7 @@ import com.sw.plate.utils.arcface.face.model.RecognizeConfiguration import com.sw.plate.utils.arcface.viewmodel.RecognizeViewModel import kotlinx.coroutines.launch import timber.log.Timber +import java.util.concurrent.atomic.AtomicBoolean class PayPresentation( val activity: PayActivity, @@ -299,14 +293,16 @@ class PayPresentation( .i("recognizeUserId observe compareResult = ${compareResult.trackId}, userId = ${compareResult.faceEntity.userName}") // recognitionTime = System.currentTimeMillis() // recognitionWeight = lastWeight + if (isExistNotPayOrder.get()) return@Observer lastFaceTrackId = compareResult.trackId val faceEntity = compareResult.faceEntity val userId = faceEntity.userName val isMember = faceEntity.userType == "1" activity.isMember = isMember - if (userId == null) return@Observer + if (userId.isNullOrBlank()) return@Observer // TODO: 测试支付用户id // userId = "1987710988425662466" + isExistNotPayOrder.set(true) faceRecSuccess(userId, isMember) }) @@ -315,6 +311,7 @@ class PayPresentation( }) } + private var isExistNotPayOrder = AtomicBoolean(false) private fun initArcView() { //在布局结束后才做初始化操作 @@ -606,6 +603,7 @@ class PayPresentation( //ToastUtils.showToast("订单绑定失败") return@bindOrder } + binding.root.postDelayed({ activity.hideWaitingDialog() // TODO: 测试 memberInfo.member是否返回正常数据---------------