副屏人员信息展示3s移除

This commit is contained in:
jjLv 2025-11-19 10:44:40 +08:00
parent 9016b2f6ab
commit b696cb8d03
1 changed files with 21 additions and 10 deletions

View File

@ -27,6 +27,8 @@ import android.graphics.Point;
import android.hardware.Camera;
import android.os.Build;
import android.os.Bundle;
import android.os.Handler;
import android.os.Looper;
import android.util.Log;
import android.view.Display;
import android.view.View;
@ -193,6 +195,10 @@ public class SecondPresentation extends Presentation {
private String faceScanType;
private ImageView imgFaceImg;
private TextView tvPersonName,tvUserBalance;
private final Runnable clearUserInfoRunnable = this::clearUserInfo;
Handler mainHandler = new Handler(Looper.getMainLooper());
public void setSalesData(List<SalesMenuEntity> rawData) {
this.salesMenuEntityList = rawData;
// 更新列表
@ -390,9 +396,9 @@ public class SecondPresentation extends Presentation {
if (faceFeature != null) {
Integer likeness = likenessMap.get(requestId);
// if (!livenessDetect) {
//不做活体检测的情况直接搜索
MyLog.i(TAG, "不做活体检测的情况,直接搜索: ");
searchFace(nv21Data, faceFeature, requestId, faceInfo, type);
//不做活体检测的情况直接搜索
MyLog.i(TAG, "不做活体检测的情况,直接搜索: ");
searchFace(nv21Data, faceFeature, requestId, faceInfo, type);
// } else if (likeness != null && likeness == LivenessInfo.ALIVE) {
// //活体检测通过搜索特征
// MyLog.i(TAG, "活体检测通过,搜索特征: ");
@ -600,6 +606,7 @@ public class SecondPresentation extends Presentation {
@SuppressLint("SetTextI18n")
public void setUserInfo(String userId) {
mainHandler.removeCallbacks(clearUserInfoRunnable);
Log.i(TAG, "setUserInfo userId: " + userId);
ThreadPoolManager.getExecutor().execute(()->{
if (StringHelper.isEmptyAndNull(userId))return;
@ -619,12 +626,14 @@ public class SecondPresentation extends Presentation {
}
tvPersonName.setText(userInfo.getNickName());
tvUserBalance.setText("余额\n" + (new BigDecimal(userInfo.getPersonalWalletBalance()).add(new BigDecimal(userInfo.getSubsidiesBalance()))).divide(new BigDecimal(100),2, RoundingMode.HALF_UP).toString());
mainHandler.postDelayed(clearUserInfoRunnable, 3000);
});
});
}
@SuppressLint("SetTextI18n")
public void clearUserInfo() {
mainHandler.removeCallbacks(clearUserInfoRunnable);
runOnUiThread(() -> {
tvPersonName.setText("");
GlideUtil.GlideWithPlaceHolder(context, R.drawable.ic_person_photo).into(imgFaceImg);
@ -810,13 +819,13 @@ public class SecondPresentation extends Presentation {
private void searchFace(final byte[] nv21Data, final FaceFeature frFace, final Integer requestId, final FaceInfo faceInfo, String type) {
Observable.create((ObservableOnSubscribe<CompareResult>) emitter -> {
MyLog.d("人脸识别", "searchFace requestId: " + requestId);
MyLog.d("人脸识别", "searchFace: " + Arrays.toString(frFace.getFeatureData()));
MyLog.d("人脸识别", "searchFace faceRegisterInfoList: " + FaceServer.getInstance().faceRegisterInfoList.size());
CompareResult compareResult = FaceServer.getInstance().getCollectionFaceLib(frFace);
MyLog.d("人脸识别", "searchFace compareResult: " + compareResult);
emitter.onNext(compareResult);
})
MyLog.d("人脸识别", "searchFace requestId: " + requestId);
MyLog.d("人脸识别", "searchFace: " + Arrays.toString(frFace.getFeatureData()));
MyLog.d("人脸识别", "searchFace faceRegisterInfoList: " + FaceServer.getInstance().faceRegisterInfoList.size());
CompareResult compareResult = FaceServer.getInstance().getCollectionFaceLib(frFace);
MyLog.d("人脸识别", "searchFace compareResult: " + compareResult);
emitter.onNext(compareResult);
})
.subscribeOn(Schedulers.computation())
.observeOn(AndroidSchedulers.mainThread())
.subscribe(new Observer<CompareResult>() {
@ -961,6 +970,8 @@ public class SecondPresentation extends Presentation {
@Override
public void onDetachedFromWindow() {
ThreadPoolManager.shutdown();
mainHandler.removeCallbacks(clearUserInfoRunnable);
mainHandler.removeCallbacksAndMessages(null);
if (faceHelper != null) {
faceHelper.release();
}