From 75e83be13a8c4ccf081c4dc07a262e4096783c7e Mon Sep 17 00:00:00 2001 From: 陈奇 <1650699704@qq.com> Date: Fri, 02 Nov 2018 17:34:21 +0800 Subject: [PATCH] [*]修改电磁版本 配合电子修改bug --- app/src/main/java/com/moral/yunfushao/fragment/FragmentMonitor.java | 138 +++++++++++++++++++++++++++++---------------- 1 files changed, 89 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 fd7ea84..e6c34c2 100644 --- a/app/src/main/java/com/moral/yunfushao/fragment/FragmentMonitor.java +++ b/app/src/main/java/com/moral/yunfushao/fragment/FragmentMonitor.java @@ -35,6 +35,7 @@ import com.moral.andbrickslib.utils.TimeUtil; import com.moral.andbrickslib.utils.dialog.MaterialDialogUtils; import com.moral.andbrickslib.utils.log.XLog; +import com.moral.yunfushao.BuildConfig; import com.moral.yunfushao.MainActivity; import com.moral.yunfushao.MainApp; import com.moral.yunfushao.R; @@ -45,6 +46,7 @@ import com.moral.yunfushao.ble.BluetoothService; import com.moral.yunfushao.common.API; import com.moral.yunfushao.common.AppConfig; +import com.moral.yunfushao.common.VersionConstants; import com.moral.yunfushao.httputils.HttpCallBack; import com.moral.yunfushao.httputils.HttpUtils; import com.moral.yunfushao.imageload.ImageLoader; @@ -90,6 +92,7 @@ private ArrayList<RecData> submitResult = new ArrayList<>(); private StringBuilder stringResult = new StringBuilder(); + private String deviceName = "";//��������������������������� //������������������������ private ArrayList<RecData> submitTempResult = new ArrayList<>(); @@ -120,8 +123,10 @@ handler.removeCallbacks(runnable); checkTimeCount = 0; - result = result.substring(14); - doHandleData(result); + if (result.length() > 14) { + result = result.substring(14); + doHandleData(result); + } } if (result.startsWith("3A")) { @@ -151,7 +156,6 @@ if (result.length() >= 76) { DebugUtils.sendData("data", result); parseHoutData(result.substring(0, 76)); - mBluetoothService.write(mBluetoothService.getWirteCharacteristic().getService().getUuid().toString(), mBluetoothService.getWirteCharacteristic().getUuid().toString(), BLECommon.BLE_SEND_7A, null); result = result.substring(76); doHandleData(result); } else { @@ -167,6 +171,7 @@ */ @Subscribe(threadMode = ThreadMode.MAIN, sticky = true) public void eventComing(EventMessage msg) { + System.out.println("chenqi msge -> " + msg.getType()); if (msg.getType() == AppConfig.GET_BLE_SERVICE) { if (chonglianTimer != null) { chonglianTimer.cancel(); @@ -190,7 +195,6 @@ for (BluetoothGattCharacteristic characteristic : mBluetoothService.getService().getCharacteristics()) { int charaProp = characteristic.getProperties(); if ((charaProp & BluetoothGattCharacteristic.PROPERTY_READ) > 0) { - } if ((charaProp & BluetoothGattCharacteristic.PROPERTY_WRITE) > 0 || (charaProp & BluetoothGattCharacteristic.PROPERTY_WRITE_NO_RESPONSE) > 0) { mBluetoothService.setWirteCharacteristic(characteristic); @@ -199,6 +203,7 @@ mBluetoothService.setCharacteristic(characteristic); } } + } /** @@ -252,10 +257,6 @@ } else if (msg.getType() == AppConfig.GET_BLE_DISCONNECT) { preLevel = -1; showStatus(-1); - pv.setStatusStr("���������"); - pv.setPercent(0); - tv_ljjl.setText("0"); - tv_shishi.setText("0"); chonglian(); stop(); isVirating = false; @@ -294,7 +295,8 @@ voiceBean.setName("������������"); voiceList.add(voiceBean); } - + } else if (msg.getType() == AppConfig.BLUETOOCH_CHANGE_CONNECT) { + showStatus(-1); } } @@ -382,14 +384,17 @@ iv_dianliang.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - FlipAnimatorXViewShow(iv_dianliang, tv_dianliang2, 200); + if (BuildConfig.BUILD_TYPE.equals(VersionConstants.DEBUG)) { + FlipAnimatorXViewShow(iv_dianliang, tv_dianliang2, 200); + } } }); tv_dianliang2.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - FlipAnimatorXViewShow(tv_dianliang2, iv_dianliang, 200); - + if (BuildConfig.BUILD_TYPE.equals(VersionConstants.DEBUG)) { + FlipAnimatorXViewShow(tv_dianliang2, iv_dianliang, 200); + } } }); showStatus(-1); @@ -605,16 +610,18 @@ int danger = R.mipmap.icon_danger; if (type == 1) { //������ - yanzhang = R.mipmap.dianliyanyang; - danger = R.mipmap.dianlidanger; - lv_ljjl.setVisibility(View.VISIBLE); - tvShishiTitle.setText("������������(uSv/h)"); - } else if (type == 2) { - //������ yanzhang = R.mipmap.icon_yanzhong; danger = R.mipmap.icon_danger; - tvShishiTitle.setText("������������(V/m)"); - lv_ljjl.setVisibility(View.GONE); + tvLijiTitle.setText("������������(uSv)"); + tvShishiTitle.setText("������������(uSv/h)"); + iv_dianliang.setEnabled(false); + } else if (type == 2) { + //������ + yanzhang = R.mipmap.dianliyanyang; + danger = R.mipmap.dianlidanger; + tvLijiTitle.setText("������������"); + tvShishiTitle.setText("������������"); + iv_dianliang.setEnabled(true); } if (level == 0) { @@ -662,6 +669,22 @@ tv_status.setText("������"); tv_status.setTextColor(getResources().getColor(R.color.gray_txt)); ll_status.setBackgroundResource(R.mipmap.bg_corner_gray); + pv.setStatusStr("���������"); + pv.setPercent(0); + tv_ljjl.setText("0"); + tv_shishi.setText("0"); + showPower(2, 0); + } else if (level == -2) { + tv_tishi.setText("���������������������"); + tv_tishi.setBackgroundResource(R.mipmap.bt_green); + tv_desc.setText("������������������������"); + iv_status.setVisibility(View.GONE); + tv_status.setText("���������"); + ll_status.setBackgroundResource(R.mipmap.bg_corner_gray); + pv.setPercent(0); + pv.setStatusStr("���������"); + tv_ljjl.setText("0"); + tv_shishi.setText("0"); } } @@ -672,7 +695,6 @@ */ private int preLevel = -1; - /** * data : 5A160000FA1C0400004100E7000700000071005B * format : 20������������5A������ 5B������ @@ -682,6 +704,7 @@ */ //todo ������������������ private void parseCurrentData(String nowResult) { + System.out.println("chenqi nowResult parseCurrentData"); type = 1; if (!TextUtils.isEmpty(nowResult) && nowResult.length() == 40 && nowResult.startsWith("5A") && nowResult.endsWith("5B")) { int real = Integer.parseInt(nowResult.substring(24, 26), 16) * 256 + Integer.parseInt(nowResult.substring(26, 28), 16); @@ -701,10 +724,6 @@ data.setTime(TimeUtil.getCurrentDate("yyyy-MM-dd HH:mm:ss")); data.setType(0); - /** - * ������������ - */ - showPower(b1, b2); if (realValue < 0.16) { data.setIs_warn(0); @@ -748,7 +767,10 @@ AudioUtils.vibrate(getActivity(), new long[]{1000, 1000, 1000, 1000}, 0); } } - + /** + * ������������ + */ + showPower(b1, b2); submitResult.add(data); // realResult.clear(); } @@ -760,6 +782,7 @@ * ������������������ */ private void parseHoutData(String nowResult) { + System.out.println("chenqi elec parseHoutData" + nowResult); if (TextUtils.isEmpty(nowResult)) { return; } @@ -767,33 +790,41 @@ String[] strings = StringUtils.splitString(nowResult, 2); if (strings[0].startsWith("7A") && strings[35].endsWith("7B")) { String realString = StringUtils.subStrings(strings, 21, 23); - int real = Integer.parseInt(realString, 16); + int electric_field = Integer.parseInt(realString, 16); int b1 = Integer.parseInt(strings[24], 16); int b2 = Integer.parseInt(strings[25], 16); - double realValue = NumberUtils.getBigDecimalValue((real) / 100.0, 3); + int baojing = Integer.parseInt(strings[29], 16); + int elec = Integer.parseInt(StringUtils.subStrings(strings, 13, 15)); +// T.show("bl = " + strings[24] + " -- b2 = " + strings[25]); +// +// System.out.println("bl = " + b1 + " -- b2 = " + b2); + + double electricFieldValue = (electric_field) / 100.0; + double elecValue = (elec) / 100.0; + String power = StringUtils.subStrings(strings, 26, 27); + double textPower = Integer.parseInt(power, 16) / 1000.0; + + tv_shishi.setText(electricFieldValue + "(V/m)"); + tv_dianliang2.setText(textPower + "V"); - tv_shishi.setText(realValue + ""); + + tv_ljjl.setText(elecValue + "(��T)"); /** * ��������������������� */ RecData data = new RecData(); - data.setValue(realValue); + data.setValue(electricFieldValue); data.setTime(TimeUtil.getCurrentDate("yyyy-MM-dd HH:mm:ss")); data.setType(0); - /** - * ������������ - */ - showPower(b1, b2); showStatus(Integer.parseInt(strings[21], 16)); - if (realValue < 0.16) { - data.setIs_warn(0); - pv.setPercent((float) (realValue * (0.25 / 0.16))); + if (baojing == 0) { + pv.setPercent((float) (0.125)); showStatus(0); stop(); if (isVirating) { @@ -801,40 +832,50 @@ AudioUtils.virateCancle(getActivity()); } preLevel = -1; - } else if (realValue >= 0.16 && realValue < 0.8) { + } else if (baojing == 1) { data.setIs_warn(1); - pv.setPercent((float) (0.25 + realValue * (0.25 / 0.8))); + pv.setPercent((float) (0.375)); showStatus(1); play(0); if (!isVirating) { isVirating = true; AudioUtils.vibrate(getActivity(), new long[]{1000, 1000, 1000, 1000}, 0); } - } else if (realValue >= 0.8 && realValue < 2) { + } else if (baojing == 2) { data.setIs_warn(1); showStatus(2); - pv.setPercent((float) (0.5 + realValue * (0.25 / 2))); + pv.setPercent((float) (0.625)); play(1); if (!isVirating) { isVirating = true; AudioUtils.vibrate(getActivity(), new long[]{1000, 1000, 1000, 1000}, 0); } - } else if (realValue >= 2) { + } else if (baojing == 3) { data.setIs_warn(1); showStatus(3); - if ((0.75 + realValue / 30) < 1.0) { - pv.setPercent((float) (0.75 + realValue / 30)); - } else { - pv.setPercent(1.0f); + pv.setPercent((float) (0.875)); + play(2); + if (!isVirating) { + isVirating = true; + AudioUtils.vibrate(getActivity(), new long[]{1000, 1000, 1000, 1000}, 0); } + } else if (baojing == 4) { + data.setIs_warn(1); + showStatus(3); + pv.setPercent((float) (1.00)); play(2); if (!isVirating) { isVirating = true; AudioUtils.vibrate(getActivity(), new long[]{1000, 1000, 1000, 1000}, 0); } } + System.out.println("chenqi elec B-- " + b2); + /** + * ������������ + */ + showPower(b1, b2); submitResult.add(data); -// realResult.clear(); + // realResult.clear(); } } @@ -868,7 +909,6 @@ ArrayList<RecData> temp = new ArrayList<>(); temp.add(data); - Log.d("hourdata", "=====hourdata=====" + FastJsonTools.toJson(temp)); test(nowResult, time.toString()); submitHourData(temp); } @@ -880,6 +920,7 @@ private void showPower(int b1, int b2) { if (b1 == 1) { ImageLoader.setGIFByUrl(getActivity(), R.mipmap.icon_chong, iv_dianliang); + showStatus(-2); } else if (b1 == 2) { ImageLoader.setImageViewById(getActivity(), R.mipmap.icon_full, iv_dianliang); } else { @@ -1065,7 +1106,6 @@ } public static void FlipAnimatorXViewShow(final View oldView, final View newView, final long time) { - ObjectAnimator animator1 = ObjectAnimator.ofFloat(oldView, "rotationX", 0, 90); final ObjectAnimator animator2 = ObjectAnimator.ofFloat(newView, "rotationX", -90, 0); animator2.setInterpolator(new OvershootInterpolator(2.0f)); -- Gitblit v1.8.0