From 603cb36a5123e46656b06a5deb8d7ac7ff81307f Mon Sep 17 00:00:00 2001
From: 554325746@qq.com <554325746@qq.com>
Date: 星期三, 25 十二月 2019 08:48:51 +0800
Subject: [PATCH] a

---
 app/src/main/java/com/basic/security/fragment/CameraFragment.java |  119 +++++++++++++++++++++++++++++++++++------------------------
 1 files changed, 70 insertions(+), 49 deletions(-)

diff --git a/app/src/main/java/com/basic/security/fragment/CameraFragment.java b/app/src/main/java/com/basic/security/fragment/CameraFragment.java
index 7666d8e..df91f75 100644
--- a/app/src/main/java/com/basic/security/fragment/CameraFragment.java
+++ b/app/src/main/java/com/basic/security/fragment/CameraFragment.java
@@ -64,13 +64,9 @@
     @ViewById
     public ImageView camera2;
     @ViewById
-    public View camera2_separator;
+    public View camera2_separator, textureViewParent;
     @ViewById
-    public View textureViewParent;
-    @ViewById
-    public Preview rgb_camera;
-    @ViewById
-    public Preview gray_camera;
+    public Preview rgb_camera, gray_camera;
     @ViewById
     public RelativeLayout faceOuterBorderViewParent;
     public List<RecognizeFaceInfoView> recognizeFaceInfoViewList = new ArrayList<>();
@@ -78,12 +74,6 @@
     long prevDrawTime = System.currentTimeMillis();
     private boolean initCamera = false;
 
