From 627bb9c4c1d4eb256aa6fe5bac5280f907d25ff1 Mon Sep 17 00:00:00 2001
From: houxiao <houxiao@454eff88-639b-444f-9e54-f578c98de674>
Date: 星期一, 10 七月 2017 15:32:02 +0800
Subject: [PATCH] update native
---
VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/fragment/RegisterFragment.java | 192 +++++++++++++++++++++++++----------------------
1 files changed, 103 insertions(+), 89 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 8863733..be628d5 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
@@ -1,11 +1,13 @@
package cn.com.basic.face.fragment;
import android.app.Activity;
+import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.net.Uri;
+import android.os.AsyncTask;
import android.os.Environment;
import android.provider.MediaStore;
import android.util.Base64;
@@ -18,6 +20,10 @@
import android.widget.TextView;
import android.widget.Toast;
+import com.alibaba.fastjson.JSON;
+import com.alibaba.fastjson.JSONArray;
+import com.bit.rfid.RFIDReader;
+import com.bit.rfid.ReaderExtra;
import com.bsk.zhangbo.demoforbsk.R;
import cn.com.basic.face.adapter.SurveillanceFragment;
@@ -26,6 +32,7 @@
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.common.ResultBean;
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;
@@ -34,23 +41,38 @@
import cn.com.basic.face.service.SurveillanceMng;
import cn.com.basic.face.util.BitmapUtil;
import cn.com.basic.face.util.Constant;
+import cn.com.basic.face.util.FileUtil;
+import static cn.com.basic.face.util.FileUtil.*;
+
+import cn.com.basic.face.util.IdCard;
+import cn.com.basic.face.util.IdCardReaderThread;
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.DateSelectDialog;
import cn.com.basic.face.dialog.CountryDialog;
+import cn.com.basic.face.util.PostData;
+import cn.com.basic.face.util.Uploader;
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.ivsign.android.IDCReader.IDCReaderSDK;
import com.lidroid.xutils.view.annotation.ViewInject;
import com.lidroid.xutils.view.annotation.event.OnClick;
import org.xutils.http.RequestParams;
+import java.io.BufferedOutputStream;
+import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
import java.io.File;
+import java.io.FileInputStream;
+import java.io.FileOutputStream;
+import java.io.IOException;
+import java.io.RandomAccessFile;
+import java.io.Reader;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
@@ -117,6 +139,10 @@
private File idCardImageCaptureFile = null;
+ private IdCardReaderThread idCardReaderThread = null;
+
+ private String idCardHeadPath = "";
+
private static RegisterFragment instance = new RegisterFragment();
public static RegisterFragment getInstance() {
@@ -135,15 +161,6 @@
@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) {
@@ -157,62 +174,29 @@
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) {
+ String visitor_type = fragment_register_visitor_class.getValue();
+ if (visitor_type.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.genderId, DictionaryMng.getInstance().getId(fragment_register_gender.getValue()));
+ params.addBodyParameter(Register.FieldNames.identityTypeId, DictionaryMng.getInstance().getId(fragment_register_id_class.getValue()));
+ params.addBodyParameter(Register.FieldNames.countryId, DictionaryMng.getInstance().getId(fragment_register_country.getValue()));
+ params.addBodyParameter(Register.FieldNames.visitorTypeId, DictionaryMng.getInstance().getId(visitor_type));
+ params.addBodyParameter(Register.FieldNames.identifyNum, fragment_register_id_num.getValue());
params.addBodyParameter(Register.FieldNames.companyId, company);
- params.addBodyParameter(Register.FieldNames.birthday, birthday);
+ params.addBodyParameter(Register.FieldNames.birthday, fragment_register_birthday.getValue());
+ params.addBodyParameter(Register.FieldNames.remark, fragment_register_remark.getValue());
if (surveillanceQueryItem_selectPhoto != null) {
params.addBodyParameter("width", surveillanceQueryItem_selectPhoto.getWidth());
@@ -220,47 +204,45 @@
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);
+ 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", imageBytes));
+ } else {
+ params.addBodyParameter("rawSurveillancePhoto", FileUtil.writeToFile("rawSurveillancePhoto", new byte[]{}));
}
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(Register.FieldNames.surveillancePhoto, encodedImage);
+
+ params.addBodyParameter("surveillancePhoto", FileUtil.writeToFile("surveillancePhoto", imageBytes));
+ } else {
+ params.addBodyParameter("surveillancePhoto", FileUtil.writeToFile("surveillancePhoto", new byte[]{}));
}
if (fragment_register_upload_custom_photo_img != null) {
ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream();
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(Register.FieldNames.uploadCustomPhoto, encodedImage);
+
+ params.addBodyParameter("uploadCustomPhoto", FileUtil.writeToFile("uploadCustomPhoto", imageBytes));
+ } else {
+ params.addBodyParameter("uploadCustomPhoto", FileUtil.writeToFile("uploadCustomPhoto", new byte[]{}));
}
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(Register.FieldNames.idCardPhoto, encodedImage);
- }
- RegisterMng.getInstance().add(params);
+ params.addBodyParameter("idCardPhoto", FileUtil.writeToFile("idCardPhoto", imageBytes));
+ } else {
+ params.addBodyParameter("idCardPhoto", FileUtil.writeToFile("idCardPhoto", new byte[]{}));
+ }
+ RegisterMng.getInstance().add(params, idCardHeadPath);
}
public void set_fragment_register_surveillance_photo(SurveillanceQueryItem item) {
@@ -304,23 +286,16 @@
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_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.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);
@@ -387,15 +362,23 @@
public void resetForm() {
selectedCustomPhotoId = -1;
selectedSurveillancePhotoId = -1;
+
+ idCardHeadPath = "";
+
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_id_num.setValue("");
+ fragment_register_birthday.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;
@@ -495,11 +478,6 @@
@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(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");
@@ -532,6 +510,42 @@
@Override
protected void initData() {
resetForm();
+ idCardReaderThread = new IdCardReaderThread();
+ idCardReaderThread.start();
}
+ public void fillFormWithIdCard(IdCard idCard) {
+ try {
+ fragment_register_name.setValue(idCard.getName());
+ fragment_register_id_num.setValue(idCard.getCardNumber());
+
+ SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMdd");
+ SimpleDateFormat sdf1 = new SimpleDateFormat("yyyy-MM-dd");
+
+ fragment_register_birthday.setValue(sdf1.format(sdf.parse(idCard.getBirthday())));
+ fragment_register_gender.setValue(idCard.getGender());
+ fragment_register_id_class.setValue("韬唤璇�");
+ BitmapFactory.Options options = new BitmapFactory.Options();
+ options.inPreferredConfig = Bitmap.Config.ARGB_8888;
+ Bitmap bitmap = BitmapFactory.decodeFile(idCard.getHeadPath(), options);
+ fragment_register_id_card_photo.setImageBitmap(bitmap);
+ fragment_register_id_card_photo_placeholder_image.setVisibility(View.INVISIBLE);
+ fragment_register_id_card_photo_placeholder_text_view.setVisibility(View.INVISIBLE);
+ idCardHeadPath = idCard.getHeadPath();
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+ }
+
+ private boolean registerFragmentVisible = false;
+
+ @Override
+ public void setMenuVisibility(boolean menuVisible) {
+ super.setMenuVisibility(menuVisible);
+ registerFragmentVisible = menuVisible;
+ }
+
+
+
+
}
--
Gitblit v1.8.0