a
554325746@qq.com
2019-12-25 603cb36a5123e46656b06a5deb8d7ac7ff81307f
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
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);
    }
}