package com.basic.security.manager.helper.rm.base; import android.text.TextUtils; import com.basic.security.base.BaseFragment; import com.basic.security.manager.FaceTitleAndTipsManager; import com.basic.security.manager.FaceTitleAndTipsManagerS; import com.basic.security.manager.PersonManager; import com.basic.security.model.ModelAdapter; import com.basic.security.utils.CompareFeatureResult; import com.basic.security.utils.FaceId; import com.basic.security.utils.FacePosition; import com.basic.security.utils.FaceTitleAndTips; import com.basic.security.utils.FaceTitleAndTipsS; import java.util.ArrayList; import java.util.List; public class CurrentBaseFacePosition extends CurrentBaseDetectResult { public static CompareFeatureResult currentCompareFeatureResult = null; public static FaceTitleAndTips currentFaceTitleAndTips = null; public static FaceTitleAndTipsS currentFaceTitleAndTipsS = null; public static ModelAdapter currentPerson = null; public static FacePosition currentFacePosition = null; public static String currentSignUpRuleName = ""; public static List currentValidSignUpRuleList = new ArrayList<>(); public static List currentValidSignUpRuleListButTimeNotReach = new ArrayList<>(); public static List currentValidBusinessRuleList = new ArrayList<>(); public static List currentValidBusinessRuleConfirmList = new ArrayList<>(); public static List currentValidBusinessRuleListButTimeNotReach = new ArrayList<>(); public static List currentValidDeviceRuleList = new ArrayList<>(); public static List currentValidDeviceRuleConfirmList = new ArrayList<>(); public static List currentIdentityNameList = new ArrayList<>(); public static String currentDeviceRuleName = ""; public static boolean currentIsAdmin = false; public static Boolean currentDoorAccessState = null; public static Boolean currentDoorAccessStateS = null; public static String currentFaceTitle = ""; public static String currentFaceTips = ""; public static String currentTitleColor = "#FF0000"; public static String currentBorderColor = "#FF0000"; public static int currentFacePositionIndex = 0; private static String currentDoorAccessMessage = ""; private static String currentDoorAccessMessageS = ""; public static String getCurrentDoorAccessMessage() { return currentDoorAccessMessage; } public static void setCurrentDoorAccessMessage(String newCurrentDoorAccessMessage) { if (!TextUtils.isEmpty(newCurrentDoorAccessMessage)) { currentFaceTitleAndTips.faceTitle2(newCurrentDoorAccessMessage, true); } currentDoorAccessMessage = newCurrentDoorAccessMessage; } public static String getCurrentDoorAccessMessageS() { return currentDoorAccessMessageS; } public static void setCurrentDoorAccessMessageS(String newCurrentDoorAccessMessage) { if (!TextUtils.isEmpty(newCurrentDoorAccessMessage)) { currentFaceTitleAndTipsS.faceTitle2(newCurrentDoorAccessMessage, true); } currentDoorAccessMessageS = newCurrentDoorAccessMessage; } public static boolean isCurrentFacePositionIsSigningUpPerson(FacePosition currentFacePosition) { boolean samePerson = false; try { byte[] signningUpPersonFeatureData = BaseFragment.getFaceFeature(); byte[] featureData2 = currentFacePosition.featureData; if (signningUpPersonFeatureData != null && featureData2 != null) { double score = FaceId.instance.compareFeature(signningUpPersonFeatureData, featureData2); // 修改分值 原分值 80 if (score >= 80) { samePerson = true; } } } catch (Exception e) { e.printStackTrace(); } return samePerson; } protected boolean needAdjustFaceTips() { return false; } protected boolean doSetFaceTitleWithRegistered() { return false; } protected void signingUpPersonLeft() { } ; protected void processPersonIsTemporarySave(ModelAdapter person) { } protected boolean doorAccessNeedToStep2S() { return doorAccessAllowedListS.size() == 0 && doorAccessDeniedListS.size() == 0; } protected boolean doorAccessNeedToStep2() { return doorAccessAllowedList.size() == 0 && doorAccessDeniedList.size() == 0; } public void initCurrentPerson(int facePositionIndex) { if (currentFacePosition != detectedResult.facePositions.get(facePositionIndex)) { currentFacePosition = detectedResult.facePositions.get(facePositionIndex); currentCompareFeatureResult = currentFacePosition.compareFeatureResult; currentFaceTitleAndTips = FaceTitleAndTipsManager.getFaceTitleMap(currentFacePosition); currentFaceTitleAndTipsS = FaceTitleAndTipsManagerS.getFaceTitleMap(currentFacePosition); if (currentCompareFeatureResult != null) { currentPerson = currentCompareFeatureResult.person; currentSignUpRuleName = currentCompareFeatureResult.signUpRuleName; currentValidSignUpRuleList = currentCompareFeatureResult.validSignUpRuleList; currentValidSignUpRuleListButTimeNotReach = currentCompareFeatureResult.validSignUpRuleListButTimeNotReach; currentValidBusinessRuleList = currentCompareFeatureResult.validBusinessRuleList; currentValidBusinessRuleListButTimeNotReach = currentCompareFeatureResult.validBusinessRuleListButTimeNotReach; currentIdentityNameList = currentCompareFeatureResult.identityNameList; } else { currentPerson = null; currentSignUpRuleName = ""; currentValidSignUpRuleList = new ArrayList<>(); currentValidSignUpRuleListButTimeNotReach = new ArrayList<>(); currentValidBusinessRuleList = new ArrayList<>(); currentValidBusinessRuleListButTimeNotReach = new ArrayList<>(); currentIdentityNameList = new ArrayList<>(); } currentFaceTitle = ""; currentFaceTips = ""; currentTitleColor = "#FF0000"; currentBorderColor = "#FF0000"; currentFacePositionIndex = facePositionIndex; currentDoorAccessState = null; PersonManager.reFindPerson(currentCompareFeatureResult); } clearAdjustTips(); } public void addToNeedSignUpPersonList() { needSignUpPersonList.add(currentFacePosition); needSignUpPersonIndexList.add(currentFacePositionIndex); } }