package com.basic.security.manager.helper.rm.base;
|
|
import android.os.SystemClock;
|
|
import com.basic.security.base.BaseFragment;
|
import com.basic.security.fragment.FaceDetailFragment;
|
import com.basic.security.fragment.PersonIdentityFragment;
|
import com.basic.security.fragment.PersonManageFragment;
|
import com.basic.security.manager.impl.cblite.AccountManager;
|
import com.basic.security.manager.impl.cblite.BaseSettingManager;
|
import com.basic.security.manager.impl.cblite.HintSignUpManager;
|
import com.basic.security.manager.impl.cblite.PersonManager;
|
import com.basic.security.utils.FaceId;
|
import com.basic.security.utils.IdCard;
|
import com.basic.security.utils.ToastUtil;
|
import com.couchbase.lite.Blob;
|
import com.basic.security.model.ModelAdapter;
|
|
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 = ((PersonManageFragment) 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()) {
|
((FaceDetailFragment) activity.fragment_face_detail).setIDCardData();
|
((PersonManageFragment) activity.fragment_person_manage).savePerson();
|
if (activity.currentFragment == activity.fragment_person_manage) {
|
PersonManageFragment personManageFragment = ((PersonManageFragment) activity.fragment_person_manage);
|
Map<String, ModelAdapter> checkedRuleMapByPerson = ((PersonIdentityFragment) activity.fragment_person_identity).checkedIdentityMapByPerson;
|
personManageFragment.personChanged(PersonManager.findPersonById(personManageFragment.savedPersonId), true, true);
|
activity.currentFragmentShowTime = System.currentTimeMillis();
|
SystemClock.sleep(300);
|
activity.currentFragmentShowTime = System.currentTimeMillis();
|
((PersonIdentityFragment) activity.fragment_person_identity).checkedIdentityMapByPerson = checkedRuleMapByPerson;
|
((PersonIdentityFragment) 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);
|
}
|
}
|
}
|
}
|
|
}
|