xuxiuxi
2017-05-22 c41c02a52bb12a5724f4d9e9d2e9a33167de88a4
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();
            }
@@ -346,15 +387,24 @@
    public void resetForm() {
        selectedCustomPhotoId = -1;
        selectedSurveillancePhotoId = -1;
        fragment_register_name.setValue("徐修溪"+Math.random());
        fragment_register_phone.setValue("13691348767");
        fragment_register_gender.setValue("男");
        fragment_register_id_class.setValue("身份证");
        fragment_register_country.setValue("中国");
        fragment_register_id_num.setValue("36041419292222222");
        fragment_register_birthday.setValue("1985-08-12");
        fragment_register_company.setValue("贝思科");
        fragment_register_remark.setValue("备注");
        fragment_register_name.setValue("");
        fragment_register_phone.setValue("");
        fragment_register_id_num.setValue("");
        fragment_register_birthday.setValue("");
        fragment_register_company.setValue("");
        fragment_register_remark.setValue("");
        fragment_register_gender.setValue("男");
        fragment_register_id_class.setValue("身份证");
        fragment_register_country.setValue("中国");
        fragment_register_visitor_class.setValue("普通访客");
        fragment_register_surveillance_photo_img = null;
        fragment_register_upload_custom_photo_img = null;
@@ -454,10 +504,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