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 {
|
}
|
}
|
}
|
}
|