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.support.v4.app.Fragment; import android.view.MotionEvent; import android.view.View; import android.view.ViewGroup; import android.view.WindowManager; import android.widget.EditText; import android.widget.FrameLayout; import android.widget.ImageView; import android.widget.TextView; 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.dialog.AttenderRegisterSelectPhotoDialog; import cn.com.basic.face.dialog.AttenderRegisterUploadPhotoDialog; 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.OfflineAttenderRegisterItem; import cn.com.basic.face.discern.query.item.SurveillanceQueryItem; import cn.com.basic.face.service.DepartmentMng; import cn.com.basic.face.service.DictionaryMng; import cn.com.basic.face.service.PostMng; import cn.com.basic.face.service.RegisterMng; import cn.com.basic.face.util.BitmapUtil; import cn.com.basic.face.util.Constant; import cn.com.basic.face.util.FileUtil; import cn.com.basic.face.util.IdCard; import cn.com.basic.face.thread.IdCardReaderThread; import cn.com.basic.face.util.KeyboardUtil; import cn.com.basic.face.util.NativeImg; import cn.com.basic.face.util.OkClickedListener; import cn.com.basic.face.util.AppApi; 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.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.text.SimpleDateFormat; import java.util.ArrayList; import java.util.Date; import java.util.List; import java.util.UUID; import cn.com.basic.face.base.MainActivity; public class AttenderRegisterFragment extends BaseFragment implements View.OnClickListener{ private static AttenderRegisterFragment instance = new AttenderRegisterFragment(); public static AttenderRegisterFragment getInstance() { return instance; } @Override protected int getLayoutId() { return R.layout.fragment_attender_register; } @Override public void onClick(View v) {} @ViewInject(R.id.fragment_attender_register_name) private RegisterRightFieldTextView fragment_attender_register_name; @ViewInject(R.id.fragment_attender_register_gender) private RegisterRightFieldLabelView fragment_attender_register_gender; @ViewInject(R.id.fragment_attender_register_id_class) private RegisterRightFieldLabelView fragment_attender_register_id_class; @ViewInject(R.id.fragment_attender_register_remark) private RegisterRightFieldTextView fragment_attender_register_remark; @ViewInject(R.id.fragment_attender_register_post) private RegisterRightFieldLabelView fragment_attender_register_post; @ViewInject(R.id.fragment_attender_register_department) private RegisterRightFieldLabelView fragment_attender_register_department; @ViewInject(R.id.fragment_attender_register_id_num) private RegisterRightFieldTextView fragment_attender_register_id_num; @ViewInject(R.id.fragment_attender_register_surveillance_photo) private ImageView fragment_attender_register_surveillance_photo; @ViewInject(R.id.fragment_attender_register_upload_custom_photo) private ImageView fragment_attender_register_upload_custom_photo; @ViewInject(R.id.fragment_attender_register_id_card_photo) private ImageView fragment_attender_register_id_card_photo; @ViewInject(R.id.fragment_register_frame_layout) private FrameLayout fragment_attender_register_linear_layout; @ViewInject(R.id.fragment_attender_register_surveillance_photo_placeholder_image) private ImageView fragment_attender_register_surveillance_photo_placeholder_image; @ViewInject(R.id.fragment_attender_register_upload_custom_photo_placeholder_image) private ImageView fragment_attender_register_upload_custom_photo_placeholder_image; @ViewInject(R.id.fragment_attender_register_id_card_photo_placeholder_image) private ImageView fragment_attender_register_id_card_photo_placeholder_image; @ViewInject(R.id.fragment_attender_register_surveillance_photo_placeholder_text_view) private TextView fragment_attender_register_surveillance_photo_placeholder_text_view; @ViewInject(R.id.fragment_attender_register_upload_custom_photo_placeholder_text_view) private TextView fragment_attender_register_upload_custom_photo_placeholder_text_view; @ViewInject(R.id.fragment_attender_register_id_card_photo_placeholder_text_view) private TextView fragment_attender_register_id_card_photo_placeholder_text_view; private static final int fragment_attender_register_surveillance_photo_ = 1; private static final int fragment_attender_register_upload_custom_photo_ = 2; private static final int fragment_attender_register_id_card_photo_ = 3; private Bitmap fragment_attender_register_surveillance_photo_img; private Bitmap fragment_attender_register_upload_custom_photo_img; private Bitmap fragment_attender_register_id_card_photo_img; private SurveillanceQueryItem surveillanceQueryItem_selectPhoto; private SurveillanceQueryItem surveillanceQueryItem_uploadPhoto; public static long selectedSurveillancePhotoId = -1; public static long selectedCustomPhotoId = -1; private File idCardImageCaptureFile = null; private IdCardReaderThread idCardReaderThread = null; private String idCardHeadPath = ""; @OnClick(R.id.fragment_attender_register_add) public void fragment_attender_register_add_click(View view) { resetForm(); } @OnClick(R.id.fragment_attender_register_save) public void fragment_attender_register_save_click(View v) { RequestParams params = new RequestParams(); if (surveillanceQueryItem_selectPhoto == null) { Toast.makeText(MainActivity.getInstance(), "请选择照片", Toast.LENGTH_SHORT).show(); return; } String name = fragment_attender_register_name.getValue(); if (name.trim().length() <= 0) { Toast.makeText(MainActivity.getInstance(), "姓名不能为空", Toast.LENGTH_SHORT).show(); fragment_attender_register_name.requestFocus(); return; } String gender = fragment_attender_register_gender.getValue(); if (gender.trim().length() <= 0) { Toast.makeText(MainActivity.getInstance(), "性别不能为空", Toast.LENGTH_SHORT).show(); fragment_attender_register_gender.callOnClick(); return; } String post = fragment_attender_register_post.getValue(); if (post.trim().length() <= 0) { Toast.makeText(MainActivity.getInstance(), "职务类型不能为空", Toast.LENGTH_SHORT).show(); fragment_attender_register_post.callOnClick(); return; } String department = fragment_attender_register_department.getValue(); if (department.trim().length() <= 0) { Toast.makeText(MainActivity.getInstance(), "部门班级不能为空", Toast.LENGTH_SHORT).show(); fragment_attender_register_department.callOnClick(); return; } OfflineAttenderRegisterItem offlineAttenderRegisterItem = new OfflineAttenderRegisterItem(); if(BaseApplication.getInstance().networkAvailable()) { params.addBodyParameter(Register.FieldNames.username, name); params.addBodyParameter(Register.FieldNames.genderId, DictionaryMng.getInstance().getId(fragment_attender_register_gender.getValue())); params.addBodyParameter(Register.FieldNames.identityTypeId, DictionaryMng.getInstance().getId(fragment_attender_register_id_class.getValue())); params.addBodyParameter(Register.FieldNames.postId, DictionaryMng.getInstance().getId(fragment_attender_register_post.getValue())); params.addBodyParameter("post", fragment_attender_register_post.getValue()); params.addBodyParameter(Register.FieldNames.identifyNum, fragment_attender_register_id_num.getValue()); params.addBodyParameter(Register.FieldNames.departmentId, DictionaryMng.getInstance().getId(fragment_attender_register_department.getValue())); params.addBodyParameter("department", fragment_attender_register_department.getValue()); params.addBodyParameter(Register.FieldNames.remark, fragment_attender_register_remark.getValue()); if (surveillanceQueryItem_selectPhoto != null) { params.addBodyParameter("rawSurveillancePhotoWidth", surveillanceQueryItem_selectPhoto.getWidth()); params.addBodyParameter("rawSurveillancePhotoHeight", surveillanceQueryItem_selectPhoto.getHeight()); params.addBodyParameter("width", surveillanceQueryItem_selectPhoto.getWidth()); params.addBodyParameter("height", surveillanceQueryItem_selectPhoto.getHeight()); fragment_attender_register_surveillance_photo_img = surveillanceQueryItem_selectPhoto.getBitmap(); NativeImg nativeImg = surveillanceQueryItem_selectPhoto.getNativeImg(); byte[] imageBytes = new byte[nativeImg.size]; for (int i = 0; i < nativeImg.size; i++) { imageBytes[i] = nativeImg.image[i]; } params.addBodyParameter("rawSurveillancePhoto", FileUtil.writeToFile("rawSurveillancePhoto_attender", imageBytes)); } else { params.addBodyParameter("rawSurveillancePhoto", FileUtil.writeToFile("rawSurveillancePhoto_attender", new byte[]{})); } if (fragment_attender_register_surveillance_photo_img != null) { ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream(); fragment_attender_register_surveillance_photo_img.compress(Bitmap.CompressFormat.JPEG, 100, byteArrayOutputStream); byte[] imageBytes = byteArrayOutputStream.toByteArray(); params.addBodyParameter("surveillancePhoto", FileUtil.writeToFile("surveillancePhoto_attender", imageBytes)); } else { params.addBodyParameter("surveillancePhoto", FileUtil.writeToFile("surveillancePhoto_attender", new byte[]{})); } if (fragment_attender_register_upload_custom_photo_img != null) { ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream(); fragment_attender_register_upload_custom_photo_img.compress(Bitmap.CompressFormat.JPEG, 100, byteArrayOutputStream); byte[] imageBytes = byteArrayOutputStream.toByteArray(); params.addBodyParameter("uploadCustomPhoto", FileUtil.writeToFile("uploadCustomPhoto_attender", imageBytes)); } else { params.addBodyParameter("uploadCustomPhoto", FileUtil.writeToFile("uploadCustomPhoto_attender", new byte[]{})); } if (fragment_attender_register_id_card_photo_img != null) { ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream(); fragment_attender_register_id_card_photo_img.compress(Bitmap.CompressFormat.JPEG, 100, byteArrayOutputStream); byte[] imageBytes = byteArrayOutputStream.toByteArray(); params.addBodyParameter("idCardPhoto", FileUtil.writeToFile("idCardPhoto_attender", imageBytes)); } else { params.addBodyParameter("idCardPhoto", FileUtil.writeToFile("idCardPhoto_attender", new byte[]{})); } } else { offlineAttenderRegisterItem.setRegisterId(UUID.randomUUID().toString()); offlineAttenderRegisterItem.setUsername(name); offlineAttenderRegisterItem.setGenderId(DictionaryMng.getInstance().getId(fragment_attender_register_gender.getValue())); offlineAttenderRegisterItem.setIdentityTypeId(DictionaryMng.getInstance().getId(fragment_attender_register_id_class.getValue())); offlineAttenderRegisterItem.setPostId(PostMng.getInstance().getId(fragment_attender_register_post.getValue())); offlineAttenderRegisterItem.setIdentifyNum(fragment_attender_register_id_num.getValue()); offlineAttenderRegisterItem.setDepartmentId(DepartmentMng.getInstance().getId(fragment_attender_register_department.getValue())); offlineAttenderRegisterItem.setRemark(fragment_attender_register_remark.getValue()); offlineAttenderRegisterItem.setDeviceCompanyId(BaseApplication.getInstance().getAndroidDevice().getCompanyId()); offlineAttenderRegisterItem.setIsSynchron("N"); SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); offlineAttenderRegisterItem.setCreateTime(sdf.format(new Date())); String rawSurveillancePhotoPath = UUID.randomUUID().toString()+""; byte[] rawSurveillancePhotoBytes = new byte[]{}; if (surveillanceQueryItem_selectPhoto != null) { offlineAttenderRegisterItem.setRawSurveillancePhotoWidth(surveillanceQueryItem_selectPhoto.getWidth()); offlineAttenderRegisterItem.setRawSurveillancePhotoHeight(surveillanceQueryItem_selectPhoto.getHeight()); fragment_attender_register_surveillance_photo_img = surveillanceQueryItem_selectPhoto.getBitmap(); NativeImg nativeImg = surveillanceQueryItem_selectPhoto.getNativeImg(); byte[] imageBytes = new byte[nativeImg.size]; for (int i = 0; i < nativeImg.size; i++) { imageBytes[i] = nativeImg.image[i]; } rawSurveillancePhotoBytes = imageBytes; } FileUtil.writeToFile(rawSurveillancePhotoPath, rawSurveillancePhotoBytes); offlineAttenderRegisterItem.setRawSurveillancePhotoPath(rawSurveillancePhotoPath); String surveillancePhotoPath = UUID.randomUUID().toString()+""; byte[] surveillancePhotoBytes = new byte[]{}; if (fragment_attender_register_surveillance_photo_img != null) { ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream(); fragment_attender_register_surveillance_photo_img.compress(Bitmap.CompressFormat.JPEG, 100, byteArrayOutputStream); surveillancePhotoBytes = byteArrayOutputStream.toByteArray(); } FileUtil.writeToFile(surveillancePhotoPath, surveillancePhotoBytes); offlineAttenderRegisterItem.setSurveillancePhoto(surveillancePhotoPath); String uploadCustomPhotoPath = UUID.randomUUID().toString()+""; byte[] uploadCustomPhotoBytes = new byte[]{}; if (fragment_attender_register_upload_custom_photo_img != null) { ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream(); fragment_attender_register_upload_custom_photo_img.compress(Bitmap.CompressFormat.JPEG, 100, byteArrayOutputStream); uploadCustomPhotoBytes = byteArrayOutputStream.toByteArray(); } FileUtil.writeToFile(uploadCustomPhotoPath, uploadCustomPhotoBytes); offlineAttenderRegisterItem.setUploadCustomPhoto(uploadCustomPhotoPath); String idCardPhotoPath = UUID.randomUUID().toString()+""; byte[] idCardPhotoBytes = new byte[]{}; if (fragment_attender_register_id_card_photo_img != null) { ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream(); fragment_attender_register_id_card_photo_img.compress(Bitmap.CompressFormat.JPEG, 100, byteArrayOutputStream); idCardPhotoBytes = byteArrayOutputStream.toByteArray(); } FileUtil.writeToFile(idCardPhotoPath, idCardPhotoBytes); offlineAttenderRegisterItem.setIdCardPhoto(idCardPhotoPath); } RegisterMng.getInstance().addAttender(params, idCardHeadPath, offlineAttenderRegisterItem); } public void set_fragment_attender_register_surveillance_photo(SurveillanceQueryItem item) { surveillanceQueryItem_selectPhoto = item; fragment_attender_register_surveillance_photo.setImageBitmap(BitmapUtil.getRoundedCornerBitmap(item.getBitmap(), (int)MainActivity.getInstance().getResources().getDimension(R.dimen.w10dp))); fragment_attender_register_surveillance_photo_img = item.getBitmap(); fragment_attender_register_surveillance_photo_placeholder_image.setVisibility(View.INVISIBLE); fragment_attender_register_surveillance_photo_placeholder_text_view.setVisibility(View.INVISIBLE); } public void set_fragment_attender_register_upload_custom_photo(SurveillanceQueryItem item) { surveillanceQueryItem_uploadPhoto = item; fragment_attender_register_upload_custom_photo.setImageBitmap(BitmapUtil.getRoundedCornerBitmap(item.getBitmap(), (int)MainActivity.getInstance().getResources().getDimension(R.dimen.w10dp))); fragment_attender_register_upload_custom_photo_img = item.getBitmap(); fragment_attender_register_upload_custom_photo_placeholder_image.setVisibility(View.INVISIBLE); fragment_attender_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); if (requestCode == fragment_attender_register_surveillance_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_attender_register_surveillance_photo.setImageBitmap(bitmap); fragment_attender_register_surveillance_photo_img = bitmap; fragment_attender_register_surveillance_photo_placeholder_image.setVisibility(View.INVISIBLE); fragment_attender_register_surveillance_photo_placeholder_text_view.setVisibility(View.INVISIBLE); } catch (Exception e) { e.printStackTrace(); } } if (requestCode == fragment_attender_register_upload_custom_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_attender_register_upload_custom_photo.setImageBitmap(bitmap); fragment_attender_register_upload_custom_photo_placeholder_image.setVisibility(View.INVISIBLE); fragment_attender_register_upload_custom_photo_placeholder_text_view.setVisibility(View.INVISIBLE); List bitmapList = new ArrayList<>(); SurveillanceQueryItem item = new SurveillanceQueryItem(); item.setWidth(bitmap.getWidth()+""); item.setHeight(bitmap.getHeight()+""); item.setLocalUri(uri); setSurveillanceQueryItem_selectPhoto(item); bitmapList.add(item); bitmapList.add(item); bitmapList.add(item); } catch (Exception e) { e.printStackTrace(); } } if (requestCode == fragment_attender_register_id_card_photo_ && resultCode == Activity.RESULT_OK) { try { if (data != null && data.getData() != null) { Uri uri = data.getData(); Bitmap bitmap = MediaStore.Images.Media.getBitmap(getActivity().getContentResolver(), uri); fragment_attender_register_id_card_photo.setImageBitmap(BitmapUtil.getRoundedCornerBitmap(bitmap, (int)MainActivity.getInstance().getResources().getDimension(R.dimen.w10dp))); fragment_attender_register_id_card_photo_img = bitmap; MainActivity.getInstance().getContentResolver().delete(uri, null, null); fragment_attender_register_id_card_photo_placeholder_image.setVisibility(View.INVISIBLE); fragment_attender_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_attender_register_id_card_photo.setImageBitmap(BitmapUtil.getRoundedCornerBitmap(bitmap, (int)MainActivity.getInstance().getResources().getDimension(R.dimen.w10dp))); fragment_attender_register_id_card_photo_img = bitmap; MainActivity.getInstance().getContentResolver().delete(Uri.fromFile(idCardImageCaptureFile), null, null); fragment_attender_register_id_card_photo_placeholder_image.setVisibility(View.INVISIBLE); fragment_attender_register_id_card_photo_placeholder_text_view.setVisibility(View.INVISIBLE); idCardImageCaptureFile = null; } } } catch (Exception e) { e.printStackTrace(); } } } public void resetForm() { selectedCustomPhotoId = -1; selectedSurveillancePhotoId = -1; idCardHeadPath = ""; fragment_attender_register_name.setValue(""); fragment_attender_register_post.setValue(""); fragment_attender_register_gender.setValue(""); fragment_attender_register_department.setValue(""); fragment_attender_register_id_class.setValue(""); fragment_attender_register_id_num.setValue(""); fragment_attender_register_remark.setValue(""); fragment_attender_register_name.setValue(""); fragment_attender_register_id_num.setValue(""); fragment_attender_register_department.setValue(""); fragment_attender_register_surveillance_photo_img = null; fragment_attender_register_upload_custom_photo_img = null; fragment_attender_register_id_card_photo_img = null; fragment_attender_register_surveillance_photo.setImageBitmap(null); fragment_attender_register_upload_custom_photo.setImageBitmap(null); fragment_attender_register_id_card_photo.setImageBitmap(null); fragment_attender_register_surveillance_photo_placeholder_image.setVisibility(View.VISIBLE); fragment_attender_register_surveillance_photo_placeholder_text_view.setVisibility(View.VISIBLE); fragment_attender_register_upload_custom_photo_placeholder_image.setVisibility(View.VISIBLE); fragment_attender_register_upload_custom_photo_placeholder_text_view.setVisibility(View.VISIBLE); fragment_attender_register_id_card_photo_placeholder_image.setVisibility(View.VISIBLE); fragment_attender_register_id_card_photo_placeholder_text_view.setVisibility(View.VISIBLE); this.surveillanceQueryItem_selectPhoto = null; this.surveillanceQueryItem_uploadPhoto = null; } //@OnClick(R.id.fragment_attender_register_country) public void fragment_attender_register_country_click(View view) { if (CountryDialog.hasCountries()) { new CountryDialog(fragment_attender_register_linear_layout, new OkClickedListener() { public void onSelected(String value) { fragment_attender_register_post.setValue(value); } }, fragment_attender_register_post.getValue()); } } //@OnClick(R.id.fragment_attender_register_gender) public void fragment_attender_register_gender_click(View view) { new SelectDialog(fragment_attender_register_linear_layout, Constant.DialogSelectType.GENDER, new OkClickedListener() { public void onSelected(String value) { fragment_attender_register_gender.setValue(value); } }, fragment_attender_register_gender.getValue()); } //@OnClick(R.id.fragment_attender_register_birthday) public void fragment_attender_register_birthday_click(View view) { String birthdayStr = fragment_attender_register_department.getValue(); } //@OnClick(R.id.fragment_attender_register_id_class) public void fragment_attender_register_id_class_click(View view) { new SelectDialog(fragment_attender_register_linear_layout, Constant.DialogSelectType.ID_TYPE, new OkClickedListener() { public void onSelected(String value) { fragment_attender_register_id_class.setValue(value); } }, fragment_attender_register_id_class.getValue()); } @OnClick(R.id.fragment_attender_register_back) public void fragment_attender_register_back_click(View view) { MainActivity.selectPage(0); } @OnClick(R.id.fragment_attender_register_surveillance_photo) public void fragment_attender_register_surveillance_photo_click(View view) { AttenderRegisterSelectPhotoDialog.getInstance().show(); } public FrameLayout get_fragment_attender_register_linear_layout() { return fragment_attender_register_linear_layout; } @OnClick(R.id.fragment_attender_register_upload_custom_photo) public void fragment_attender_register_upload_custom_photo_click(View view) { SurveillanceFragment.SurveillancePhotoSelectListViewAdapter.selectPhotoOrUploadPhoto = CommonVariables.SelectPhotoType.UPLOAD_PHOTO; AttenderRegisterUploadPhotoDialog.getInstance().show(); } @OnClick(R.id.fragment_attender_register_id_card_photo) public void fragment_attender_register_id_card_photo_click(View view) { 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_attender_register_id_card_photo_); } public void setRegisterInfo(CheckInQueryItem item) { fragment_attender_register_surveillance_photo.setImageURI(Uri.parse(AppApi.IMAGE_URL_BASE + item.getSurveillancePhoto())); } public ImageView get_fragment_attender_register_choose_photo() { return fragment_attender_register_surveillance_photo; } public void setChoosePhoto(Bitmap bitmap) { fragment_attender_register_surveillance_photo.setImageBitmap(BitmapUtil.getRoundedCornerBitmap(bitmap, (int)MainActivity.getInstance().getResources().getDimension(R.dimen.w10dp))); fragment_attender_register_surveillance_photo_placeholder_text_view.setVisibility(View.INVISIBLE); fragment_attender_register_surveillance_photo_placeholder_image.setVisibility(View.INVISIBLE); } public void setSurveillanceQueryItem_selectPhoto(SurveillanceQueryItem item) { this.surveillanceQueryItem_selectPhoto = item; } @Override protected void initData() { //resetForm(); if (CommonVariables.ID_CARD) { idCardReaderThread = new IdCardReaderThread(); idCardReaderThread.start(); } setupUI(getView()); } public void fillFormWithIdCard(IdCard idCard) { try { fragment_attender_register_name.setValue(idCard.getName()); fragment_attender_register_id_num.setValue(idCard.getCardNumber()); fragment_attender_register_department.setValue(""); fragment_attender_register_gender.setValue(idCard.getGender()); fragment_attender_register_id_class.setValue("身份证"); BitmapFactory.Options options = new BitmapFactory.Options(); options.inPreferredConfig = Bitmap.Config.ARGB_8888; Bitmap bitmap = BitmapFactory.decodeFile(idCard.getHeadPath(), options); fragment_attender_register_id_card_photo.setImageBitmap(bitmap); fragment_attender_register_id_card_photo_placeholder_image.setVisibility(View.INVISIBLE); fragment_attender_register_id_card_photo_placeholder_text_view.setVisibility(View.INVISIBLE); idCardHeadPath = idCard.getHeadPath(); } catch (Exception e) { e.printStackTrace(); } } public boolean attenderRegisterFragmentVisible = false; @Override public void setMenuVisibility(boolean menuVisible) { super.setMenuVisibility(menuVisible); attenderRegisterFragmentVisible = menuVisible; } @OnClick(R.id.fragment_visitor_register_to_visitor_register) public void fragment_visitor_register_to_visitor_register_click(View view) { Fragment fragment = MainActivity.getInstance().myFragmentPagerAdapter.getItem(1); fragment.getChildFragmentManager().popBackStackImmediate(); CommonVariables.Register.VISITOR_REGISTER_SELECTED = true; } public void fragment_attender_register_post_click(View view) { new SelectDialog(fragment_attender_register_linear_layout, Constant.DialogSelectType.POST, new OkClickedListener() { public void onSelected(String value) { fragment_attender_register_post.setValue(value); } }, fragment_attender_register_post.getValue()); } public void fragment_attender_register_department_click(View view) { new SelectDialog(fragment_attender_register_linear_layout, Constant.DialogSelectType.DEPARTMENT, new OkClickedListener() { public void onSelected(String value) { fragment_attender_register_department.setValue(value); } }, fragment_attender_register_department.getValue()); } }