package cn.com.basic.face.fragment; import android.app.Activity; import android.content.Intent; import android.database.Cursor; import android.graphics.Bitmap; import android.net.Uri; import android.provider.MediaStore; import android.util.Base64; import android.view.View; import android.widget.ImageView; import android.widget.LinearLayout; import android.widget.TextView; import android.widget.Toast; import com.bsk.zhangbo.demoforbsk.R; import cn.com.basic.face.base.BaseFragment; import cn.com.basic.face.discern.entity.Register; import cn.com.basic.face.discern.query.item.CheckInQueryItem; 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.OkClickedListener; import cn.com.basic.face.util.AppApi; import cn.com.basic.face.dialog.DateSelectDialog; import cn.com.basic.face.dialog.CountryDialog; import cn.com.basic.face.widget.register.RegisterRightFieldLabelView; import cn.com.basic.face.widget.register.RegisterRightFieldTextView; import cn.com.basic.face.dialog.SelectDialog; import com.facebook.drawee.view.SimpleDraweeView; import com.lidroid.xutils.view.annotation.ViewInject; import com.lidroid.xutils.view.annotation.event.OnClick; import org.xutils.http.RequestParams; import java.io.ByteArrayOutputStream; import java.io.File; import java.io.IOException; import java.util.ArrayList; import java.util.Date; import java.util.List; import cn.com.basic.face.base.MainActivity; public class RegisterFragment extends BaseFragment implements View.OnClickListener{ @ViewInject(R.id.fragment_register_name) private RegisterRightFieldTextView fragment_register_name; @ViewInject(R.id.fragment_register_gender) private RegisterRightFieldLabelView fragment_register_gender; @ViewInject(R.id.fragment_register_country) private RegisterRightFieldLabelView fragment_register_country; @ViewInject(R.id.fragment_register_birthday) private RegisterRightFieldLabelView fragment_register_birthday; @ViewInject(R.id.fragment_register_visitor_class) private RegisterRightFieldLabelView fragment_register_visitor_class; @ViewInject(R.id.fragment_register_phone) private RegisterRightFieldTextView fragment_register_phone; @ViewInject(R.id.fragment_register_id_class) private RegisterRightFieldLabelView fragment_register_id_class; @ViewInject(R.id.fragment_register_id_num) private RegisterRightFieldTextView fragment_register_id_num; @ViewInject(R.id.fragment_register_company) private RegisterRightFieldTextView fragment_register_company; @ViewInject(R.id.fragment_register_remark) private RegisterRightFieldTextView fragment_register_remark; @ViewInject(R.id.fragment_register_choose_photo) private ImageView fragment_register_choose_photo; @ViewInject(R.id.fragment_register_update_photo) private ImageView fragment_register_update_photo; @ViewInject(R.id.fragment_register_id_card_photo) 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_choose_photo_placeholder_image) private ImageView fragment_register_choose_photo_placeholder_image; @ViewInject(R.id.fragment_register_update_photo_placeholder_image) private ImageView fragment_register_update_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_choose_photo_placeholder_text_view) private TextView fragment_register_choose_photo_placeholder_text_view; @ViewInject(R.id.fragment_register_update_photo_placeholder_text_view) private TextView fragment_register_update_photo_placeholder_text_view; @ViewInject(R.id.fragment_register_id_card_photo_placeholder_text_view) private TextView fragment_register_id_card_photo_placeholder_text_view; private static final int fragment_register_choose_photo_ = 1; private static final int fragment_register_update_photo_ = 2; private static final int fragment_register_id_card_photo_ = 3; private Bitmap fragment_register_choose_photo_img; private Bitmap fragment_register_update_photo_img; private Bitmap fragment_register_id_card_photo_img; private static RegisterFragment instance = new RegisterFragment(); public static RegisterFragment getInstance() { return instance; } @Override protected int getLayoutId() { return R.layout.fragment_register; } @OnClick(R.id.fragment_register_save) public void fragment_register_save_click(View view) { } @OnClick(R.id.fragment_register_add) public void fragment_register_add_click(View v) { RequestParams params = new RequestParams(); // String name = fragment_register_name.getValue(); // if (name.trim().length() <= 0) { // Toast.makeText(MainActivity.getInstance(), "姓名不能为空", Toast.LENGTH_SHORT).show(); // fragment_register_name.requestFocus(); // return; // } // String phone = fragment_register_phone.getValue(); // if (phone.trim().length() <= 0) { // Toast.makeText(MainActivity.getInstance(), "电话不能为空", Toast.LENGTH_SHORT).show(); // fragment_register_phone.requestFocus(); // return; // } // String gender = fragment_register_gender.getValue(); // if (gender.trim().length() <= 0) { // Toast.makeText(MainActivity.getInstance(), "性别不能为空", Toast.LENGTH_SHORT).show(); // fragment_register_gender.callOnClick(); // return; // } // String id_class = fragment_register_id_class.getValue(); // if (id_class.trim().length() <= 0) { // Toast.makeText(MainActivity.getInstance(), "证件类型不能为空", Toast.LENGTH_SHORT).show(); // fragment_register_id_class.callOnClick(); // return; // } // String country = fragment_register_country.getValue(); // if (country.trim().length() <= 0) { // Toast.makeText(MainActivity.getInstance(), "国籍不能为空", Toast.LENGTH_SHORT).show(); // fragment_register_country.callOnClick(); // return; // } // String id_num = fragment_register_id_num.getValue(); // if (id_num.trim().length() <= 0) { // Toast.makeText(MainActivity.getInstance(), "证件编号不能为空", Toast.LENGTH_SHORT).show(); // fragment_register_id_num.requestFocus(); // return; // } // String birthday = fragment_register_birthday.getValue(); // if (birthday.trim().length() <= 0) { // Toast.makeText(MainActivity.getInstance(), "出生日期不能为空", Toast.LENGTH_SHORT).show(); // fragment_register_birthday.callOnClick(); // return; // } // String company = fragment_register_company.getValue(); // if (company.trim().length() <= 0) { // Toast.makeText(MainActivity.getInstance(), "公司名称不能为空", Toast.LENGTH_SHORT).show(); // fragment_register_company.requestFocus(); // return; // } // String remark = fragment_register_remark.getValue(); // if (remark.trim().length() <= 0) { // Toast.makeText(MainActivity.getInstance(), "备注不能为空", Toast.LENGTH_SHORT).show(); // fragment_register_remark.requestFocus(); // return; // } // String visitor_class = fragment_register_visitor_class.getValue(); // if (visitor_class.trim().length() <= 0) { // Toast.makeText(MainActivity.getInstance(), "访客类型不能为空", Toast.LENGTH_SHORT).show(); // fragment_register_visitor_class.callOnClick(); // return; // } // params.addBodyParameter(Register.FieldNames.username, name); // params.addBodyParameter(Register.FieldNames.mobilePhone, phone); // params.addBodyParameter(Register.FieldNames.genderId, DictionaryMng.getInstance().getId(gender)); // params.addBodyParameter(Register.FieldNames.identityTypeId, DictionaryMng.getInstance().getId(id_class)); // params.addBodyParameter(Register.FieldNames.countryId, DictionaryMng.getInstance().getId(country)); // params.addBodyParameter(Register.FieldNames.identifyNum, id_num); // params.addBodyParameter(Register.FieldNames.companyId, company); // params.addBodyParameter(Register.FieldNames.birthday, birthday); if (fragment_register_choose_photo_img != null) { ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream(); fragment_register_choose_photo_img.compress(Bitmap.CompressFormat.JPEG, 100, byteArrayOutputStream); byte[] imageBytes = byteArrayOutputStream.toByteArray(); String encodedImage = Base64.encodeToString(imageBytes, Base64.DEFAULT); params.addBodyParameter("choosePhoto", encodedImage); } if (fragment_register_update_photo_img != null) { ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream(); fragment_register_update_photo_img.compress(Bitmap.CompressFormat.JPEG, 100, byteArrayOutputStream); byte[] imageBytes = byteArrayOutputStream.toByteArray(); String encodedImage = Base64.encodeToString(imageBytes, Base64.DEFAULT); params.addBodyParameter("uploadPhoto", encodedImage); } if (fragment_register_id_card_photo_img != null) { ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream(); 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); } RegisterMng.getInstance().add(params); } @Override public void onActivityResult(int requestCode, int resultCode, Intent data) { super.onActivityResult(requestCode, resultCode, data); if (requestCode == fragment_register_choose_photo_ && resultCode == Activity.RESULT_OK && data != null && data.getData() != null) { Uri uri = data.getData(); try { Bitmap bitmap = MediaStore.Images.Media.getBitmap(getActivity().getContentResolver(), uri); fragment_register_choose_photo.setImageBitmap(bitmap); fragment_register_choose_photo_img = bitmap; fragment_register_choose_photo_placeholder_image.setVisibility(View.INVISIBLE); fragment_register_choose_photo_placeholder_text_view.setVisibility(View.INVISIBLE); } catch (Exception e) { e.printStackTrace(); } } if (requestCode == fragment_register_update_photo_ && resultCode == Activity.RESULT_OK && data != null && data.getData() != null) { Uri uri = data.getData(); try { Bitmap bitmap = MediaStore.Images.Media.getBitmap(getActivity().getContentResolver(), uri); fragment_register_update_photo.setImageBitmap(bitmap); fragment_register_update_photo_img = bitmap; fragment_register_update_photo_placeholder_image.setVisibility(View.INVISIBLE); fragment_register_update_photo_placeholder_text_view.setVisibility(View.INVISIBLE); List bitmapList = new ArrayList<>(); bitmapList.add(0, bitmap); SurveillanceMng.getInstance().addBitmap(bitmapList, null, 0); } catch (Exception e) { e.printStackTrace(); } } if (requestCode == fragment_register_id_card_photo_ && resultCode == Activity.RESULT_OK && data != null && data.getData() != null) { Uri uri = data.getData(); try { Bitmap bitmap = MediaStore.Images.Media.getBitmap(getActivity().getContentResolver(), uri); fragment_register_id_card_photo.setImageBitmap(bitmap); fragment_register_id_card_photo_img = bitmap; fragment_register_id_card_photo_placeholder_image.setVisibility(View.INVISIBLE); fragment_register_id_card_photo_placeholder_text_view.setVisibility(View.INVISIBLE); } catch (Exception e) { e.printStackTrace(); } } } 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(""); } @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); } }); } @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); } }); } @OnClick(R.id.fragment_register_birthday) public void fragment_register_birthday_click(View view) { new DateSelectDialog( new OkClickedListener(){ public void onSelected(String value) { fragment_register_birthday.setValue(value); } },new Date()); } @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); } }); } @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); } }); } @OnClick(R.id.fragment_register_back) public void fragment_register_back_click(View view) { MainActivity.selectPage(0); } @OnClick(R.id.fragment_register_choose_photo) public void fragment_register_choose_photo_click(View view) { Intent intent = new Intent(); intent.setType("image/*"); intent.setAction(Intent.ACTION_GET_CONTENT); startActivityForResult(Intent.createChooser(intent, "选择图片"), fragment_register_choose_photo_); } @OnClick(R.id.fragment_register_update_photo) public void fragment_register_update__photo_click(View view) { Intent intent = new Intent(); intent.setType("image/*"); intent.setAction(Intent.ACTION_GET_CONTENT); startActivityForResult(Intent.createChooser(intent, "选择图片"), fragment_register_update_photo_); } @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_); } @Override public void onClick(View v) {} public void setRegisterInfo(CheckInQueryItem item) { fragment_register_choose_photo.setImageURI(Uri.parse(AppApi.IMAGE_URL_BASE + item.getImagePath())); } public ImageView get_fragment_register_choose_photo() { return fragment_register_choose_photo; } public void setChoosePhoto(Bitmap bitmap) { fragment_register_choose_photo.setImageBitmap(bitmap); fragment_register_choose_photo_placeholder_text_view.setVisibility(View.INVISIBLE); fragment_register_choose_photo_placeholder_image.setVisibility(View.INVISIBLE); } }