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