From 1253adf41438d647ba092cce42499faa035d310c Mon Sep 17 00:00:00 2001
From: xuxiuxi <xuxiuxi@454eff88-639b-444f-9e54-f578c98de674>
Date: 星期一, 15 五月 2017 13:14:03 +0800
Subject: [PATCH] 

---
 VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/fragment/RegisterFragment.java     |   69 +++++++++++++++++++---
 VisitFace/DemoForBsk/app/src/main/res/layout/fragment_surveillance.xml                      |    5 -
 VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/fragment/SurveillanceFragment.java |   73 ++---------------------
 3 files changed, 68 insertions(+), 79 deletions(-)

diff --git a/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/fragment/RegisterFragment.java b/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/fragment/RegisterFragment.java
index 3cae29f..8863733 100644
--- a/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/fragment/RegisterFragment.java
+++ b/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/fragment/RegisterFragment.java
@@ -1,14 +1,18 @@
 package cn.com.basic.face.fragment;
 
 import android.app.Activity;
+import android.content.Context;
 import android.content.Intent;
 import android.graphics.Bitmap;
+import android.graphics.BitmapFactory;
 import android.net.Uri;
+import android.os.Environment;
 import android.provider.MediaStore;
 import android.util.Base64;
 import android.util.DisplayMetrics;
 import android.view.MotionEvent;
 import android.view.View;
+import android.view.WindowManager;
 import android.widget.ImageView;
 import android.widget.LinearLayout;
 import android.widget.TextView;
@@ -46,6 +50,7 @@
 import org.xutils.http.RequestParams;
 
 import java.io.ByteArrayOutputStream;
+import java.io.File;
 import java.text.SimpleDateFormat;
 import java.util.ArrayList;
 import java.util.Date;
@@ -109,6 +114,8 @@
 
     public static long selectedSurveillancePhotoId = -1;
     public static long selectedCustomPhotoId = -1;
+
+    private File idCardImageCaptureFile = null;
 
     private static RegisterFragment instance = new RegisterFragment();
 
@@ -325,18 +332,52 @@
                 e.printStackTrace();
             }
         }
