增加无餐盘提醒
This commit is contained in:
@@ -84,6 +84,7 @@ class LoginByFaceActivity : BaseActivity<ActivityLoginFaceBinding>(),
|
||||
|
||||
private const val COLLECT_SUCCESS = "collect_success"
|
||||
private const val RECOGNIZE_SUCCESS = "recognize_success"
|
||||
private const val NO_PLATE_REMIND = "no_plate_remind";
|
||||
|
||||
fun goInitActivity() {
|
||||
instance?.goInitActivity()
|
||||
@@ -142,6 +143,7 @@ class LoginByFaceActivity : BaseActivity<ActivityLoginFaceBinding>(),
|
||||
val soundMap = hashMapOf<String, Int>()
|
||||
soundMap[COLLECT_SUCCESS] = R.raw.collect_success
|
||||
soundMap[RECOGNIZE_SUCCESS] = R.raw.recognize_success
|
||||
soundMap[NO_PLATE_REMIND] = R.raw.no_plate_remind
|
||||
SoundPoolUtil.getInstance().loadR(this, soundMap);
|
||||
}
|
||||
|
||||
@@ -283,18 +285,13 @@ class LoginByFaceActivity : BaseActivity<ActivityLoginFaceBinding>(),
|
||||
* 如果similar>=0.3&&similar<=0.8时,暂时不作为失败情况,再识别5次如果similar<0.8则作为识别失败处理
|
||||
*/
|
||||
private fun loadFaceRecognizeResult2(result: CompareResult?) {
|
||||
val similar = result?.similar?:0f
|
||||
binding.tvSimilarValue.text="$similar"
|
||||
val similar = result?.similar ?: 0f
|
||||
binding.tvSimilarValue.text = "$similar"
|
||||
loadLogInfo("collectFace,recognizeUserId 人脸识别配置阈值为:${faceSuccessThreshold},失败阈值为:${faceFailThreshold},相似度为:${similar},失败次数为:${retryFailCount}")
|
||||
if (similar > faceSuccessThreshold) {
|
||||
//大 于识别阈值,作为识别成功判断
|
||||
currentUserId = result?.faceEntity?.userName
|
||||
if (tempUserId != currentUserId) {
|
||||
SoundPoolUtil.getInstance().play(RECOGNIZE_SUCCESS, 0)
|
||||
} else {
|
||||
SoundPoolUtil.getInstance().play(COLLECT_SUCCESS, 0)
|
||||
}
|
||||
openPlate(currentUserId)
|
||||
Debouncer(5000).debounce { openPlate(currentUserId) }
|
||||
return
|
||||
}
|
||||
loadLogInfo("collectFace,recognizeUserId 人脸识别相似度为:${similar},失败次数为:${retryFailCount}")
|
||||
@@ -314,9 +311,9 @@ class LoginByFaceActivity : BaseActivity<ActivityLoginFaceBinding>(),
|
||||
* 根据相似度similar>设定阈值0.8作为识别是否成功来加载人脸识别结果
|
||||
*/
|
||||
private fun loadFaceRecognizeResult(result: CompareResult?) {
|
||||
val similar = result?.similar?:0f
|
||||
binding.tvSimilarValue.text="$similar"
|
||||
val similarPass = result?.isSimilarPass?:false
|
||||
val similar = result?.similar ?: 0f
|
||||
binding.tvSimilarValue.text = "$similar"
|
||||
val similarPass = result?.isSimilarPass ?: false
|
||||
if (similarPass.not()) {
|
||||
loadLogInfo("collectFace,recognizeUserId 未识别到人脸信息,开始采集")
|
||||
isCollectFace = true
|
||||
@@ -328,7 +325,7 @@ class LoginByFaceActivity : BaseActivity<ActivityLoginFaceBinding>(),
|
||||
SoundPoolUtil.getInstance().play("success", 0)
|
||||
}
|
||||
// plateEnable = true
|
||||
openPlate(currentUserId)
|
||||
Debouncer(5000).debounce { openPlate(currentUserId) }
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -357,16 +354,22 @@ class LoginByFaceActivity : BaseActivity<ActivityLoginFaceBinding>(),
|
||||
if (item == null) {
|
||||
//暂无餐盘
|
||||
loadLogInfo("collectFace,openPlate: 暂无餐盘,请联系管理人员,isCollectFace=$isCollectFace")
|
||||
ToastUtils.showToast("暂无餐盘,请联系管理人员!")
|
||||
//ToastUtils.showToast("暂无餐盘,请联系管理人员")
|
||||
SoundPoolUtil.getInstance().play(NO_PLATE_REMIND, 0)
|
||||
goInitActivity()
|
||||
return@getPlateData
|
||||
}
|
||||
if (tempUserId != currentUserId) {
|
||||
SoundPoolUtil.getInstance().play(RECOGNIZE_SUCCESS, 0)
|
||||
} else {
|
||||
SoundPoolUtil.getInstance().play(COLLECT_SUCCESS, 0)
|
||||
}
|
||||
loadLogInfo("collectFace,openPlate: item3:${item}")
|
||||
item.faceId = userId
|
||||
item.updateTime = DateTimeUtils.getDateTimeString()
|
||||
item.plateNumber = null
|
||||
plateEnable = false
|
||||
debouncer.debounce {
|
||||
Debouncer(5000).debounce {
|
||||
//打开柜子
|
||||
PlateUtils.open(this, item.equipmentBoxCode, false)
|
||||
}
|
||||
@@ -376,7 +379,7 @@ class LoginByFaceActivity : BaseActivity<ActivityLoginFaceBinding>(),
|
||||
}
|
||||
}
|
||||
|
||||
private val debouncer by lazy { Debouncer(3000) }
|
||||
// private val debouncer by lazy { Debouncer(3000) }
|
||||
|
||||
private fun initArcView() {
|
||||
//在布局结束后才做初始化操作
|
||||
@@ -617,7 +620,7 @@ class LoginByFaceActivity : BaseActivity<ActivityLoginFaceBinding>(),
|
||||
return
|
||||
}
|
||||
retryFailCount = 0
|
||||
binding.tvSimilarValue.text=""
|
||||
binding.tvSimilarValue.text = ""
|
||||
isCollectFace = false
|
||||
plateEnable = true
|
||||
collectCount = 0
|
||||
@@ -714,7 +717,7 @@ class LoginByFaceActivity : BaseActivity<ActivityLoginFaceBinding>(),
|
||||
}
|
||||
|
||||
private fun loadLogInfo(msg: String) {
|
||||
Timber.tag(TAG).d( msg)
|
||||
Timber.tag(TAG).d(msg)
|
||||
}
|
||||
|
||||
private var facePreviewInfoList: MutableList<FacePreviewInfo>? = null
|
||||
@@ -842,6 +845,7 @@ class LoginByFaceActivity : BaseActivity<ActivityLoginFaceBinding>(),
|
||||
// }, 5L, 5L, TimeUnit.MILLISECONDS
|
||||
// )
|
||||
}
|
||||
|
||||
private var isCollectFace = false
|
||||
// private fun checkFaceBlock() {
|
||||
// loadLogInfo("collectFace,currentUserId=${currentUserId}")
|
||||
|
||||
Binary file not shown.
Reference in New Issue
Block a user