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<ModelAdapter> currentValidSignUpRuleList = new ArrayList<>();
|
public static List<ModelAdapter> currentValidSignUpRuleListButTimeNotReach = new ArrayList<>();
|
public static List<ModelAdapter> currentValidBusinessRuleList = new ArrayList<>();
|
public static List<ModelAdapter> currentValidBusinessRuleConfirmList = new ArrayList<>();
|
public static List<ModelAdapter> currentValidBusinessRuleListButTimeNotReach = new ArrayList<>();
|
public static List<ModelAdapter> currentValidDeviceRuleList = new ArrayList<>();
|
public static List<ModelAdapter> currentValidDeviceRuleConfirmList = new ArrayList<>();
|
public static List<String> 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);
|
}
|
}
|