-        if (requestCode == fragment_register_id_card_photo_ && resultCode == Activity.RESULT_OK && data != null && data.getData() != null) {
-            Uri uri = data.getData();
+        if (requestCode == fragment_register_id_card_photo_ && resultCode == Activity.RESULT_OK) {
+
             try {
-                Bitmap bitmap = MediaStore.Images.Media.getBitmap(getActivity().getContentResolver(), uri);
-                fragment_register_id_card_photo.setImageBitmap(BitmapUtil.getRoundedCornerBitmap(bitmap,
-                        (int)MainActivity.getInstance().getResources().getDimension(R.dimen.w10dp)));
-                fragment_register_id_card_photo_img = bitmap;
-                MainActivity.getInstance().getContentResolver().delete(uri, null, null);
+                if (data != null && data.getData() != null) {
+                    Uri uri = data.getData();
+                    Bitmap bitmap = MediaStore.Images.Media.getBitmap(getActivity().getContentResolver(), uri);
+                    fragment_register_id_card_photo.setImageBitmap(BitmapUtil.getRoundedCornerBitmap(bitmap,
+                            (int)MainActivity.getInstance().getResources().getDimension(R.dimen.w10dp)));
+                    fragment_register_id_card_photo_img = bitmap;
+                    MainActivity.getInstance().getContentResolver().delete(uri, null, null);
 
-                fragment_register_id_card_photo_placeholder_image.setVisibility(View.INVISIBLE);
-                fragment_register_id_card_photo_placeholder_text_view.setVisibility(View.INVISIBLE);
+                    fragment_register_id_card_photo_placeholder_image.setVisibility(View.INVISIBLE);
+                    fragment_register_id_card_photo_placeholder_text_view.setVisibility(View.INVISIBLE);
+                } else if (idCardImageCaptureFile != null){
+                    if (idCardImageCaptureFile.exists()) {
+                        BitmapFactory.Options options = new BitmapFactory.Options();
+                        options.inJustDecodeBounds = true;
+                        BitmapFactory.decodeFile(idCardImageCaptureFile.getAbsolutePath(), options);
+                        int width = options.outWidth;
+                        int height = options.outHeight;
+                        WindowManager wm = (WindowManager) MainActivity.getInstance().getSystemService(Context.WINDOW_SERVICE);
+                        int screenWidth = wm.getDefaultDisplay().getWidth();
+                        int screenHeight = wm.getDefaultDisplay().getHeight();
+                        int dx = width / screenWidth;
+                        int dy = height / screenHeight;
+                        int scale = 1;
+                        if (dx > dy && dy >= 1) {
+                            scale = dx;
+                        }
+                        if (dy > dx && dx >= 1) {
+                            scale = dy;
+                        }
+                        options.inSampleSize = scale;
+                        options.inJustDecodeBounds = false;
+                        Bitmap bitmap = BitmapFactory.decodeFile(idCardImageCaptureFile.getAbsolutePath(), options);
 
+                        fragment_register_id_card_photo.setImageBitmap(BitmapUtil.getRoundedCornerBitmap(bitmap,
+                                (int)MainActivity.getInstance().getResources().getDimension(R.dimen.w10dp)));
+                        fragment_register_id_card_photo_img = bitmap;
+                        MainActivity.getInstance().getContentResolver().delete(Uri.fromFile(idCardImageCaptureFile), null, null);
+
+                        fragment_register_id_card_photo_placeholder_image.setVisibility(View.INVISIBLE);
+                        fragment_register_id_card_photo_placeholder_text_view.setVisibility(View.INVISIBLE);
+                        idCardImageCaptureFile = null;
+                    }
+                }
             } catch (Exception e) {
                 e.printStackTrace();
             }
@@ -454,10 +495,16 @@
 
     @OnClick(R.id.fragment_register_id_card_photo)
     public void fragment_register_id_card_photo_click(View view) {
-        Intent takePicture = new Intent(MainActivity.getInstance(), PictureTaker.class);
-        startActivityForResult(takePicture, fragment_register_id_card_photo_);
+//        Intent takePicture = new Intent(MainActivity.getInstance(), PictureTaker.class);
+//        startActivityForResult(takePicture, fragment_register_id_card_photo_);
 //        Intent takePicture = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
 //        startActivityForResult(takePicture, fragment_register_id_card_photo_);
+
+        Intent intent = new Intent();
+        intent.setAction(MediaStore.ACTION_IMAGE_CAPTURE);
+        idCardImageCaptureFile = new File(Environment.getExternalStorageDirectory(), System.currentTimeMillis()+".jpg");
+        intent.putExtra(MediaStore.EXTRA_OUTPUT, Uri.fromFile(idCardImageCaptureFile));
+        startActivityForResult(intent, fragment_register_id_card_photo_);
     }
 
     @Override
diff --git a/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/fragment/SurveillanceFragment.java b/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/fragment/SurveillanceFragment.java
index 29a8f55..b907669 100644
--- a/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/fragment/SurveillanceFragment.java
+++ b/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/fragment/SurveillanceFragment.java
@@ -4,6 +4,7 @@
 import android.net.wifi.WifiManager;
 import android.os.Build;
 import android.os.Bundle;
+import android.os.SystemClock;
 import android.text.format.Formatter;
 import android.view.SurfaceHolder;
 import android.view.SurfaceView;
@@ -80,6 +81,7 @@
         } else {
             useNative = true;
         }
+        useNative = false;
         if (useNative) {
             System.loadLibrary("cvface_api");
             System.loadLibrary("opencv_java3");
@@ -129,7 +131,9 @@
             }
 
             public void surfaceChanged(SurfaceHolder holder, int format, int width, int height) {}
-            public void surfaceDestroyed(SurfaceHolder holder) {}
+            public void surfaceDestroyed(SurfaceHolder holder) {
+                System.out.println("surfaceDestroyed");
+            }
         });
         fragment_supervisory_exit_camera.getHolder().addCallback(new SurfaceHolder.Callback() {
             public void surfaceCreated(SurfaceHolder holder) {
@@ -141,71 +145,10 @@
             }
 
             public void surfaceChanged(SurfaceHolder holder, int format, int width, int height) {}
-            public void surfaceDestroyed(SurfaceHolder holder) {}
+            public void surfaceDestroyed(SurfaceHolder holder) {
+                System.out.println("surfaceDestroyed");
+            }
         });
