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