123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129 |
- package com.example.chemical.ui.verify;
- import android.graphics.Bitmap;
- import android.os.Bundle;
- import android.view.KeyEvent;
- import android.view.View;
- import androidx.annotation.NonNull;
- import androidx.annotation.Nullable;
- import androidx.core.util.Pair;
- import com.example.chemical.databinding.ActivityDoubleVerifyBinding;
- import com.example.chemical.receiver.OnSerialScanListener;
- import com.example.chemical.receiver.PortScanHelper;
- import com.example.chemical.ui.common.BaseCountDownActivity;
- import com.example.chemical.ui.verify.include.DetectType;
- import com.rc.httpcore.bean.UserValidationBean;
- import java.util.ArrayList;
- import java.util.List;
- public class DoubleVerifyActivity extends BaseCountDownActivity<ActivityDoubleVerifyBinding> {
- protected ActivityDoubleVerifyBinding binding;
- private DoubleVerifyActivityHelp activityHelp;
- private PortScanHelper portScanHelper;
- /**
- * 当前识别类型
- */
- private DetectType detectType = DetectType.FACE_DETECT;
- /**
- * a:是否验证通过
- * b:是否是 全部柜门管理员或安全员或实验室负责人
- */
- protected final List<Pair<Boolean, Boolean>> doubleVerifyList = new ArrayList<Pair<Boolean, Boolean>>() {{
- add(Pair.create(false, false));
- add(Pair.create(false, false));
- }};
- @NonNull
- @Override
- protected ActivityDoubleVerifyBinding createViewBinding() {
- return binding = ActivityDoubleVerifyBinding.inflate(getLayoutInflater());
- }
- @Override
- protected void initViews(@Nullable Bundle savedInstanceState) {
- super.initViews(savedInstanceState);
- activityHelp = new DoubleVerifyActivityHelp(this);
- }
- @Override
- protected void initData() {
- super.initData();
- binding.card1IB.setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View v) {
- activityHelp.switchShowDetect(detectType = DetectType.CARD_DETECT, true, true);
- }
- });
- binding.face1IB.setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View v) {
- activityHelp.switchShowDetect(detectType = DetectType.FACE_DETECT, true, true);
- }
- });
- binding.scan1IB.setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View v) {
- activityHelp.switchShowDetect(detectType = DetectType.SCAN_DETECT, true, true);
- }
- });
- binding.card2IB.setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View v) {
- activityHelp.switchShowDetect(detectType = DetectType.CARD_DETECT, false, true);
- }
- });
- binding.face2IB.setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View v) {
- activityHelp.switchShowDetect(detectType = DetectType.FACE_DETECT, false, true);
- }
- });
- binding.scan2IB.setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View v) {
- activityHelp.switchShowDetect(detectType = DetectType.SCAN_DETECT, false, true);
- }
- });
- activityHelp.switchShowDetect(detectType = DetectType.FACE_DETECT, true, true);
- portScanHelper = new PortScanHelper(this, new OnSerialScanListener() {
- @Override
- public void dispatchScanEvent(@NonNull ScanType type, @NonNull String content) {
- Pair<Boolean, Boolean> first = doubleVerifyList.get(0);
- Pair<Boolean, Boolean> second = doubleVerifyList.get(1);
- // 第一位
- if (!first.first) {
- }
- // 第二位
- else if (!second.first) {
- }
- }
- });
- }
- @Override
- public boolean dispatchKeyEvent(KeyEvent event) {
- if (detectType == DetectType.CARD_DETECT) {
- portScanHelper.dispatchKeyEvent(event);
- }
- return super.dispatchKeyEvent(event);
- }
- public interface DoubleVerifyListener {
- /**
- * @param type 验证类型
- * @param faceBitmap 人脸图片
- * @param userValidationBean 验证通过的人信息
- */
- void detect(DetectType type, Bitmap faceBitmap, UserValidationBean userValidationBean);
- }
- }
|