From 090ba27c385463ccd77197f82b10c69f695b6708 Mon Sep 17 00:00:00 2001
From: xuxiuxi <xuxiuxi@454eff88-639b-444f-9e54-f578c98de674>
Date: 星期四, 11 五月 2017 16:44:00 +0800
Subject: [PATCH] 

---
 VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/fragment/RegisterFragment.java |  147 +++++++++++++++++++++++++++++++++++-------------
 1 files changed, 107 insertions(+), 40 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 2636a3a..161d799 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
@@ -6,6 +6,8 @@
 import android.net.Uri;
 import android.provider.MediaStore;
 import android.util.Base64;
+import android.util.DisplayMetrics;
+import android.view.MotionEvent;
 import android.view.View;
 import android.widget.ImageView;
 import android.widget.LinearLayout;
@@ -13,16 +15,21 @@
 import android.widget.Toast;
 
 import com.bsk.zhangbo.demoforbsk.R;
+
+import cn.com.basic.face.adapter.SurveillanceFragment;
+import cn.com.basic.face.base.BaseApplication;
 import cn.com.basic.face.base.BaseFragment;
+import cn.com.basic.face.base.PictureTaker;
+import cn.com.basic.face.dialog.SurveillancePhotoDialog;
 import cn.com.basic.face.discern.common.CommonVariables;
 import cn.com.basic.face.discern.entity.Register;
-import cn.com.basic.face.discern.query.condition.SurveillanceQueryCondition;
 import cn.com.basic.face.discern.query.item.CheckInQueryItem;
 import cn.com.basic.face.discern.query.item.SurveillanceQueryItem;
 import cn.com.basic.face.service.DictionaryMng;
 import cn.com.basic.face.service.RegisterMng;
 import cn.com.basic.face.service.SurveillanceMng;
 import cn.com.basic.face.util.Constant;
+import cn.com.basic.face.util.NativeImg;
 import cn.com.basic.face.util.OkClickedListener;
 
 import cn.com.basic.face.util.AppApi;
@@ -38,6 +45,7 @@
 import org.xutils.http.RequestParams;
 
 import java.io.ByteArrayOutputStream;
+import java.text.SimpleDateFormat;
 import java.util.ArrayList;
 import java.util.Date;
 import java.util.List;
@@ -95,7 +103,8 @@
     private Bitmap fragment_register_upload_custom_photo_img;
     private Bitmap fragment_register_id_card_photo_img;
 
-    private SurveillanceQueryItem surveillanceQueryItem;
+    private SurveillanceQueryItem surveillanceQueryItem_selectPhoto;
+    private SurveillanceQueryItem surveillanceQueryItem_uploadPhoto;
 
     private static RegisterFragment instance = new RegisterFragment();
 
