From 8eba4786474eb6ec2861f37bc628d8d5f0aa0d96 Mon Sep 17 00:00:00 2001
From: xuxiuxi <xuxiuxi@454eff88-639b-444f-9e54-f578c98de674>
Date: 星期三, 12 七月 2017 14:09:42 +0800
Subject: [PATCH] 

---
 VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/base/MainActivity.java |   50 +++++++++++++++++++++++++++++++++++++++++---------
 1 files changed, 41 insertions(+), 9 deletions(-)

diff --git a/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/base/MainActivity.java b/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/base/MainActivity.java
index 2f84b6d..6bfe263 100644
--- a/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/base/MainActivity.java
+++ b/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/base/MainActivity.java
@@ -1,23 +1,25 @@
 package cn.com.basic.face.base;
 
+import android.Manifest;
 import android.app.AlertDialog;
 import android.content.Context;
 import android.content.DialogInterface;
-import android.content.Intent;
 import android.content.pm.ActivityInfo;
+import android.content.pm.PackageManager;
 import android.content.res.Configuration;
 import android.graphics.Bitmap;
 import android.graphics.BitmapFactory;
 import android.graphics.Canvas;
 import android.graphics.Color;
 import android.graphics.Paint;
-import android.graphics.drawable.ColorDrawable;
 import android.hardware.Camera;
 import android.os.Handler;
 import android.support.design.widget.TabLayout;
+import android.support.v4.app.ActivityCompat;
 import android.support.v4.app.Fragment;
 import android.support.v4.app.FragmentManager;
 import android.support.v4.app.FragmentPagerAdapter;
+import android.support.v4.content.ContextCompat;
 import android.support.v4.view.ViewPager;
 import android.os.Bundle;
 import android.view.LayoutInflater;
@@ -26,7 +28,6 @@
 import android.view.SurfaceView;
 import android.view.View;
 import android.view.ViewGroup;
-import android.view.Window;
 import android.view.WindowManager;
 import android.widget.EditText;
 import android.widget.ImageView;
@@ -39,6 +40,7 @@
 
 import cn.com.basic.face.discern.common.CommonVariables;
 import cn.com.basic.face.discern.query.item.SurveillanceQueryItem;
+import cn.com.basic.face.fragment.AttenderRegisterFragment;
 import cn.com.basic.face.fragment.SurveillanceFragment;
 import cn.com.basic.face.service.SurveillanceMng;
 import cn.com.basic.face.util.FileUtil;
@@ -48,13 +50,12 @@
 import cn.com.basic.face.fragment.CheckInFragment;
 import cn.com.basic.face.fragment.DeviceFragment;
 import cn.com.basic.face.fragment.PhoneCallFragment;
-import cn.com.basic.face.fragment.RegisterFragment;
+import cn.com.basic.face.fragment.VisitorRegisterFragment;
 import cn.com.basic.face.fragment.VisitFragment;
 
 import java.io.File;
 import java.io.FileOutputStream;
 import java.io.InputStream;
-import java.nio.ByteBuffer;
 import java.util.ArrayList;
 import java.util.Arrays;
 import java.util.List;
@@ -91,7 +92,8 @@
         int[] tabIcons = TabNameUtil.tabIcons;
         MyFragmentPagerAdapter myFragmentPagerAdapter = new MyFragmentPagerAdapter(getSupportFragmentManager(),MainActivity.this);
         myFragmentPagerAdapter.addFragment(SurveillanceFragment.getInstance(), tabNamesList.get(0),tabIcons[0]);
-        myFragmentPagerAdapter.addFragment(RegisterFragment.getInstance(), tabNamesList.get(1),tabIcons[1]);
+//        myFragmentPagerAdapter.addFragment(VisitorRegisterFragment.getInstance(), tabNamesList.get(1),tabIcons[1]);
+        myFragmentPagerAdapter.addFragment(AttenderRegisterFragment.getInstance(), tabNamesList.get(1),tabIcons[1]);
         myFragmentPagerAdapter.addFragment(CheckInFragment.getInstance(), tabNamesList.get(2),tabIcons[2]);
         myFragmentPagerAdapter.addFragment(PhoneCallFragment.getInstance(), tabNamesList.get(3),tabIcons[3]);
         myFragmentPagerAdapter.addFragment(VisitFragment.getInstance(), tabNamesList.get(4),tabIcons[4]);
@@ -109,9 +111,10 @@
                 tab.getCustomView().setSelected(true);
             }
         }
-        myThread = new MyThread();
-        myThread.start();
-
+        if (CommonVariables.ID_CARD) {
+            myThread = new MyThread();
+            myThread.start();
+        }
     }
 
     public static MainActivity getInstance() {
@@ -274,6 +277,7 @@
             } else {
                 FSDK.Initialize();
                 getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);
+                setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);
                 mDraw = new ProcessImageAndDrawResults(this);
                 mPreview = new Preview(this, mDraw);
                 mDraw.mTracker = new FSDK.HTracker();
@@ -285,6 +289,16 @@
                     }
                 }
                 resetTrackerParameters();
+
+                //setContentView(mPreview); //creates MainActivity contents
+                //addContentView(mDraw, new LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT));
+
+                // Menu
+//                LayoutInflater inflater = (LayoutInflater)this.getSystemService( Context.LAYOUT_INFLATER_SERVICE );
+//                View buttons = inflater.inflate(R.layout.bottom_menu, null );
+//                buttons.findViewById(R.id.helpButton).setOnClickListener(this);
+//                buttons.findViewById(R.id.clearButton).setOnClickListener(this);
+//                addContentView(buttons, new LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.MATCH_PARENT));
             }
         }
     }
@@ -499,12 +513,24 @@
         } else {
             FSDK.CopyImage(Image, RotatedImage);
         }
+
+//        FSDK.TFacePosition fp11 = new FSDK.TFacePosition();
+//        FSDK.DetectFace(RotatedImage, fp11);
+
+        String surveillancePhotoName11 = "/storage/sdcard1/"+System.currentTimeMillis()+".jpg";
+        FSDK.SaveImageToFile(Image, surveillancePhotoName11);
+
+
         FSDK.FreeImage(Image);
 
         long IDs[] = new long[MAX_FACES];
         long face_count[] = new long[1];
 
+
+
         FSDK.FeedFrame(mTracker, 0, RotatedImage, face_count, IDs);
+
+        System.out.println("face_count="+face_count[0]);
 
         faceLock.lock();
 
@@ -714,12 +740,17 @@
                 frontCameraFound = true;
             }
         }
+        //If authorisation not granted for camera
+        if (ContextCompat.checkSelfPermission(MainActivity.getInstance(), Manifest.permission.CAMERA) != PackageManager.PERMISSION_GRANTED)
+            //ask for authorisation
+            ActivityCompat.requestPermissions(MainActivity.getInstance(), new String[]{Manifest.permission.CAMERA}, 50);
 
         if (frontCameraFound) {
             mCamera = Camera.open(cameraId);
         } else {
             mCamera = Camera.open();
         }
+
 
         try {
             mCamera.setPreviewDisplay(holder);
@@ -785,6 +816,7 @@
         List<Camera.Size> supportedSizes = parameters.getSupportedPreviewSizes();
         int width = 0;
         int height = 0;
+        System.out.println("surfaceChanged");
         for (Camera.Size s: supportedSizes) {
             if ((width - 640)*(width - 640) + (height - 480)*(height - 480) >
                     (s.width - 640)*(s.width - 640) + (s.height - 480)*(s.height - 480)) {

--
Gitblit v1.8.0