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
package com.basic.security.manager.helper.rm.base;
 
import android.os.SystemClock;
 
import com.basic.security.base.BaseFragment;
import com.basic.security.fragment.PersonManageFragment;
import com.basic.security.manager.BaseSettingManager;
import com.basic.security.manager.PersonManager;
import com.basic.security.manager.UserManager;
import com.basic.security.model.ModelAdapter;
import com.basic.security.model.Person;
import com.basic.security.utils.FaceId;
import com.basic.security.utils.IdCard;
import com.basic.security.utils.socket.outdoor.OutdoorGuestSocketServer;
 
import java.util.Map;
 
public class CurrentBaseIdCard extends CurrentBasePersonList {
    static long lastTimeShowVerificationSuccess = System.currentTimeMillis();
 
    public boolean needCompareIdCard() {
        return false;
    }
 
    public void compareCameraFaceAndIdCardFace() {
        if (needCompareIdCard()) {
            IdCard idcard = BaseFragment.idCard;
            if (idcard == null || idcard.featureData == null) {
                return;
            }
            byte[] camera_image_feature = null;
            if (activity.currentFragment == activity.fragment_su_auto_ic_wait_idcard ||
                    activity.currentFragment == activity.fragment_su_logged_ic_wait_idcard) {
                camera_image_feature = BaseFragment.getFaceFeature();
            }
            if (activity.currentFragment == activity.fragment_person_manage) {
                byte[] camera_image_feature_blob = activity.fragment_person_manage.selectedPerson().getBlob("camera_image_feature");
                if (camera_image_feature_blob != null) {
                    camera_image_feature = camera_image_feature_blob;
                }
            }
            if (camera_image_feature == null) {
                return;
            }
            double score = FaceId.instance.compareFeature(idcard.featureData, camera_image_feature);
            if (score > 50) {
                if (UserManager.adminLoggedIn()) {
//                    activity.fragment_face_detail.updateIdCard();
//                    SystemClock.sleep(500);
//                    activity.fragment_person_manage.savePerson();
                    if (activity.currentFragment == activity.fragment_person_manage) {
                        PersonManageFragment personManageFragment = activity.fragment_person_manage;
                        Map<String, ModelAdapter> checkedRuleMapByPerson = activity.fragment_face_detail.checkedIdentityMapByPerson;
                        personManageFragment.personChanged(PersonManager.findPersonById(personManageFragment.savedPersonId), true, true);
                        activity.currentFragmentShowTime = System.currentTimeMillis();
                        SystemClock.sleep(300);
                        activity.currentFragmentShowTime = System.currentTimeMillis();
                        activity.fragment_face_detail.checkedIdentityMapByPerson = checkedRuleMapByPerson;
                    }
                }
                if (!UserManager.adminLoggedIn()) {
                    if (activity.currentFragment == activity.fragment_su_auto_ic_wait_idcard) {
                        ModelAdapter selectedPerson = activity.fragment_person_manage.selectedPerson();
                        if (selectedPerson != null) {
                            System1.out.println("CurrentBaseIdCard.compareCameraFaceAndIdCardFace selectedPerson=" + selectedPerson);
                        }
                        SystemClock.sleep(1000);
                        if (BaseSettingManager.isAutoSignUpIDCardModeNeedPhone()) {
                            showFragment(activity.fragment_su_auto_ic_compare_success, false);
                        } else {
                            saveFullPersonAndShowFragment(activity.fragment_sign_up_success);
                            if (selectedPerson != null) {
                                selectedPerson = PersonManager.findPersonById(selectedPerson.getString(Person.id));
                                if (selectedPerson != null) {
                                    OutdoorGuestSocketServer.setIdCardVerifiedPerson(selectedPerson);
                                }
                            }
                        }
                    }
                }
            } else {
            }
        }
    }
}