| | |
| | | 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; |
| | |
| | | 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; |
| | |
| | | |
| | | 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; |
| | |
| | | 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; |
| | |
| | | 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]); |
| | |
| | | tab.getCustomView().setSelected(true); |
| | | } |
| | | } |
| | | if (CommonVariables.ID_CARD) { |
| | | myThread = new MyThread(); |
| | | myThread.start(); |
| | | |
| | | } |
| | | } |
| | | |
| | | public static MainActivity getInstance() { |
| | |
| | | } 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(); |
| | |
| | | } |
| | | } |
| | | 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)); |
| | | } |
| | | } |
| | | } |
| | |
| | | } 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(); |
| | | |
| | |
| | | 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); |
| | |
| | | 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)) { |