From c53ce6d5cd9ea49128c4f6343371feebfef38a62 Mon Sep 17 00:00:00 2001 From: haijiang <181069201@qq.com> Date: Wed, 06 Jun 2018 09:03:45 +0800 Subject: [PATCH] 提交 --- app/src/main/java/com/moral/yunfushao/fragment/FragmentMonitor.java | 178 +++++++++++++++++++++++++++++++++++++++++++---------------- 1 files changed, 129 insertions(+), 49 deletions(-) diff --git a/app/src/main/java/com/moral/yunfushao/fragment/FragmentMonitor.java b/app/src/main/java/com/moral/yunfushao/fragment/FragmentMonitor.java index 24d4a23..818c010 100644 --- a/app/src/main/java/com/moral/yunfushao/fragment/FragmentMonitor.java +++ b/app/src/main/java/com/moral/yunfushao/fragment/FragmentMonitor.java @@ -52,6 +52,7 @@ import com.moral.yunfushao.model.UpLoadParam; import com.moral.yunfushao.model.VoiceBean; import com.moral.yunfushao.ui.PanelView; +import com.moral.yunfushao.utils.AudioUtils; import com.moral.yunfushao.utils.DebugUtils; import org.greenrobot.eventbus.EventBus; @@ -77,17 +78,20 @@ private ArrayList<VoiceBean> voiceList = new ArrayList<>(); AssetManager am; MediaPlayer mp; + private boolean isVirating = false; private LinearLayout ll_status; private TextView tv_ljjl, tv_tishi, tv_desc, tv_shishi, tv_status; private PanelView pv; private ImageView iv_his, iv_status, iv_search, iv_bottom_status, iv_dianliang; private BluetoothService mBluetoothService; - private ArrayList<String> realResult = new ArrayList<>(); - private ArrayList<String> realHourResult = new ArrayList<>(); - private ArrayList<String> realHisResult = new ArrayList<>(); +// private ArrayList<String> realResult = new ArrayList<>(); +// private ArrayList<String> realHourResult = new ArrayList<>(); +// private ArrayList<String> realHisResult = new ArrayList<>(); //������������ private ArrayList<RecData> submitResult = new ArrayList<>(); + + private StringBuilder stringResult = new StringBuilder(); //������������������������ private ArrayList<RecData> submitTempResult = new ArrayList<>(); @@ -105,6 +109,61 @@ }; private int checkTimeCount = 0; + + private void doHandleData(String result) { + if(StringUtils.isEmpty(result)) { + return; + } + + //������������"������������������������������"���������5������������������������������������������ + if(result.startsWith(BLECommon.BLE_REC_TIME) || checkTimeCount > 5) { + DebugUtils.sendData("data", result); + + handler.removeCallbacks(runnable); + checkTimeCount = 0; + + result = result.substring(14); + doHandleData(result); + } + + if(result.startsWith("3A")) { + if(result.length() >= 16) { + DebugUtils.sendData("data", result); + + parseHisData(result.substring(0, 16)); + result = result.substring(16); + doHandleData(result); + } else { + stringResult.append(result); + } + } + + if(result.startsWith("5A")) { + if(result.length() >= 40) { + DebugUtils.sendData("data", result); + + parseCurrentData(result.substring(0, 40)); + result = result.substring(40); + doHandleData(result); + } else { + stringResult.append(result); + } + } + + if(result.startsWith("7A")) { + if(result.length() >= 8) { + DebugUtils.sendData("data", result); + + parseHoutData(result.substring(0, 8)); + mBluetoothService.write(mBluetoothService.getWirteCharacteristic().getService().getUuid().toString(), mBluetoothService.getWirteCharacteristic().getUuid().toString(), BLECommon.BLE_SEND_7A, null); + + result = result.substring(8); + doHandleData(result); + } else { + stringResult.append(result); + } + } + } /** * ������ @@ -162,18 +221,23 @@ public void run() { Log.d("haijiang123", "������������====" + StringUtils.byteArrayToHexStr(characteristic.getValue())); String result = StringUtils.byteArrayToHexStr(characteristic.getValue()); - //������������ - parseCurrentData(result); - parseHisData(result); - parseHoutData(result); - if(result.equals(BLECommon.BLE_REC_TIME) || checkTimeCount > 5) { - handler.removeCallbacks(runnable); - } - if (result.startsWith("7A")) { - mBluetoothService.write(mBluetoothService.getWirteCharacteristic().getService().getUuid().toString(), mBluetoothService.getWirteCharacteristic().getUuid().toString(), BLECommon.BLE_SEND_7A, null); - } - DebugUtils.sendData("data", result); + //��������������������� + stringResult.append(result); + result = stringResult.toString(); + + doHandleData(result); + + stringResult = new StringBuilder(); + + //������������ +// parseCurrentData(result); +// parseHisData(result); +// parseHoutData(result); +// +// if (result.startsWith("7A")) { +// mBluetoothService.write(mBluetoothService.getWirteCharacteristic().getService().getUuid().toString(), mBluetoothService.getWirteCharacteristic().getUuid().toString(), BLECommon.BLE_SEND_7A, null); +// } } }); } @@ -452,7 +516,7 @@ message.what = 1; heartHandler.sendMessage(message); } - }, 0, 1000 * 10); + }, 0, 1000 * 30); } } @@ -565,17 +629,17 @@ */ private int preLevel = -1; - private void parseCurrentData(String result) { - if (result.startsWith("5A")) { - realResult.clear(); - realResult.add(result); - } else { - realResult.add(result); - } - String nowResult = ""; - for (String s : realResult) { - nowResult += s; - } + private void parseCurrentData(String nowResult) { +// if (result.startsWith("5A")) { +// realResult.clear(); +// realResult.add(result); +// } else { +// realResult.add(result); +// } +// String nowResult = ""; +// for (String s : realResult) { +// nowResult += s; +// } /** * 20������������5A������ 5B������ */ @@ -625,17 +689,29 @@ pv.setPercent((float) (shishiValue * (0.25 / 0.16))); showStatus(0); stop(); + if(isVirating){ + isVirating = false; + AudioUtils.virateCancle(getActivity()); + } preLevel = -1; } else if (shishiValue >= 0.16 && shishiValue < 0.8) { data.setIs_warn(1); pv.setPercent((float) (0.25 + shishiValue * (0.25 / 0.8))); showStatus(1); play(0); + if(!isVirating){ + isVirating = true; + AudioUtils.vibrate(getActivity(), new long[]{1000, 1000, 1000, 1000}, 0); + } } else if (shishiValue >= 0.8 && shishiValue < 2) { data.setIs_warn(1); showStatus(2); pv.setPercent((float) (0.5 + shishiValue * (0.25 / 2))); play(1); + if(!isVirating){ + isVirating = true; + AudioUtils.vibrate(getActivity(), new long[]{1000, 1000, 1000, 1000}, 0); + } } else if (shishiValue >= 2) { data.setIs_warn(1); showStatus(3); @@ -645,9 +721,13 @@ pv.setPercent(1.0f); } play(2); + if(!isVirating){ + isVirating = true; + AudioUtils.vibrate(getActivity(), new long[]{1000, 1000, 1000, 1000}, 0); + } } submitResult.add(data); - realResult.clear(); +// realResult.clear(); } } @@ -658,17 +738,17 @@ */ private AlertDialog testDialog; - private void parseHoutData(String result) { - if (result.startsWith("7A")) { - realHourResult.clear(); - realHourResult.add(result); - } else { - realHourResult.add(result); - } - String nowResult = ""; - for (String s : realHourResult) { - nowResult += s; - } + private void parseHoutData(String nowResult) { +// if (result.startsWith("7A")) { +// realHourResult.clear(); +// realHourResult.add(result); +// } else { +// realHourResult.add(result); +// } +// String nowResult = ""; +// for (String s : realHourResult) { +// nowResult += s; +// } if (!TextUtils.isEmpty(nowResult) && nowResult.length() == 8 && nowResult.startsWith("7A") && nowResult.endsWith("7B")) { if(DebugUtils.debug_mode) { @@ -698,17 +778,17 @@ /** * ��������������������������������� */ - private void parseHisData(String result) { - if (result.startsWith("3A")) { - realHisResult.clear(); - realHisResult.add(result); - } else { - realHisResult.add(result); - } - String nowResult = ""; - for (String s : realHisResult) { - nowResult += s; - } + private void parseHisData(String nowResult) { +// if (result.startsWith("3A")) { +// realHisResult.clear(); +// realHisResult.add(result); +// } else { +// realHisResult.add(result); +// } +// String nowResult = ""; +// for (String s : realHisResult) { +// nowResult += s; +// } if (!TextUtils.isEmpty(nowResult) && nowResult.length() == 16 && nowResult.startsWith("3A") && nowResult.endsWith("3B")) { Log.d("hourdata", "=====nowResult=====" + nowResult); -- Gitblit v1.8.0