-    public void addDetectedResult(DetectedResult detectedResult) {
-        if (!CfCompareFeatureThread.isRunning) {
-            CameraFragment.detectedResult = detectedResult;
-            BaseApplication.getApplication().executorService.execute(CfCompareFeatureThread);
-        }
-    }
 
     public void clearAllFaceRectWhenTimeout() {
         BaseApplication.getApplication().executorService.execute(() -> {
@@ -142,15 +132,25 @@
                 if (recognizeFaceInfoViewList.size() - 1 < i) {
                     recognizeFaceInfoView = new RecognizeFaceInfoView(getContext());
                     recognizeFaceInfoViewList.add(recognizeFaceInfoView);
-                    int childCount = faceOuterBorderViewParent.getChildCount();
-//                    System.out.println("CfDetectFace.drawFaceRect childCount="+childCount);
-                    faceOuterBorderViewParent.addView(recognizeFaceInfoView, 4);
+                    if (Constants.indoorOutdoorInOne) {
+                        faceOuterBorderViewParent.addView(recognizeFaceInfoView, 4);
+                    } else {
+                        faceOuterBorderViewParent.addView(recognizeFaceInfoView, 3);
+                    }
                 } else {
                     recognizeFaceInfoView = recognizeFaceInfoViewList.get(i);
                 }
-                if (textureViewParent != null) {
-                    recognizeFaceInfoView.showAtPosition(facePosition, textureViewParent.getHeight(),
-                            textureViewParent.getWidth(),
+                if (Constants.indoorOutdoorInOne) {
+                    if (textureViewParent != null) {
+                        recognizeFaceInfoView.showAtPosition(facePosition, textureViewParent.getHeight(),
+                                textureViewParent.getWidth(),
+                                detectedResult.width,
+                                detectedResult.height
+                        );
+                    }
+                } else {
+                    recognizeFaceInfoView.showAtPosition(facePosition, rgb_camera.getHeight(),
+                            rgb_camera.getWidth(),
                             detectedResult.width,
                             detectedResult.height
                     );
@@ -168,6 +168,13 @@
         return inflater.inflate(ResolutionAdaptation.fragment_camera(), container, false);
     }
 
+    public void addDetectedResult(DetectedResult detectedResult) {
+        if (!CfCompareFeatureThread.isRunning) {
+            CameraFragment.detectedResult = detectedResult;
+            BaseApplication.getApplication().executorService.execute(CfCompareFeatureThread);
+        }
+    }
+
     @Click
     public void nic_back_person_manager() {
         SystemInitManager.showSecondDisplay(mainActivity());
@@ -178,22 +185,25 @@
     }
 
     public void showCameraInGuestMode(boolean showBorder) {
-        try {
-            if (showBorder) {
-                LayoutUtil.applyStyle(faceOuterBorderViewParent, StyleBuilder.newStyleBuild().marginTop(20).marginRight(0).marginBottom(161).marginLeft(20).buildStyle());
-                hideOverlay();
-                topBlurView2_guest_mode.setVisibility(View.VISIBLE);
-                topBackground2_guest_mode.setVisibility(View.VISIBLE);
-            } else {
-                overlay.setVisibility(View.VISIBLE);
-                topBlurView2_guest_mode.setVisibility(View.INVISIBLE);
-                topBackground2_guest_mode.setVisibility(View.INVISIBLE);
-                cameraExitGuestMode();
+        if (Constants.indoorOutdoorInOne) {
+            try {
+                if (showBorder) {
+                    LayoutUtil.applyStyle(faceOuterBorderViewParent, StyleBuilder.newStyleBuild().marginTop(20).marginRight(0).marginBottom(161).marginLeft(20).buildStyle());
+                    hideOverlay();
+                    topBlurView2_guest_mode.setVisibility(View.VISIBLE);
+                    topBackground2_guest_mode.setVisibility(View.VISIBLE);
+                } else {
+                    overlay.setVisibility(View.VISIBLE);
+                    topBlurView2_guest_mode.setVisibility(View.INVISIBLE);
+                    topBackground2_guest_mode.setVisibility(View.INVISIBLE);
+                    cameraExitGuestMode();
+                }
+            } catch (Exception e) {
+                e.printStackTrace();
             }
-        } catch (Exception e) {
-            e.printStackTrace();
         }
     }
+
 
     @UiThread
     public void showOverlay() {
@@ -203,11 +213,16 @@
         if (nic_back_person_manager != null) {
             nic_back_person_manager.setVisibility(View.GONE);
         }
-        showCameraInGuestMode();
+        if (Constants.indoorOutdoorInOne) {
+            showCameraInGuestMode();
+        }
     }
 
+    @UiThread
     public void hideOverlay() {
-        showCameraInGuestMode();
+        if (Constants.indoorOutdoorInOne) {
+            showCameraInGuestMode();
+        }
         if (overlay != null) {
             overlay.setVisibility(View.INVISIBLE);
         }
@@ -234,12 +249,14 @@
         } else {
             openCamera();
         }
-        camera2.setClipToOutline(true);
-        camera2.setOutlineProvider(new ViewOutlineProvider() {
-            public void getOutline(View view, Outline outline) {
-                outline.setRoundRect(0, 0, view.getWidth(), view.getHeight(), getResources().getDimension(com.basic.security.utils.RUtils.R_dimen_corner_radius));
-            }
-        });
+        if (Constants.indoorOutdoorInOne) {
+            camera2.setClipToOutline(true);
+            camera2.setOutlineProvider(new ViewOutlineProvider() {
+                public void getOutline(View view, Outline outline) {
+                    outline.setRoundRect(0, 0, view.getWidth(), view.getHeight(), getResources().getDimension(com.basic.security.utils.RUtils.R_dimen_corner_radius));
+                }
+            });
+        }
     }
 
     public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) {
@@ -266,16 +283,18 @@
             }
         });
         rgb_camera.setClipToOutline(true);
-        textureView.setOutlineProvider(new ViewOutlineProvider() {
-            public void getOutline(View view, Outline outline) {
-                outline.setRoundRect(0, 0, view.getWidth(), view.getHeight(), getActivity().getResources().getDimension(com.basic.security.utils.RUtils.R_dimen_corner_radius));
-            }
-        });
-        textureView.setClipToOutline(true);
+        if (Constants.indoorOutdoorInOne) {
+            textureView.setOutlineProvider(new ViewOutlineProvider() {
+                public void getOutline(View view, Outline outline) {
+                    outline.setRoundRect(0, 0, view.getWidth(), view.getHeight(), getActivity().getResources().getDimension(com.basic.security.utils.RUtils.R_dimen_corner_radius));
+                }
+            });
+            textureView.setClipToOutline(true);
+            textureView.setSurfaceTextureListener(rgb_camera);
+        }
         if (getActivity() == null) {
             return;
         }
-        textureView.setSurfaceTextureListener(rgb_camera);
         FaceId.initSdk(getActivity(), rgb_camera, gray_camera, detectedResult -> {
             if (detectedResult.facePositions.size() > 0) {
                 if (mainActivity().currentFragment == mainActivity().fragment_su_auto_wait_face
@@ -299,9 +318,11 @@
             camera2_separator.setVisibility(View.VISIBLE);
             LayoutUtil.applyStyle(faceOuterBorderViewParent, StyleBuilder.newStyleBuild().marginTop(20).marginRight(0).marginBottom(300).marginLeft(20).buildStyle());
         } else {
-            camera2.setVisibility(View.GONE);
-            camera2_separator.setVisibility(View.GONE);
-            LayoutUtil.applyStyle(faceOuterBorderViewParent, StyleBuilder.newStyleBuild().marginTop(20).marginRight(0).marginBottom(161).marginLeft(20).buildStyle());
+            if (Constants.indoorOutdoorInOne) {
+                camera2.setVisibility(View.GONE);
+                camera2_separator.setVisibility(View.GONE);
+                LayoutUtil.applyStyle(faceOuterBorderViewParent, StyleBuilder.newStyleBuild().marginTop(20).marginRight(0).marginBottom(161).marginLeft(20).buildStyle());
+            }
         }
     }
 

--
Gitblit v1.8.0