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.HintSignUpManager;
|
import com.basic.security.manager.PersonManager;
|
import com.basic.security.manager.impl.cblite.AccountManager;
|
import com.basic.security.model.ModelAdapter;
|
import com.basic.security.utils.FaceId;
|
import com.basic.security.utils.IdCard;
|
import com.basic.security.utils.ToastUtil;
|
|
import java.util.Map;
|
|
public class CurrentBaseIdCard extends CurrentBasePersonList {
|
|
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.selectedPersonDocument.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) {
|
ToastUtil.show(HintSignUpManager.getVerificationSuccessHint());
|
if (AccountManager.adminLoggedIn()) {
|
activity.fragment_face_detail.setIDCardData();
|
activity.fragment_person_manage.savePerson();
|
if (activity.currentFragment == activity.fragment_person_manage) {
|
PersonManageFragment personManageFragment = activity.fragment_person_manage;
|
Map<String, ModelAdapter> checkedRuleMapByPerson = activity.fragment_person_identity.checkedIdentityMapByPerson;
|
personManageFragment.personChanged(PersonManager.findPersonById(personManageFragment.savedPersonId), true, true);
|
activity.currentFragmentShowTime = System.currentTimeMillis();
|
SystemClock.sleep(300);
|
activity.currentFragmentShowTime = System.currentTimeMillis();
|
activity.fragment_person_identity.checkedIdentityMapByPerson = checkedRuleMapByPerson;
|
activity.fragment_person_identity.notifyDataSetChanged();
|
}
|
}
|
if (!AccountManager.adminLoggedIn()) {
|
if (activity.currentFragment == activity.fragment_su_auto_ic_wait_idcard) {
|
SystemClock.sleep(1000);
|
if (BaseSettingManager.isAutoSignUpIDCardModeNeedPhone()) {
|
showFragment(activity.fragment_su_auto_ic_compare_success, false);
|
} else {
|
saveFullPersonAndShowFragment(activity.fragment_sign_up_success);
|
}
|
}
|
}
|
} else {
|
ToastUtil.show(HintSignUpManager.getVerificationFail());
|
BaseFragment.idCard = null;// 身份证验证失败后清空IDcard数据
|
if (activity.currentFragment == activity.fragment_su_logged_ic_wait_idcard) {
|
showFragment(activity.fragment_su_logged_ic_wait_face);
|
}
|
}
|
}
|
}
|
|
}
|