.idea/modules.xml
@@ -3,7 +3,7 @@ <component name="ProjectModuleManager"> <modules> <module fileurl="file://$PROJECT_DIR$/IDCardReader/IDCardReader.iml" filepath="$PROJECT_DIR$/IDCardReader/IDCardReader.iml" /> <module fileurl="file://$PROJECT_DIR$/Security_yuyin_indoor_tps650.iml" filepath="$PROJECT_DIR$/Security_yuyin_indoor_tps650.iml" /> <module fileurl="file://$PROJECT_DIR$/Security_yuyin_indoor_tps650_basic_git.iml" filepath="$PROJECT_DIR$/Security_yuyin_indoor_tps650_basic_git.iml" /> <module fileurl="file://$PROJECT_DIR$/android-file-chooser/android-file-chooser.iml" filepath="$PROJECT_DIR$/android-file-chooser/android-file-chooser.iml" /> <module fileurl="file://$PROJECT_DIR$/app/app.iml" filepath="$PROJECT_DIR$/app/app.iml" /> <module fileurl="file://$PROJECT_DIR$/basic_common/basic_common.iml" filepath="$PROJECT_DIR$/basic_common/basic_common.iml" /> app/libs/PosUtil.jarBinary files differ
app/libs/SerialDeviceLib-release.aarBinary files differ
app/libs/SmartCardLib.jarBinary files differ
app/libs/androidSync.aarBinary files differ
app/libs/core-3.1.0.jarBinary files differ
app/libs/telpo_api.jarBinary files differ
app/libs/zkandroidcore.jarBinary files differ
app/libs/zkandroidnidfpsensor.jarBinary files differ
app/src/main/cpp/FaceDetectHelper.cpp
@@ -119,11 +119,13 @@ double prevExtractFeatureTime=0; #include <pthread.h> pthread_mutex_t mutex1; #include <mutex> std::mutex myMutex; string FaceDetectHelper::detectRealFace(const char* modelPath, const char *rgbFileName, const char *grayFileName, int width, int height, const char* baseFeatureName, int shouldExtractFeature, bool useGrayCamera, int detectFaceCount) { std::lock_guard<std::mutex> guard(myMutex); //useGrayCamera = false; int featureCount = 0; string faces = ""; app/src/main/cpp/LogUtil.cpp
@@ -7,5 +7,5 @@ using namespace std; void LogUtil::log(string message) { cout << message << endl; //cout << message << endl; } app/src/main/cpp/native-lib.cpp
@@ -379,6 +379,8 @@ unordered_map<string, shared_ptr<vector<unsigned char>>> featureMap; list<pair<string, shared_ptr<vector<unsigned char>>>> featureList; unordered_map<string, shared_ptr<vector<unsigned char>>> allFeatureMap; extern "C" JNIEXPORT void JNICALL Java_com_basic_security_utils_FaceId_addFeatureToDb( @@ -417,6 +419,47 @@ LogUtil::log(e.what()); } } extern "C" JNIEXPORT void JNICALL Java_com_basic_security_utils_FaceId_addFeatureToAllDb( JNIEnv *env, jobject, jstring id, jbyteArray featureBuffer) { try { if (featureBuffer == nullptr) { return; } if (allFeatureMap.size() < 100 || 1 == 1) { if (!useFeatureList) { unsigned int max_size = allFeatureMap.max_size(); { int len = env->GetArrayLength(featureBuffer); shared_ptr<vector<unsigned char>> feature = make_shared<vector<unsigned char>>(len); env->GetByteArrayRegion(featureBuffer, 0, len, reinterpret_cast<jbyte *>(feature.get()->data())); const char *sid = env->GetStringUTFChars(id, 0); allFeatureMap[sid] = feature; } } /*if (useFeatureList) { unsigned int max_size = allFeatureMap.max_size(); { int len = env->GetArrayLength(featureBuffer); shared_ptr<vector<unsigned char>> feature = make_shared<vector<unsigned char>>(len); env->GetByteArrayRegion(featureBuffer, 0, len, reinterpret_cast<jbyte *>(feature.get()->data())); const char *sid = env->GetStringUTFChars(id, 0); featureListMutex.lock(); featureList.push_back({sid, feature}); featureListMutex.unlock(); } }*/ } } catch (exception &e) { LogUtil::log(e.what()); } } unordered_map<string, shared_ptr<vector<unsigned char>>> tempFeatureMap; list<pair<string, shared_ptr<vector<unsigned char>>>> tempFeatureList; @@ -541,6 +584,38 @@ } extern "C" JNIEXPORT jstring JNICALL Java_com_basic_security_utils_FaceId_compareFeatureInAllDb( JNIEnv *env, jobject, jbyteArray featureBuffer, jint minScore) { float score = 0; string result = ",0"; try { env->GetByteArrayRegion(featureBuffer, 0, 2560, reinterpret_cast<jbyte *>(buf)); if (!useFeatureList) { for (auto const &featureItem : allFeatureMap) { string id = featureItem.first; unsigned char *data = featureItem.second.get()->data(); printf("%s\n", id.c_str()); score = EF_Compare(buf, data)*100; int i = 10; if (score >= minScore) { result = ""; result.append(id); result.append(","); result.append(to_string(score)); break; } } } } catch (exception &e) { LogUtil::log(e.what()); } return env->NewStringUTF(result.c_str()); } unsigned char tempFeatureBuf[2560]; extern "C" JNIEXPORT jstring app/src/main/java/com/amitshekhar/DebugDB.java
@@ -48,7 +48,7 @@ try { portNumber = 8080;//Integer.valueOf(context.getString(R.string.PORT_NUMBER)); } catch (NumberFormatException ex) { System.out.println("DebugDB.initialize " + ex.getMessage()); System1.out.println("DebugDB.initialize " + ex.getMessage()); portNumber = DEFAULT_PORT; } clientServer = new ClientServer(context, portNumber, dbFactory); app/src/main/java/com/amitshekhar/server/ClientServer.java
@@ -60,7 +60,7 @@ mServerSocket = null; } } catch (Exception e) { System.out.println("ClientServer.stop " + e.getMessage()); System1.out.println("ClientServer.stop " + e.getMessage()); } } @@ -77,9 +77,9 @@ } catch (SocketException e) { // The server was stopped; ignore. } catch (IOException e) { System.out.println("ClientServer.run " + e.getMessage()); System1.out.println("ClientServer.run " + e.getMessage()); } catch (Exception ignore) { System.out.println("ClientServer.run " + ignore.getMessage()); System1.out.println("ClientServer.run " + ignore.getMessage()); } } app/src/main/java/com/amitshekhar/server/RequestHandler.java
@@ -297,7 +297,7 @@ if (Constants.APP_SHARED_PREFERENCES.equals(mSelectedDatabase)) { response = PrefHelper.addOrUpdateRow(mContext, tableName, rowDataRequests); } else { System.out.println("RequestHandler.addTableDataAndGetResponse " + rowDataRequests); System1.out.println("RequestHandler.addTableDataAndGetResponse " + rowDataRequests); response = DatabaseHelper.addRow(sqLiteDB, tableName, rowDataRequests); } return mGson.toJson(response); app/src/main/java/com/amitshekhar/utils/Utils.java
@@ -97,7 +97,7 @@ } byteArray = bos.toByteArray(); } catch (IOException e) { System.out.println("Utils.getDatabase " + e.getMessage()); System1.out.println("Utils.getDatabase " + e.getMessage()); } } catch (Exception e) { e.printStackTrace(); app/src/main/java/com/basic/security/base/BaseApplication.java
@@ -121,7 +121,6 @@ // WifiManager wm = (WifiManager) getSystemService(WIFI_SERVICE); // String ip = Formatter.formatIpAddress(wm.getConnectionInfo().getIpAddress()); String ip = NetUtil.getIPAddress(true); Constants.erlangLocalNode = DeviceManager.getDeviceId() + "@" + ip; Constants.deviceId = DeviceManager.getDeviceId(); // System.out.println("erlangLocalNode="+Constants.erlangLocalNode); // if (ContextCompat.checkSelfPermission(getApplicationContext(), android.Manifest.permission.WRITE_EXTERNAL_STORAGE) == PackageManager.PERMISSION_GRANTED) { app/src/main/java/com/basic/security/fragment/AdminPasswordLoginFragment.java
@@ -69,7 +69,7 @@ @Click public void login() { KeyboardUtil.hideSoftKeyboard(); if (!Constants.isMonkeyApk) { if (1==1) { if (TextUtils.isEmpty(account.getText().toString().trim())) { ToastUtil.show("请输入用户名"); return; app/src/main/java/com/basic/security/manager/BaseManager.java
@@ -23,9 +23,7 @@ //sqlite数据库操作的公共基础类 public class BaseManager { public static Map<String, List<String>> tableColumnNames = new HashMap<>(); public static List<String> syncTableNames = Constants.syncToErlang ? Arrays.asList( Person.tableName, PersonA.tableName ) : new ArrayList<>(); public static List<String> syncTableNames = new ArrayList<>(); public static void save(ModelAdapter modelAdapter) { try { app/src/main/java/com/basic/security/manager/IdCardManager.java
@@ -23,10 +23,12 @@ import com.basic.security.utils.IdCard; import com.basic.security.utils.SocketUtil; import com.basic.security.utils.ToastUtil; import com.telpo.tps550.api.idcard.IdentityMsg; import org.apache.commons.io.IOUtils; import java.io.ByteArrayOutputStream; import java.io.File; import java.io.FileOutputStream; import java.nio.ByteBuffer; import java.text.SimpleDateFormat; @@ -46,6 +48,7 @@ static SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); static long lastTimeShowVerificationSuccess = System.currentTimeMillis(); static long lastTimeShowVerificationFail = System.currentTimeMillis(); static com.telpo.tps550.api.idcard.IdCard idCardTps650 = null; private static IntentFilter filter; private static BroadcastReceiver receiver; private volatile static boolean inRead = false; @@ -85,75 +88,157 @@ // static ReadUtil readUtil; public static void startReadIdCard() { BaseApplication.getApplication().executorService.execute(new Runnable() { @Override public void run() { while (true) { try { Result result = mReader.read(); if (result.error == IDCardReader.RESULT_OK) { IDCard idCard = (IDCard) result.data; System.out.println("IdCardManager.run " + idCard); AndroidBmpUtil.save(idCard.getPhoto(), Constants.attachmentPath + idCard.getNumber() + ".bmp"); MainActivity activity = BaseApplication.getApplication().activity; if (activity != null) { if (activity.currentFragment == activity.fragment_su_auto_ic_wait_idcard || activity.currentFragment == activity.fragment_su_logged_ic_wait_idcard || (activity.currentFragment == activity.fragment_person_manage && activity.fragment_person_manage.needIdCardInfo())) { if (1 == 1) { IdCard idcard = new IdCard(); idcard.birthday = idCard.getBirthday().getTime();//intent.getLongExtra("birthday", 0); idcard.cardNumber = idCard.getNumber();// intent.getStringExtra("cardNumber"); idcard.gender = idCard.getSex().toString();//intent.getStringExtra("gender"); idcard.name = idCard.getName();//intent.getStringExtra("name").trim(); idcard.headBitmap = idCard.getPhoto();//BitmapFactory.decodeFile("/sdcard/security_excel_attachment/" + idcard.cardNumber + ".bmp"); ByteArrayOutputStream stream = new ByteArrayOutputStream(); idcard.headBitmap.compress(Bitmap.CompressFormat.JPEG, 100, stream); idcard.jpgData = stream.toByteArray(); //BitmapFactory.decodeByteArray(idcard.jpgData, 0, idcard.jpgData.length); BaseApplication.getApplication().detectLock.lock(); idcard.featureData = FaceId.instance.extractFeature1(getPixelsBGR(idcard.headBitmap), idcard.headBitmap.getWidth(), idcard.headBitmap.getHeight()); BaseApplication.getApplication().detectLock.unlock(); BaseFragment.idCardReadTime = System.currentTimeMillis(); System.out.println("IdCardManager.onReceive 2"); BaseFragment.idCard = idcard; saveIdCard(idcard); if (Constants.isTps650) { BaseApplication.getApplication().activity.runOnUiThread(() -> { try { if (idCardTps650 == null) { idCardTps650 = new com.telpo.tps550.api.idcard.IdCard(BaseApplication.getApplication().activity); } BaseApplication.getApplication().executorService.execute(new Runnable() { @Override public void run() { while (true) { try { IdentityMsg info = idCardTps650.checkIdCardOverseas(3000); if (info != null) { byte[] image = idCardTps650.getIdCardImageOverseas(info); String cardNumber = info.getNo(); Bitmap photo = idCardTps650.decodeIdCardImageOverseas(image); AndroidBmpUtil.save(photo, Constants.attachmentPath + cardNumber + ".bmp"); String name = info.getName(); name = name.replace(" ", ""); MainActivity activity = BaseApplication.getApplication().activity; if (activity != null) { if (activity.currentFragment == activity.fragment_su_auto_ic_wait_idcard || activity.currentFragment == activity.fragment_su_logged_ic_wait_idcard || (activity.currentFragment == activity.fragment_person_manage && activity.fragment_person_manage.needIdCardInfo())) { if (1 == 1) { IdCard idcard = new IdCard(); // idcard.birthday = info.getBorn()+"";//intent.getLongExtra("birthday", 0); idcard.cardNumber = cardNumber;// intent.getStringExtra("cardNumber"); idcard.gender = info.getSex();//intent.getStringExtra("gender"); idcard.name = name;//intent.getStringExtra("name").trim(); idcard.headBitmap = photo;//BitmapFactory.decodeFile("/sdcard/security_excel_attachment/" + idcard.cardNumber + ".bmp"); ByteArrayOutputStream stream = new ByteArrayOutputStream(); idcard.headBitmap.compress(Bitmap.CompressFormat.JPEG, 100, stream); idcard.jpgData = stream.toByteArray(); //BitmapFactory.decodeByteArray(idcard.jpgData, 0, idcard.jpgData.length); saveIdCardToSdcard(idcard); BaseApplication.getApplication().detectLock.lock(); File file = new File(Constants.attachmentPath + idcard.cardNumber + ".jpg"); idcard.featureData = FaceId.instance.extractFeature(file.getAbsolutePath()); BaseApplication.getApplication().detectLock.unlock(); BaseFragment.idCardReadTime = System.currentTimeMillis(); System.out.println("IdCardManager.onReceive 2"); BaseFragment.idCard = idcard; saveIdCard(idcard); } } IdCard idcard = new IdCard(); // idcard.birthday = idCard.getBirthday().getTime();//intent.getLongExtra("birthday", 0); idcard.cardNumber = cardNumber;// intent.getStringExtra("cardNumber"); idcard.gender = info.getSex();//intent.getStringExtra("gender"); idcard.name = name;//intent.getStringExtra("name").trim(); idcard.headBitmap = photo;//BitmapFactory.decodeFile("/sdcard/security_excel_attachment/" + idcard.cardNumber + ".bmp"); ByteArrayOutputStream stream = new ByteArrayOutputStream(); idcard.headBitmap.compress(Bitmap.CompressFormat.JPEG, 100, stream); idcard.jpgData = stream.toByteArray(); idcard.createTime = System.currentTimeMillis(); System.out.println("IdCardManager.onReceive " + idcard.name); saveIdCardToSdcard(idcard); BaseApplication.getApplication().detectLock.lock(); File file = new File(Constants.attachmentPath + idcard.cardNumber + ".jpg"); idcard.featureData = FaceId.instance.extractFeature(file.getAbsolutePath()); BaseApplication.getApplication().detectLock.unlock(); lastIdCard = idcard; SocketUtil.rpcCallSendIdCard(idcard); } } else { SystemClock.sleep(4*1000); } } if (1 == 1) { if (1 == 1) { IdCard idcard = new IdCard(); // idcard.birthday = intent.getLongExtra("birthday", 0); // idcard.cardNumber = intent.getStringExtra("cardNumber"); // idcard.gender = intent.getStringExtra("gender"); // idcard.name = intent.getStringExtra("name").trim(); // idcard.headBitmap = BitmapFactory.decodeFile("/sdcard/security_excel_attachment/" + idcard.cardNumber + ".bmp"); idcard.birthday = idCard.getBirthday().getTime();//intent.getLongExtra("birthday", 0); idcard.cardNumber = idCard.getNumber();// intent.getStringExtra("cardNumber"); idcard.gender = idCard.getSex().toString();//intent.getStringExtra("gender"); idcard.name = idCard.getName();//intent.getStringExtra("name").trim(); idcard.headBitmap = idCard.getPhoto();//BitmapFactory.decodeFile("/sdcard/security_excel_attachment/" + idcard.cardNumber + ".bmp"); ByteArrayOutputStream stream = new ByteArrayOutputStream(); idcard.headBitmap.compress(Bitmap.CompressFormat.JPEG, 100, stream); idcard.jpgData = stream.toByteArray(); idcard.createTime = System.currentTimeMillis(); System.out.println("IdCardManager.onReceive " + idcard.name); BaseApplication.getApplication().detectLock.lock(); idcard.featureData = FaceId.instance.extractFeature1(getPixelsBGR(idcard.headBitmap), idcard.headBitmap.getWidth(), idcard.headBitmap.getHeight()); BaseApplication.getApplication().detectLock.unlock(); lastIdCard = idcard; saveIdCardToSdcard(idcard); SocketUtil.rpcCallSendIdCard(idcard); } } catch (Exception e) { e.printStackTrace(); } } } } catch (Exception e) { e.printStackTrace(); }); } catch (Exception e) { e.printStackTrace(); } }); return; } if (Constants.isAraBM) { BaseApplication.getApplication().executorService.execute(new Runnable() { @Override public void run() { if (!Constants.USE_GRAY_CAMERA) { return; } while (true) { try { Result result = mReader.read(); if (result.error == IDCardReader.RESULT_OK) { IDCard idCard = (IDCard) result.data; System1.out.println("IdCardManager.run " + idCard); AndroidBmpUtil.save(idCard.getPhoto(), Constants.attachmentPath + idCard.getNumber() + ".bmp"); MainActivity activity = BaseApplication.getApplication().activity; if (activity != null) { if (activity.currentFragment == activity.fragment_su_auto_ic_wait_idcard || activity.currentFragment == activity.fragment_su_logged_ic_wait_idcard || (activity.currentFragment == activity.fragment_person_manage && activity.fragment_person_manage.needIdCardInfo())) { if (1 == 1) { IdCard idcard = new IdCard(); idcard.birthday = idCard.getBirthday().getTime();//intent.getLongExtra("birthday", 0); idcard.cardNumber = idCard.getNumber();// intent.getStringExtra("cardNumber"); idcard.gender = idCard.getSex().toString();//intent.getStringExtra("gender"); idcard.name = idCard.getName();//intent.getStringExtra("name").trim(); idcard.headBitmap = idCard.getPhoto();//BitmapFactory.decodeFile("/sdcard/security_yuyin_attachment/" + idcard.cardNumber + ".bmp"); ByteArrayOutputStream stream = new ByteArrayOutputStream(); idcard.headBitmap.compress(Bitmap.CompressFormat.JPEG, 100, stream); idcard.jpgData = stream.toByteArray(); //BitmapFactory.decodeByteArray(idcard.jpgData, 0, idcard.jpgData.length); BaseApplication.getApplication().detectLock.lock(); idcard.featureData = FaceId.instance.extractFeature1(getPixelsBGR(idcard.headBitmap), idcard.headBitmap.getWidth(), idcard.headBitmap.getHeight()); BaseApplication.getApplication().detectLock.unlock(); BaseFragment.idCardReadTime = System.currentTimeMillis(); System1.out.println("IdCardManager.onReceive 2"); BaseFragment.idCard = idcard; saveIdCard(idcard); } } if (1 == 1) { if (1 == 1) { IdCard idcard = new IdCard(); idcard.birthday = idCard.getBirthday().getTime();//intent.getLongExtra("birthday", 0); idcard.cardNumber = idCard.getNumber();// intent.getStringExtra("cardNumber"); idcard.gender = idCard.getSex().toString();//intent.getStringExtra("gender"); idcard.name = idCard.getName();//intent.getStringExtra("name").trim(); idcard.headBitmap = idCard.getPhoto();//BitmapFactory.decodeFile("/sdcard/security_yuyin_attachment/" + idcard.cardNumber + ".bmp"); ByteArrayOutputStream stream = new ByteArrayOutputStream(); idcard.headBitmap.compress(Bitmap.CompressFormat.JPEG, 100, stream); idcard.jpgData = stream.toByteArray(); idcard.createTime = System.currentTimeMillis(); System1.out.println("IdCardManager.onReceive " + idcard.name); BaseApplication.getApplication().detectLock.lock(); idcard.featureData = FaceId.instance.extractFeature1(getPixelsBGR(idcard.headBitmap), idcard.headBitmap.getWidth(), idcard.headBitmap.getHeight()); BaseApplication.getApplication().detectLock.unlock(); lastIdCard = idcard; saveIdCardToSdcard(idcard); SocketUtil.rpcCallSendIdCard(idcard); } } } } } catch (Exception e) { e.printStackTrace(); } } } } }); }); } if (Constants.indoorOutdoorInOne) { return; } @@ -164,11 +249,11 @@ // BaseApplication.getApplication().executorService.execute(()->{ // while (true) { // try { // System.out.println("IdCardManager.startReadIdCard " + 1); // System1.out.println("IdCardManager.startReadIdCard " + 1); // if (readUtil.isPort()) { // System.out.println("IdCardManager.startReadIdCard " + 2); // System1.out.println("IdCardManager.startReadIdCard " + 2); // IDCard idCard = readUtil.readCard(); // System.out.println("ReadIDCardService.run idCard=" + idCard); // System1.out.println("ReadIDCardService.run idCard=" + idCard); // if (idCard != null) { // Bitmap headBitmap = BitmapFactory.decodeFile(idCard.getIdPhoto()); // IdCard c = new IdCard(); @@ -215,7 +300,7 @@ } activity.readCardUtil = new ReadCardUtil(activity, new ReadCardUtil.OnReadCardListener() { public void onReadCardSucceed(String s, CardInfo cardInfo, Intent intent) { System.out.println("IdCardManager.onReadCardSucceed"); System1.out.println("IdCardManager.onReadCardSucceed"); if (activity != null) { if (activity.currentFragment == activity.fragment_su_auto_ic_wait_idcard || activity.currentFragment == activity.fragment_su_logged_ic_wait_idcard || (activity.currentFragment == activity.fragment_person_manage && activity.fragment_person_manage.needIdCardInfo())) { @@ -239,14 +324,14 @@ } public void onReadCardFail(int i, String s) { System.out.println("IdCardManager.onReadCardFail"); System1.out.println("IdCardManager.onReadCardFail"); } }); filter = new IntentFilter(); filter.addAction("read.id.card.data"); receiver = new BroadcastReceiver() { public void onReceive(Context context, Intent intent) { System.out.println("IdCardManager.onReceive 1"); System1.out.println("IdCardManager.onReceive 1"); if (activity != null) { if (activity.currentFragment == activity.fragment_su_auto_ic_wait_idcard || activity.currentFragment == activity.fragment_su_logged_ic_wait_idcard @@ -260,7 +345,7 @@ idcard.cardNumber = intent.getStringExtra("cardNumber"); idcard.gender = intent.getStringExtra("gender"); idcard.name = intent.getStringExtra("name").trim(); idcard.headBitmap = BitmapFactory.decodeFile("/sdcard/security_excel_attachment/" + idcard.cardNumber + ".bmp"); idcard.headBitmap = BitmapFactory.decodeFile("/sdcard/security_yuyin_attachment/" + idcard.cardNumber + ".bmp"); ByteArrayOutputStream stream = new ByteArrayOutputStream(); idcard.headBitmap.compress(Bitmap.CompressFormat.JPEG, 100, stream); idcard.jpgData = stream.toByteArray(); @@ -269,7 +354,7 @@ idcard.featureData = FaceId.instance.extractFeature1(getPixelsBGR(idcard.headBitmap), idcard.headBitmap.getWidth(), idcard.headBitmap.getHeight()); BaseApplication.getApplication().detectLock.unlock(); BaseFragment.idCardReadTime = System.currentTimeMillis(); System.out.println("IdCardManager.onReceive 2"); System1.out.println("IdCardManager.onReceive 2"); BaseFragment.idCard = idcard; saveIdCard(idcard); } @@ -286,13 +371,13 @@ idcard.cardNumber = intent.getStringExtra("cardNumber"); idcard.gender = intent.getStringExtra("gender"); idcard.name = intent.getStringExtra("name").trim(); idcard.headBitmap = BitmapFactory.decodeFile("/sdcard/security_excel_attachment/" + idcard.cardNumber + ".bmp"); idcard.headBitmap = BitmapFactory.decodeFile("/sdcard/security_yuyin_attachment/" + idcard.cardNumber + ".bmp"); ByteArrayOutputStream stream = new ByteArrayOutputStream(); idcard.headBitmap.compress(Bitmap.CompressFormat.JPEG, 100, stream); idcard.jpgData = stream.toByteArray(); // idcard.headBitmap = BitmapFactory.decodeByteArray(idcard.jpgData, 0, idcard.jpgData.length); idcard.createTime = System.currentTimeMillis(); System.out.println("IdCardManager.onReceive " + idcard.name); System1.out.println("IdCardManager.onReceive " + idcard.name); BaseApplication.getApplication().detectLock.lock(); idcard.featureData = FaceId.instance.extractFeature1(getPixelsBGR(idcard.headBitmap), idcard.headBitmap.getWidth(), idcard.headBitmap.getHeight()); BaseApplication.getApplication().detectLock.unlock(); @@ -300,7 +385,7 @@ saveIdCardToSdcard(idcard); SocketUtil.rpcCallSendIdCard(idcard); // BaseFragment.idCardReadTime = System.currentTimeMillis(); // System.out.println("IdCardManager.onReceive 2"); // System1.out.println("IdCardManager.onReceive 2"); // BaseFragment.idCard = idcard; // saveIdCard(idcard); } app/src/main/java/com/basic/security/receiver/WebRtcBroadCastReceiver.java
@@ -15,12 +15,6 @@ public void onReceive(Context context, Intent intent) { String type = intent.getStringExtra("type"); if (!TextUtils.isEmpty(type)) { if (Constants.webRtcServerStarted.equals(type)) { webRtcServerStarted = true; } if (Constants.webRtcClientConnected.equals(type)) { webRtcClientConnected = true; } } } } app/src/main/java/com/basic/security/utils/Constants.java
@@ -1,86 +1,77 @@ package com.basic.security.utils; public class Constants { public static boolean isHuaWeiPad = false; public static boolean isMonkeyApk = false; // rk3399 public static int RGB_CAMERA = 0; public static int GRAY_CAMERA = 1; public static int rotation = 0; public static boolean useAlf = false; // 华为平板 // public static int RGB_CAMERA = isHuaWeiPad ? 1 : 0; // public static int GRAY_CAMERA = isHuaWeiPad ? 0 : 1; // 阿尔法 // public static boolean useAef = true; // public static int RGB_CAMERA = isHuaWeiPad ? 0 : 1; // public static int GRAY_CAMERA = isHuaWeiPad ? 1 : 0; // public static int rotation = 270; public static boolean needIdCardModule = true; // 使用红外摄像头 public static boolean USE_GRAY_CAMERA = false; public static boolean showCapturedImages = false; //5.1.1的那个是旧的 白色pad的是新的 public static boolean isNewIDCardReader = false; //删除标识:0-未删除 1-已删除 public static int delFlag = 0; //存储当前设备的device_id public static String deviceId = "indoor1"; public static String erlangLocalNode = "xuxiuxipad@192.168.1.119"; public static boolean syncToErlang = false; public static boolean printSql = false; public static boolean showLog = true; public static boolean showLog1 = false; public static long compareFeatureTime; public static float score = 0.0f; public static int minRecognizeScore = 80; public static String baseDatabasePath = "/sdcard/security_excel_database/base_database.db"; public static String cacheDatabasePath = "/sdcard/security_excel_database/cache_database.db"; public static String syncDatabasePath = "/sdcard/security_excel_database/sync_database.db"; public static String attachmentPath = "/sdcard/security_excel_attachment/"; public static String baseDatabasePath = "/sdcard/security_yuyin_indoor/base_database.db"; public static String cacheDatabasePath = "/sdcard/security_yuyin_indoor/cache_database.db"; public static String syncDatabasePath = "/sdcard/security_yuyin_indoor/sync_database.db"; public static String attachmentPath = "/sdcard/security_yuyin_attachment/"; public static String SUCCESS = "success"; public static String TRUE = "true"; public static String FALSE = "false"; public static String TABLE = "table"; public static int cameraServerPort = 8880; public static int snapshotServerPort = 8881; public static int relayServerPort = 8882; public static int faceTimeServerPort = 8883; public static int officeServerPort = 8884; public static int sqliteServerPort = 8885; public static int guestServerPort = 8886; public static int indoorServerPort = 8889; public static int personServerPort = 8890; public static int cameraImagePathDownloadServerPort = 8887; public static long reconnectInMilliSeconds = 3000; // public static boolean needIdCardModule = false; public static boolean useBgrArray = true; public static boolean useNv21ToBgr = false; public static boolean stopCameraAndVideo = false; public static boolean enableTemporaryPerson = true; public static boolean useErlangVersion2 = true; public static boolean guestSignUp = false; public static String localIp = "127.0.0.1"; public static String LENGTH = "length"; public static boolean useGuest = true; public static boolean sqliteSync = false; public static String getApkUrl = "http://www.aiotlink.com:8080/getApk?apkName=Security_yuyin¤tApkVersion=1"; public static String webRtcServerStarted = "webRtcServerStarted"; public static String webRtcClientConnected = "webRtcClientConnected"; public static boolean useOrg = true; public static boolean useImport = true; public static boolean isYuYin = true; public static String isDeleteTrue = "isDeleteTrue"; public static String isDeleteFalse = "isDeleteFalse"; public static String enableFalse = "enableFalse"; public static String enableTrue = "enableTrue"; public static boolean isIndoor = true; public static boolean isOutdoor = !isIndoor; public static boolean isUseSerf = false; public static boolean autoRestart = false; public static boolean landscape = true; public static boolean isTps650 = true; public static boolean indoorOutdoorInOne = true; public static boolean deletePersonPhysical = true; public static boolean deletePersonPhysical = false; public static boolean useLight = false; public static boolean isWhiteDevice = false; public static String nodeName = "node_indoor"; public static boolean isUseSocketRpc = false; public static String deviceId = "PAD97a1cfb8c50c"; public static String nodeId = "PAD97a1cfb8c50c"; public static boolean USE_GRAY_CAMERA = false; public static String other_node_ip = "192.168.5.22"; public static boolean isTps650 = true; public static boolean isAraBM = false; static { if (USE_GRAY_CAMERA) { deviceId = "PAD17a1cfb8c50c"; nodeId = "PAD17a1cfb8c50c"; isUseSerf = false; } else { other_node_ip = "192.168.222.105"; } } public static String deviceId() { return deviceId; } public static String nodeId() { return nodeId; } public static String other_node_ip() { return other_node_ip; } } app/src/main/java/com/basic/security/utils/FaceId.java
@@ -36,7 +36,6 @@ public static void initSdk(Activity activity, Preview rgbPreview, Preview grayPreview, DetectListener detectListener) { String ip = NetUtil.getIPAddress(true); Constants.erlangLocalNode = DeviceManager.getDeviceId() + "@" + ip; Constants.deviceId = DeviceManager.getDeviceId(); FaceId.activity = activity; AssetHelper.copyAssets(activity.getAssets(), new ContextWrapper(activity).getFilesDir().getAbsolutePath()); app/src/main/java/com/basic/security/utils/socket/RelayServerUtil.java
@@ -119,11 +119,7 @@ try { if (!relayServerUtilThread.isRunning) { relayServerUtilThread.isRunning = true; if (Constants.isHuaWeiPad) { relayServerUtilExecutorService.execute(relayServerUtilThread); } else { relayServerUtilThread.start(); } relayServerUtilExecutorService.execute(relayServerUtilThread); } } catch (Exception e) { relayServerUtilThread.isRunning = false; app/src/main/java/com/basic/security/utils/socket/indoor/IndoorGuestSocketClient.java
@@ -137,9 +137,6 @@ socketUtil.mBufferManager.fillBuffer1(map, socketUtil.imageBuff, socketUtil.imageBuff.length, hasFaces); } } boolean webRtcClientConnected = Constants.TRUE.equals(map.get(Constants.webRtcClientConnected)); boolean webRtcServerStarted = Constants.TRUE.equals(map.get(Constants.webRtcServerStarted)); ((MainActivity) BaseApplication.getApplication().activity).showAnswerCall(webRtcServerStarted && !webRtcClientConnected); if (Constants.TRUE.equals(SettingManager.getTransferVideo())) { SystemClock.sleep(40); } else { app/src/main/java/com/basic/security/utils/socket/outdoor/OutdoorGuestSocketServer.java
@@ -236,8 +236,6 @@ map.put(GuestMessage.frameJpgOrYuv, frameJpgOrYuv); map.put(GuestMessage.frameJpgLength, frameJpgLength + ""); map.put(GuestMessage.hasFrameData, hasFrameData); map.put(Constants.webRtcClientConnected, WebRtcBroadCastReceiver.webRtcClientConnected ? Constants.TRUE : Constants.FALSE); map.put(Constants.webRtcServerStarted, allowed && WebRtcBroadCastReceiver.webRtcServerStarted ? Constants.TRUE : Constants.FALSE); map.put(GuestMessage.deviceId, DeviceManager.getDeviceId()); socketUtil.writeMap(map); if (Constants.TRUE.equals(hasFrameData)) { app/src/main/java/java/lang/System1.java
New file @@ -0,0 +1,7 @@ package java.lang; public class System1 { public static System2 out = new System2(); } app/src/main/java/java/lang/System2.java
New file @@ -0,0 +1,11 @@ package java.lang; import com.basic.security.utils.FrameUtil; public class System2 { public void println(Object obj) { System.out.println(obj.toString() // +" " + FrameUtil.getFrames() ); } } app/src/main/jniLibs/armeabi-v7a/libAlUSB.soBinary files differ
app/src/main/jniLibs/armeabi-v7a/libIDFpr.soBinary files differ
app/src/main/jniLibs/armeabi-v7a/libIDFpr2.soBinary files differ
app/src/main/jniLibs/armeabi-v7a/libcard_reader.soBinary files differ
app/src/main/jniLibs/armeabi-v7a/libcollect.soBinary files differ
app/src/main/jniLibs/armeabi-v7a/libdecode.soBinary files differ
app/src/main/jniLibs/armeabi-v7a/libfingerprint.soBinary files differ
app/src/main/jniLibs/armeabi-v7a/libidcard.soBinary files differ
app/src/main/jniLibs/armeabi-v7a/libidcard900.soBinary files differ
app/src/main/jniLibs/armeabi-v7a/libidfprcap.soBinary files differ
app/src/main/jniLibs/armeabi-v7a/libled.soBinary files differ
app/src/main/jniLibs/armeabi-v7a/libledpower.soBinary files differ
app/src/main/jniLibs/armeabi-v7a/libmoneybox.soBinary files differ
app/src/main/jniLibs/armeabi-v7a/libpicc.soBinary files differ
app/src/main/jniLibs/armeabi-v7a/libposutil.soBinary files differ
app/src/main/jniLibs/armeabi-v7a/libserial_port.soBinary files differ
app/src/main/jniLibs/armeabi-v7a/libsystem_util.soBinary files differ
app/src/main/jniLibs/armeabi-v7a/libtelpo_msr.soBinary files differ
app/src/main/jniLibs/armeabi-v7a/libtelpo_nfc.soBinary files differ
app/src/main/jniLibs/armeabi-v7a/libtelpo_printer.soBinary files differ
app/src/main/jniLibs/armeabi-v7a/libtelpo_printer5880.soBinary files differ
app/src/main/jniLibs/armeabi-v7a/libtelpo_printer_48.soBinary files differ
app/src/main/jniLibs/armeabi-v7a/libtelpo_printer_581.soBinary files differ
app/src/main/jniLibs/armeabi-v7a/libtelpo_serial.soBinary files differ
app/src/main/jniLibs/armeabi-v7a/libusb_util.soBinary files differ
app/src/main/jniLibs/armeabi-v7a/libwlt2bmp.soBinary files differ
app/src/main/jniLibs/armeabi-v7a/libzksensorcore.soBinary files differ
app/src/main/jniLibs/armeabi-v7a/libzkwltdecode.soBinary files differ