@@ -115,6 +124,15 @@
     @OnClick(R.id.fragment_register_save)
     public void fragment_register_save_click(View v) {
         RequestParams params = new RequestParams();
+        DisplayMetrics metrics = getActivity().getResources().getDisplayMetrics();
+
+        int h1 = fragment_register_surveillance_photo.getHeight();
+        int h2 = fragment_register_upload_custom_photo.getHeight();
+        int h3 = fragment_register_id_card_photo.getHeight();
+
+        DisplayMetrics displayMetrics = BaseApplication.getInstance().getResources().getDisplayMetrics();
+        float dpHeight = displayMetrics.heightPixels / displayMetrics.density;
+        float dpWidth = displayMetrics.widthPixels / displayMetrics.density;
 
         String name = fragment_register_name.getValue();
         if (name.trim().length() <= 0) {
@@ -185,11 +203,26 @@
         params.addBodyParameter(Register.FieldNames.companyId, company);
         params.addBodyParameter(Register.FieldNames.birthday, birthday);
 
-        if (surveillanceQueryItem != null) {
-            params.addBodyParameter("width", surveillanceQueryItem.getWidth());
-            params.addBodyParameter("height", surveillanceQueryItem.getHeight());
-            params.addBodyParameter("base64Image", surveillanceQueryItem.getBase64Image());
-            fragment_register_surveillance_photo_img = surveillanceQueryItem.getBitmap();
+        if (surveillanceQueryItem_selectPhoto != null) {
+            params.addBodyParameter("width", surveillanceQueryItem_selectPhoto.getWidth());
+            params.addBodyParameter("height", surveillanceQueryItem_selectPhoto.getHeight());
+            fragment_register_surveillance_photo_img = surveillanceQueryItem_selectPhoto.getBitmap();
+
+            NativeImg nativeImg = surveillanceQueryItem_selectPhoto.getNativeImg();
+            String str = Base64.encodeToString(nativeImg.image, 0, nativeImg.size, Base64.DEFAULT);
+
+            params.addBodyParameter("base64Image", str);
+        }
+
+        if (surveillanceQueryItem_uploadPhoto != null) {
+//            params.addBodyParameter("width", surveillanceQueryItem_uploadPhoto.getWidth());
+//            params.addBodyParameter("height", surveillanceQueryItem_uploadPhoto.getHeight());
+//            fragment_register_surveillance_photo_img = surveillanceQueryItem_uploadPhoto.getBitmap();
+//
+//            NativeImg nativeImg = surveillanceQueryItem_uploadPhoto.getNativeImg();
+//            String str = Base64.encodeToString(nativeImg.image, 0, nativeImg.size, Base64.DEFAULT);
+//
+//            params.addBodyParameter("base64Image", str);
         }
 
         if (fragment_register_surveillance_photo_img != null) {
@@ -219,6 +252,23 @@
         RegisterMng.getInstance().add(params);
     }
 
+    public void set_fragment_register_surveillance_photo(SurveillanceQueryItem item) {
+        surveillanceQueryItem_selectPhoto = item;
+        fragment_register_surveillance_photo.setImageBitmap(item.getBitmap());
+        fragment_register_surveillance_photo_img = item.getBitmap();
+        fragment_register_surveillance_photo_placeholder_image.setVisibility(View.INVISIBLE);
+        fragment_register_surveillance_photo_placeholder_text_view.setVisibility(View.INVISIBLE);
+    }
+
+    public void set_fragment_register_upload_custom_photo(SurveillanceQueryItem item) {
+        surveillanceQueryItem_uploadPhoto = item;
+        fragment_register_upload_custom_photo.setImageBitmap(item.getBitmap());
+        fragment_register_upload_custom_photo_img = item.getBitmap();
+
+        fragment_register_upload_custom_photo_placeholder_image.setVisibility(View.INVISIBLE);
+        fragment_register_upload_custom_photo_placeholder_text_view.setVisibility(View.INVISIBLE);
+    }
+
     @Override
     public void onActivityResult(int requestCode, int resultCode, Intent data) {
         super.onActivityResult(requestCode, resultCode, data);
@@ -241,23 +291,24 @@
             try {
                 Bitmap bitmap = MediaStore.Images.Media.getBitmap(getActivity().getContentResolver(), uri);
                 fragment_register_upload_custom_photo.setImageBitmap(bitmap);
-                fragment_register_upload_custom_photo_img = bitmap;
+                //fragment_register_upload_custom_photo_img = bitmap;
 
                 fragment_register_upload_custom_photo_placeholder_image.setVisibility(View.INVISIBLE);
                 fragment_register_upload_custom_photo_placeholder_text_view.setVisibility(View.INVISIBLE);
 
                 List<SurveillanceQueryItem> bitmapList = new ArrayList<>();
                 SurveillanceQueryItem item = new SurveillanceQueryItem();
-                item.setBitmap(bitmap);
+//                item.setBitmap(bitmap);
                 item.setWidth(bitmap.getWidth()+"");
                 item.setHeight(bitmap.getHeight()+"");
+                item.setLocalUri(uri);
 
-                ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream();
-                bitmap.compress(Bitmap.CompressFormat.JPEG, 100, byteArrayOutputStream);
-                byte[] imageBytes = byteArrayOutputStream.toByteArray();
-                String encodedImage = Base64.encodeToString(imageBytes, Base64.DEFAULT);
-                item.setBase64Image(encodedImage);
-                setSurveillanceQueryItem(item);
+//                ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream();
+//                bitmap.compress(Bitmap.CompressFormat.JPEG, 100, byteArrayOutputStream);
+//                byte[] imageBytes = byteArrayOutputStream.toByteArray();
+//                String encodedImage = Base64.encodeToString(imageBytes, Base64.DEFAULT);
+//                item.setBase64Image(encodedImage);
+                setSurveillanceQueryItem_selectPhoto(item);
                 bitmapList.add(item);
                 bitmapList.add(item);
                 bitmapList.add(item);
@@ -274,6 +325,7 @@
                 Bitmap bitmap = MediaStore.Images.Media.getBitmap(getActivity().getContentResolver(), uri);
                 fragment_register_id_card_photo.setImageBitmap(bitmap);
                 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);
@@ -307,53 +359,65 @@
         fragment_register_upload_custom_photo_placeholder_text_view.setVisibility(View.VISIBLE);
         fragment_register_id_card_photo_placeholder_image.setVisibility(View.VISIBLE);
         fragment_register_id_card_photo_placeholder_text_view.setVisibility(View.VISIBLE);
-        this.surveillanceQueryItem = null;
+        this.surveillanceQueryItem_selectPhoto = null;
+        this.surveillanceQueryItem_uploadPhoto = null;
     }
 
-    @OnClick(R.id.fragment_register_country)
+    //@OnClick(R.id.fragment_register_country)
     public void fragment_register_country_click(View view) {
         new CountryDialog(fragment_register_linear_layout, new OkClickedListener() {
             public void onSelected(String value) {
                 fragment_register_country.setValue(value);
             }
-        });
+        },fragment_register_country.getValue());
     }
 
-    @OnClick(R.id.fragment_register_gender)
+    //@OnClick(R.id.fragment_register_gender)
     public void fragment_register_gender_click(View view) {
         new SelectDialog(fragment_register_linear_layout, Constant.DialogSelectType.GENDER, new OkClickedListener() {
             public void onSelected(String value) {
                 fragment_register_gender.setValue(value);
             }
-        });
+        }, fragment_register_gender.getValue());
     }
 