-//        new Thread(new Runnable() {
-//            @Override
-//            public void run() {
-//                try {
-//                    if (useNative) {
-//                        MainActivity.getInstance().runOnUiThread(new Runnable() {
-//                            public void run() {
-//                                try {
-////                                    File file2 = MainActivity.getInstance().getExternalFilesDir(null);
-////                                    File[] files = file2.listFiles();
-////                                    for (File file : files) {
-////                                        System.out.println(file.getAbsolutePath());
-////                                    }
-////                                    String s1 = getStringFromFile("/sdcard/license.lic");
-////                                    String str = convertStreamToString(MainActivity.getInstance().getAssets().open("license.lic"));
-////                                    RtspFaceNative.dbgSetStfaceLicense(str);
-//                                } catch (Exception e) {
-//                                    e.printStackTrace();
-//                                }
-//
-//                            }
-//                            public String convertStreamToString(InputStream is) throws Exception {
-//                                BufferedReader reader = new BufferedReader(new InputStreamReader(is));
-//                                StringBuilder sb = new StringBuilder();
-//                                String line = null;
-//                                while ((line = reader.readLine()) != null) {
-//                                    sb.append(line).append("\n");
-//                                }
-//                                reader.close();
-//                                return sb.toString();
-//                            }
-//                            public String getStringFromFile (String filePath) throws Exception {
-//                                File fl = new File(filePath);
-//                                FileInputStream fin = new FileInputStream(fl);
-//                                String ret = convertStreamToString(fin);
-//                                //Make sure you close all streams.
-//                                fin.close();
-//                                return ret;
-//                            }
-//                        });
-//
-//                    } else {
-//                    }
-//                } catch (Exception e) {
-//                    e.printStackTrace();
-//                }
-//                try {
-//                    final SimpleDateFormat sdf = new SimpleDateFormat("yyyy骞碝M鏈坉d鏃�  HH锛歮m锛歴s鍒�");
-////                    while (true) {
-////                        Thread.sleep(1000);
-////                        MainActivity.getInstance().runOnUiThread(new Runnable() {
-////                            @Override
-////                            public void run() {
-////                                fragment_surveillance_enter_timer.setText(sdf.format(new Date()));
-////                                fragment_surveillance_exit_timer.setText(sdf.format(new Date()));
-////                            }
-////                        });
-////                    }
-//                } catch (Exception e) {
-//                    e.printStackTrace();
-//                }
-//            }
-//        }).start();
         new SurveillanceMng.SurveillanceListThread().start();
     }
 
diff --git a/VisitFace/DemoForBsk/app/src/main/res/layout/fragment_surveillance.xml b/VisitFace/DemoForBsk/app/src/main/res/layout/fragment_surveillance.xml
index 3798c39..8833908 100644
--- a/VisitFace/DemoForBsk/app/src/main/res/layout/fragment_surveillance.xml
+++ b/VisitFace/DemoForBsk/app/src/main/res/layout/fragment_surveillance.xml
@@ -32,8 +32,8 @@
         android:layout_width="match_parent"
         android:layout_height="0dp"
         android:orientation="horizontal"
-        android:paddingLeft="2dp"
-        android:paddingRight="2dp"
+        android:paddingLeft="@dimen/w2dp"
+        android:paddingRight="@dimen/w2dp"
         android:layout_weight="1"
         >
         <RelativeLayout
@@ -113,7 +113,6 @@
             </RelativeLayout>
         </RelativeLayout>
     </LinearLayout>
-
     <LinearLayout
         android:layout_width="match_parent"
         android:layout_height="@dimen/h290dp"

--
Gitblit v1.8.0