xuxiuxi
2017-05-12 e1bcafb39828e18a3605d94aad20376484b56b26
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,14 +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.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;
@@ -36,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;
@@ -72,14 +82,12 @@
    private ImageView fragment_register_id_card_photo;
    @ViewInject(R.id.fragment_register_linear_layout)
    private LinearLayout fragment_register_linear_layout;
    @ViewInject(R.id.fragment_register_surveillance_photo_placeholder_image)
    private ImageView fragment_register_surveillance_photo_placeholder_image;
    @ViewInject(R.id.fragment_register_upload_custom_photo_placeholder_image)
    private ImageView fragment_register_upload_custom_photo_placeholder_image;
    @ViewInject(R.id.fragment_register_id_card_photo_placeholder_image)
    private ImageView fragment_register_id_card_photo_placeholder_image;
    @ViewInject(R.id.fragment_register_surveillance_photo_placeholder_text_view)
    private TextView fragment_register_surveillance_photo_placeholder_text_view;
    @ViewInject(R.id.fragment_register_upload_custom_photo_placeholder_text_view)
@@ -94,6 +102,12 @@
    private Bitmap fragment_register_surveillance_photo_img;
    private Bitmap fragment_register_upload_custom_photo_img;
    private Bitmap fragment_register_id_card_photo_img;
    private SurveillanceQueryItem surveillanceQueryItem_selectPhoto;
    private SurveillanceQueryItem surveillanceQueryItem_uploadPhoto;
    public static long selectedSurveillancePhotoId = -1;
    public static long selectedCustomPhotoId = -1;
    private static RegisterFragment instance = new RegisterFragment();
@@ -113,6 +127,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) {
@@ -183,12 +206,34 @@
        params.addBodyParameter(Register.FieldNames.companyId, company);
        params.addBodyParameter(Register.FieldNames.birthday, birthday);
        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) {
            ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream();
            fragment_register_surveillance_photo_img.compress(Bitmap.CompressFormat.JPEG, 100, byteArrayOutputStream);
            byte[] imageBytes = byteArrayOutputStream.toByteArray();
            String encodedImage = Base64.encodeToString(imageBytes, Base64.DEFAULT);
            params.addBodyParameter("choosePhoto", encodedImage);
            params.addBodyParameter(Register.FieldNames.surveillancePhoto, encodedImage);
        }
        if (fragment_register_upload_custom_photo_img != null) {
@@ -196,7 +241,7 @@
            fragment_register_upload_custom_photo_img.compress(Bitmap.CompressFormat.JPEG, 100, byteArrayOutputStream);
            byte[] imageBytes = byteArrayOutputStream.toByteArray();
            String encodedImage = Base64.encodeToString(imageBytes, Base64.DEFAULT);
            params.addBodyParameter("uploadPhoto", encodedImage);
            params.addBodyParameter(Register.FieldNames.uploadCustomPhoto, encodedImage);
        }
        if (fragment_register_id_card_photo_img != null) {
@@ -204,10 +249,27 @@
            fragment_register_id_card_photo_img.compress(Bitmap.CompressFormat.JPEG, 100, byteArrayOutputStream);
            byte[] imageBytes = byteArrayOutputStream.toByteArray();
            String encodedImage = Base64.encodeToString(imageBytes, Base64.DEFAULT);
            params.addBodyParameter("idPhoto", encodedImage);
            params.addBodyParameter(Register.FieldNames.idCardPhoto, encodedImage);
        }
        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
@@ -232,13 +294,27 @@
            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<Bitmap> bitmapList = new ArrayList<>();
                bitmapList.add(0, bitmap);
                List<SurveillanceQueryItem> bitmapList = new ArrayList<>();
                SurveillanceQueryItem item = new SurveillanceQueryItem();
//                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_selectPhoto(item);
                bitmapList.add(item);
                bitmapList.add(item);
                bitmapList.add(item);
                SurveillanceMng.getInstance().addBitmap(bitmapList, null, 0, CommonVariables.Camera.IN);
@@ -252,6 +328,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);
@@ -263,16 +340,18 @@
    }
    public void resetForm() {
        fragment_register_name.setValue("");
        fragment_register_phone.setValue("");
        fragment_register_gender.setValue("");
        fragment_register_id_class.setValue("");
        fragment_register_country.setValue("");
        fragment_register_id_num.setValue("");
        fragment_register_birthday.setValue("");
        fragment_register_company.setValue("");
        fragment_register_remark.setValue("");
        fragment_register_visitor_class.setValue("");
        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_visitor_class.setValue("普通访客");
        fragment_register_surveillance_photo_img = null;
        fragment_register_upload_custom_photo_img = null;
        fragment_register_id_card_photo_img = null;
@@ -285,52 +364,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_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)
@@ -340,26 +432,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) {
            }
        }, selectedSurveillancePhotoId);
    }
    @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) {
            }
        }, selectedCustomPhotoId);
    }
    @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
@@ -379,4 +473,13 @@
        fragment_register_surveillance_photo_placeholder_image.setVisibility(View.INVISIBLE);
    }
    public void setSurveillanceQueryItem_selectPhoto(SurveillanceQueryItem item) {
        this.surveillanceQueryItem_selectPhoto = item;
    }
    @Override
    protected void initData() {
        resetForm();
    }
}