package com.basic.security.manager; import android.text.TextUtils; import com.basic.security.model.HintRecognizeMessage; import com.basic.security.model.ModelAdapter; import java.util.ArrayList; import java.util.List; public class HintRecognizeManager extends BaseManager { public static ModelAdapter hintRecognizeMessage; static long getHintRecognizeMassageLastTime = 0; static List getHintRecognizeMassageLastList = new ArrayList<>(); public static void initHintRecognize() { hintRecognizeMessage = HintRecognizeManager.findById("hint_recognize_message", IdManager.getId(HintRecognizeMessage.tableName)); if (hintRecognizeMessage == null) { hintRecognizeMessage = new ModelAdapter(IdManager.getId(HintRecognizeMessage.tableName)); hintRecognizeMessage.setString("head_up", "15"); hintRecognizeMessage.setString("head_up_message", "请低头"); hintRecognizeMessage.setString("head_down", "15"); hintRecognizeMessage.setString("head_down_message", "请抬头"); hintRecognizeMessage.setString("face_max", "15"); hintRecognizeMessage.setString("face_max_message", "请正脸对准摄像头"); hintRecognizeMessage.setString("face_min", "15"); hintRecognizeMessage.setString("face_min_message", "请正脸对准摄像头"); hintRecognizeMessage.setString("rotation_left", "15"); hintRecognizeMessage.setString("rotation_left_message", "请正脸对准摄像头"); hintRecognizeMessage.setString("rotation_right", "15"); hintRecognizeMessage.setString("rotation_right_message", "请正脸对准摄像头"); // hint_recognize_message.setString("all_fit", "正在识别中"); hintRecognizeMessage.setString("all_fit", "请调整人脸角度和距离"); hintRecognizeMessage.setString("device_id", DeviceManager.getDeviceId()); hintRecognizeMessage.setString("table", "hint_recognize_message"); BaseManager.save(hintRecognizeMessage); } } /*得到hint设置信息*/ public static ModelAdapter getHintRecognizeMassage() { // long currentGetHintRecognizeMassage = System.currentTimeMillis(); // if (currentGetHintRecognizeMassage - getHintRecognizeMassageLastTime > 5 * 1000) { // getHintRecognizeMassageLastTime = currentGetHintRecognizeMassage; // getHintRecognizeMassageLastList = findList("select * from hint_recognize_message"); // } // if (getHintRecognizeMassageLastList.size() == 1) { // hintRecognizeMessage = getHintRecognizeMassageLastList.get(0); // } else { // if (getHintRecognizeMassageLastList.size() == 0) { // hintRecognizeMessage = new ModelAdapter(); // } else { // hintRecognizeMessage = getHintRecognizeMassageLastList.get(0); // for (int i = 1; i < getHintRecognizeMassageLastList.size(); i++) { // delete(getHintRecognizeMassageLastList.get(i)); // } // } // } return hintRecognizeMessage; } public static double getHeadUpAngle() { getHintRecognizeMassage(); if (hintRecognizeMessage != null) { try { return -Double.parseDouble(hintRecognizeMessage.getString("head_up")); } catch (Exception e) { System.out.println("getHeadUpAngle" + e.getMessage()); // e.printStackTrace(); } } return -10; } public static String getHeadUpAngleMessage() { getHintRecognizeMassage(); if (hintRecognizeMessage != null && !TextUtils.isEmpty(hintRecognizeMessage.getString("head_up_message"))) { return hintRecognizeMessage.getString("head_up_message"); } else { return "请抬头"; } } public static double getHeadDownAngle() { getHintRecognizeMassage(); if (hintRecognizeMessage != null && !TextUtils.isEmpty(hintRecognizeMessage.getString("head_down"))) { try { return Double.parseDouble(hintRecognizeMessage.getString("head_down")); } catch (NumberFormatException e) { e.printStackTrace(); } } return 15; } public static String getHeadDownAngleMessage() { getHintRecognizeMassage(); if (hintRecognizeMessage != null && !TextUtils.isEmpty(hintRecognizeMessage.getString("head_down_message"))) { return hintRecognizeMessage.getString("head_down_message"); } else { return "请低头"; } } public static double getFaceMaxAngle() { getHintRecognizeMassage(); if (hintRecognizeMessage != null && !TextUtils.isEmpty(hintRecognizeMessage.getString("face_max"))) { try { String face_max = hintRecognizeMessage.getString("face_max"); if (!TextUtils.isEmpty(face_max)) { return Double.parseDouble(face_max); } } catch (NumberFormatException e) { e.printStackTrace(); } } return 0.2; } public static String getFaceMaxAngleMessage() { getHintRecognizeMassage(); if (hintRecognizeMessage != null && !TextUtils.isEmpty(hintRecognizeMessage.getString("face_max_message"))) { return hintRecognizeMessage.getString("face_max_message"); } else { return "请向后站"; } } public static double getFaceMinAngle() { getHintRecognizeMassage(); if (hintRecognizeMessage != null && !TextUtils.isEmpty(hintRecognizeMessage.getString("face_min"))) { try { return Double.parseDouble(hintRecognizeMessage.getString("face_min")); } catch (NumberFormatException e) { // e.printStackTrace(); } } return 0.2; } public static String getFaceMinAngleMessage() { getHintRecognizeMassage(); if (hintRecognizeMessage != null && !TextUtils.isEmpty(hintRecognizeMessage.getString("face_min_message"))) { return hintRecognizeMessage.getString("face_min_message"); } else { return "请向前站"; } } public static double getLeftRotationAngle() { getHintRecognizeMassage(); if (hintRecognizeMessage != null && !TextUtils.isEmpty(hintRecognizeMessage.getString("rotation_left"))) { try { return -Double.parseDouble(hintRecognizeMessage.getString("rotation_left")); } catch (NumberFormatException e) { e.printStackTrace(); } } return -10; } public static String getLeftRotationMessage() { getHintRecognizeMassage(); if (hintRecognizeMessage != null && !TextUtils.isEmpty(hintRecognizeMessage.getString("rotation_left_message"))) { return hintRecognizeMessage.getString("rotation_left_message"); } else { return "请向左看"; } } public static double getRightRotationAngle() { getHintRecognizeMassage(); if (hintRecognizeMessage != null && !TextUtils.isEmpty(hintRecognizeMessage.getString("rotation_right"))) { try { return Double.parseDouble(hintRecognizeMessage.getString("rotation_right")); } catch (NumberFormatException e) { e.printStackTrace(); } } return 10; } public static String getRightRotationMessage() { getHintRecognizeMassage(); if (hintRecognizeMessage != null && !TextUtils.isEmpty(hintRecognizeMessage.getString("rotation_right_message"))) { return hintRecognizeMessage.getString("rotation_right_message"); } else { return "请向右看"; } } public static String getAllFit() { getHintRecognizeMassage(); if (hintRecognizeMessage != null && !TextUtils.isEmpty(hintRecognizeMessage.getString("all_fit"))) { return hintRecognizeMessage.getString("all_fit"); } else { return ""; } } public static void saveHintRecognize(ModelAdapter hintRecognize) { hintRecognizeMessage = hintRecognize; BaseManager.save(hintRecognize); } }