-    @OnClick(R.id.fragment_register_birthday)
+    //@OnClick(R.id.fragment_register_birthday)
     public void fragment_register_birthday_click(View view) {
+        String birthdayStr = fragment_register_birthday.getValue();
+        Date birthday = new Date();
+        if (birthdayStr != null && !"".equals(birthdayStr)) {
+            SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
+            try {
+                birthday = sdf.parse(birthdayStr);
+            } catch (Exception e) {
+                e.printStackTrace();
+            }
+        }
+
         new DateSelectDialog(
                 new OkClickedListener(){
                     public void onSelected(String value) {
                         fragment_register_birthday.setValue(value);
                     }
-                },new Date());
+                }, birthday);
     }
 
-    @OnClick(R.id.fragment_register_visitor_class)
+    //@OnClick(R.id.fragment_register_visitor_class)
     public void fragment_register_visitor_class_click(View view) {
         new SelectDialog(fragment_register_linear_layout, Constant.DialogSelectType.VISITOR_TYPE, new OkClickedListener() {
             public void onSelected(String value) {
                 fragment_register_visitor_class.setValue(value);
             }
-        });
+        }, fragment_register_visitor_class.getValue());
     }
 
-    @OnClick(R.id.fragment_register_id_class)
+    //@OnClick(R.id.fragment_register_id_class)
     public void fragment_register_id_class_click(View view) {
         new SelectDialog(fragment_register_linear_layout, Constant.DialogSelectType.ID_TYPE, new OkClickedListener() {
             public void onSelected(String value) {
                 fragment_register_id_class.setValue(value);
             }
-        });
+        }, fragment_register_id_class.getValue());
     }
 
     @OnClick(R.id.fragment_register_back)
@@ -363,26 +427,28 @@
 
     @OnClick(R.id.fragment_register_surveillance_photo)
     public void fragment_register_surveillance_photo_click(View view) {
-        Intent intent = new Intent();
-        intent.setType("image/*");
-        intent.setAction(Intent.ACTION_GET_CONTENT);
-        startActivityForResult(Intent.createChooser(intent, "閫夋嫨鍥剧墖"), fragment_register_surveillance_photo_);
+        SurveillanceFragment.SurveillancePhotoSelectListViewAdapter.selectPhotoOrUploadPhoto = CommonVariables.SelectPhotoType.SELECT_PHOTO;
+        new SurveillancePhotoDialog(fragment_register_linear_layout, Constant.DialogSelectType.ID_TYPE, new OkClickedListener() {
+            public void onSelected(String value) {
+            }
+        });
     }
 
     @OnClick(R.id.fragment_register_upload_custom_photo)
     public void fragment_register_upload_custom_photo_click(View view) {
-        Intent intent = new Intent();
-        intent.setType("image/*");
-        intent.setAction(Intent.ACTION_GET_CONTENT);
-        startActivityForResult(Intent.createChooser(intent, "閫夋嫨鍥剧墖"), fragment_register_upload_custom_photo_);
+        SurveillanceFragment.SurveillancePhotoSelectListViewAdapter.selectPhotoOrUploadPhoto = CommonVariables.SelectPhotoType.UPLOAD_PHOTO;
+        new SurveillancePhotoDialog(fragment_register_linear_layout, Constant.DialogSelectType.ID_TYPE, new OkClickedListener() {
+            public void onSelected(String value) {
+            }
+        });
     }
 
     @OnClick(R.id.fragment_register_id_card_photo)
     public void fragment_register_id_card_photo_click(View view) {
-        Intent intent = new Intent();
-        intent.setType("image/*");
-        intent.setAction(Intent.ACTION_GET_CONTENT);
-        startActivityForResult(Intent.createChooser(intent, "閫夋嫨鍥剧墖"), 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_);
     }
 
     @Override
@@ -402,12 +468,13 @@
         fragment_register_surveillance_photo_placeholder_image.setVisibility(View.INVISIBLE);
     }
 
-    public void setSurveillanceQueryItem(SurveillanceQueryItem item) {
-        this.surveillanceQueryItem = item;
+    public void setSurveillanceQueryItem_selectPhoto(SurveillanceQueryItem item) {
+        this.surveillanceQueryItem_selectPhoto = item;
     }
 
     @Override
     protected void initData() {
         resetForm();
     }
+
 }

--
Gitblit v1.8.0