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 | 267 ++++++++++------------------------------------------
1 files changed, 54 insertions(+), 213 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 d9f2fbf..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
@@ -41,6 +41,11 @@
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;
@@ -57,14 +62,16 @@
import com.lidroid.xutils.view.annotation.ViewInject;
import com.lidroid.xutils.view.annotation.event.OnClick;
-import org.xutils.common.util.FileUtil;
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;
@@ -132,6 +139,10 @@
private File idCardImageCaptureFile = null;
+ private IdCardReaderThread idCardReaderThread = null;
+
+ private String idCardHeadPath = "";
+
private static RegisterFragment instance = new RegisterFragment();
public static RegisterFragment getInstance() {
@@ -147,42 +158,8 @@
resetForm();
}
- private File writeToFile(String fileName, byte[] fileBytes) {
- try {
- String dir = MainActivity.getInstance().getFilesDir().getAbsolutePath();
-
- File file = new File(dir, fileName);
- if (file.exists()) {
- file.delete();
- }
- file.createNewFile();
- BufferedOutputStream bos = new BufferedOutputStream(new FileOutputStream(new File(dir, fileName)));
- bos.write(fileBytes);
- bos.flush();
- bos.close();
- return new File(dir, fileName);
- }catch (Exception e) {
- e.printStackTrace();
- }
- return null;
- }
-
@OnClick(R.id.fragment_register_save)
public void fragment_register_save_click(View v) {
-// RegisterMng.getInstance().add(null);
-// if (1==1) {
-// return;
-// }
-
- if (!BaseApplication.deviceAvailable) {
- return;
- }
-
-// SurveillanceMng.getInstance().addBitmap(new ArrayList(), new byte[]{1,2,3}, 3, "1");
-//
-// if (1==1) {
-// return;
-// }
RequestParams params = new RequestParams();
String name = fragment_register_name.getValue();
@@ -197,77 +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;
}
- final PostData pd = new PostData();
-
- pd.addValue(Register.FieldNames.username, name);
- pd.addValue(Register.FieldNames.mobilePhone, phone);
- pd.addValue(Register.FieldNames.genderId, DictionaryMng.getInstance().getId(gender));
- pd.addValue(Register.FieldNames.identityTypeId, DictionaryMng.getInstance().getId(id_class));
- pd.addValue(Register.FieldNames.countryId, DictionaryMng.getInstance().getId(country));
- pd.addValue(Register.FieldNames.visitorTypeId, DictionaryMng.getInstance().getId(visitor_class));
- pd.addValue(Register.FieldNames.identifyNum, id_num);
- pd.addValue(Register.FieldNames.companyId, company);
- pd.addValue(Register.FieldNames.birthday, birthday);
-
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.visitorTypeId, DictionaryMng.getInstance().getId(visitor_class));
- 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());
@@ -279,77 +208,41 @@
for (int i = 0; i < nativeImg.size; i++) {
imageBytes[i] = nativeImg.image[i];
}
- pd.addData("rawSurveillancePhoto", "application/octet-stream", imageBytes);
-
- params.addBodyParameter("rawSurveillancePhoto", writeToFile("rawSurveillancePhoto", imageBytes));
+ params.addBodyParameter("rawSurveillancePhoto", FileUtil.writeToFile("rawSurveillancePhoto", imageBytes));
} else {
- params.addBodyParameter("rawSurveillancePhoto", writeToFile("rawSurveillancePhoto", new byte[]{}));
+ 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();
- pd.addData(Register.FieldNames.surveillancePhoto, "application/octet-stream", imageBytes);
- params.addBodyParameter("surveillancePhoto", writeToFile("surveillancePhoto", imageBytes));
+ params.addBodyParameter("surveillancePhoto", FileUtil.writeToFile("surveillancePhoto", imageBytes));
} else {
- params.addBodyParameter("surveillancePhoto", writeToFile("surveillancePhoto", new byte[]{}));
+ 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();
- pd.addData(Register.FieldNames.uploadCustomPhoto, "application/octet-stream", imageBytes);
- params.addBodyParameter("uploadCustomPhoto", writeToFile("uploadCustomPhoto", imageBytes));
+ params.addBodyParameter("uploadCustomPhoto", FileUtil.writeToFile("uploadCustomPhoto", imageBytes));
} else {
- params.addBodyParameter("uploadCustomPhoto", writeToFile("uploadCustomPhoto", new byte[]{}));
+ 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();
- pd.addData(Register.FieldNames.idCardPhoto, "application/octet-stream", imageBytes);
- params.addBodyParameter("idCardPhoto", writeToFile("idCardPhoto", imageBytes));
+ params.addBodyParameter("idCardPhoto", FileUtil.writeToFile("idCardPhoto", imageBytes));
} else {
- params.addBodyParameter("idCardPhoto", writeToFile("idCardPhoto", new byte[]{}));
+ params.addBodyParameter("idCardPhoto", FileUtil.writeToFile("idCardPhoto", new byte[]{}));
}
-
-
- class ConnectionTask extends AsyncTask<String, Void, String> {
- private String json = "";
- @Override
- protected String doInBackground(String... urls) {
- try {
-// Uploader uploader = new Uploader("", AppApi.BASE_URL + AppApi.REGISTER_ADD);
-// json = uploader.upload("", pd);
- return json;
- } catch (Exception e) {
- e.printStackTrace();
- }
- return null;
- }
-
- @Override
- protected void onPostExecute(String result) {
- try {
- Toast.makeText(BaseApplication.getInstance(),"娣诲姞鎴愬姛", Toast.LENGTH_SHORT).show();
- //RegisterFragment.getInstance().resetForm();
- } catch(Exception e) {
- e.printStackTrace();
- }
- }
-
- }
-// ConnectionTask task = new ConnectionTask();
-// String[] params1 = new String[2];
-// task.execute(params1);
-
- RegisterMng.getInstance().add(params);
+ RegisterMng.getInstance().add(params, idCardHeadPath);
}
public void set_fragment_register_surveillance_photo(SurveillanceQueryItem item) {
@@ -470,6 +363,8 @@
selectedCustomPhotoId = -1;
selectedSurveillancePhotoId = -1;
+ idCardHeadPath = "";
+
fragment_register_name.setValue("寰愪慨婧�"+Math.random());
fragment_register_phone.setValue("13691348767");
fragment_register_id_num.setValue("36041419292222222");
@@ -478,11 +373,8 @@
fragment_register_remark.setValue("澶囨敞");
fragment_register_name.setValue("");
- fragment_register_phone.setValue("");
fragment_register_id_num.setValue("");
fragment_register_birthday.setValue("");
- fragment_register_company.setValue("");
- fragment_register_remark.setValue("");
fragment_register_gender.setValue("鐢�");
fragment_register_id_class.setValue("韬唤璇�");
@@ -618,92 +510,41 @@
@Override
protected void initData() {
resetForm();
- //readIdCard();
+ idCardReaderThread = new IdCardReaderThread();
+ idCardReaderThread.start();
}
- public void readIdCard() {
+ public void fillFormWithIdCard(IdCard idCard) {
try {
- Thread.sleep(100);
+ fragment_register_name.setValue(idCard.getName());
+ fragment_register_id_num.setValue(idCard.getCardNumber());
- RFIDReader idCardReader = null; //RFIDReader.getInstance(MainActivity.getInstance(), "com");
- ByteArrayInputStream type = new ByteArrayInputStream("uart".getBytes());
- idCardReader.control(ReaderExtra.CONNECT, type);
- idCardReader.setUartDeviceName("/dev/S0");
+ SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMdd");
+ SimpleDateFormat sdf1 = new SimpleDateFormat("yyyy-MM-dd");
- idCardReader.open("id_card");
- String cardId = byteArrayToHexString(idCardReader.getUid());
-
- idCardReader.open("id_sam");
- ByteArrayOutputStream baos = new ByteArrayOutputStream();
- idCardReader.control(ReaderExtra.ID_READ_TEXT_PHOTO, baos);
- String textPhoto = byteArrayToHexString(baos.toByteArray());
- if (textPhoto != null) {
- String[] decodeInfo = new String[10];
- StringBuilder imagePath = new StringBuilder();
- String path = MainActivity.getInstance().getFilesDir().getAbsolutePath();
- IDCReaderSDK.initialize(path);
- IDCReaderSDK.decodeSamAck(textPhoto, decodeInfo, imagePath);
- String name = decodeInfo[0];
- String sex = decodeInfo[1];
- String nation = decodeInfo[2];
- String birth = decodeInfo[3];
- String address = decodeInfo[4];
- String idNumber = decodeInfo[5];
- String office = decodeInfo[6];
- String validDate = decodeInfo[7] + "-" + decodeInfo[8];
- String photo = imagePath.toString();
-
- comparePictures();
- }
+ 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 void comparePictures() {
+ private boolean registerFragmentVisible = false;
- RequestParams params = new RequestParams();
-
- 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();
-
- params.addBodyParameter("surveillancePhoto", writeToFile("surveillancePhoto", imageBytes));
- } else {
- params.addBodyParameter("surveillancePhoto", writeToFile("surveillancePhoto", 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();
-
- params.addBodyParameter("idCardPhoto", writeToFile("idCardPhoto", imageBytes));
- } else {
- params.addBodyParameter("idCardPhoto", writeToFile("idCardPhoto", new byte[]{}));
- }
-
- RegisterMng.getInstance().compareSurveillancePhotoAndIdCardPhoto(params);
+ @Override
+ public void setMenuVisibility(boolean menuVisible) {
+ super.setMenuVisibility(menuVisible);
+ registerFragmentVisible = menuVisible;
}
- protected static final char[] a = new char[]{'0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'A', 'B', 'C', 'D', 'E', 'F'};
- public static String byteArrayToHexString(byte[] bytes) {
- if(bytes == null) {
- return null;
- } else {
- char[] hexChars = new char[bytes.length * 2];
-
- for(int j = 0; j < bytes.length; ++j) {
- int v = bytes[j] & 255;
- hexChars[j * 2] = a[v >>> 4];
- hexChars[j * 2 + 1] = a[v & 15];
- }
-
- return new String(hexChars);
- }
- }
--
Gitblit v1.8.0