From 4eb9bd2cd9921386de8caec224cdb7405196472d Mon Sep 17 00:00:00 2001 From: 沈斌 <bluelazysb@hotmail.com> Date: Tue, 15 May 2018 13:01:59 +0800 Subject: [PATCH] debugging --- app/src/main/java/com/moral/yunfushao/fragment/FragmentMonitor.java | 233 +++++++++++++++++++++++++++++++++------------------------ 1 files changed, 135 insertions(+), 98 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 7df91fd..24d4a23 100644 --- a/app/src/main/java/com/moral/yunfushao/fragment/FragmentMonitor.java +++ b/app/src/main/java/com/moral/yunfushao/fragment/FragmentMonitor.java @@ -1,6 +1,7 @@ package com.moral.yunfushao.fragment; import android.annotation.SuppressLint; +import android.app.AlertDialog; import android.bluetooth.BluetoothGatt; import android.bluetooth.BluetoothGattCharacteristic; import android.bluetooth.BluetoothGattService; @@ -51,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.DebugUtils; import org.greenrobot.eventbus.EventBus; import org.greenrobot.eventbus.Subscribe; @@ -86,11 +88,23 @@ private ArrayList<String> realHisResult = new ArrayList<>(); //������������ private ArrayList<RecData> submitResult = new ArrayList<>(); - private ArrayList<RecData> submitHisResult = new ArrayList<>(); + //������������������������ private ArrayList<RecData> submitTempResult = new ArrayList<>(); private Timer heartTimer, resTimer, chonglianTimer; - Handler handler = new Handler(); + + private Handler handler = new Handler(); + + private Runnable runnable = new Runnable(){ + @Override + public void run() { + checkTime(); + checkTimeCount++; + handler.postDelayed(this, 5000); + } + }; + + private int checkTimeCount = 0; /** * ������ @@ -146,12 +160,20 @@ getActivity().runOnUiThread(new Runnable() { @Override public void run() { -// Log.d("haijiang", "������������====" + StringUtils.byteArrayToHexStr(characteristic.getValue())); + 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); } }); } @@ -170,12 +192,8 @@ /** * ������������������ */ - handler.postDelayed(new Runnable() { - @Override - public void run() { - checkTime(); - } - }, 2000); + handler.postDelayed(runnable, 5000); + /** * ������������������������ */ @@ -204,7 +222,7 @@ submitTime = MainApp.theApp.sharedPreferencesUtil.getLoginInfo().getRefresh_frequency(); isupLoad = MainApp.theApp.sharedPreferencesUtil.getLoginInfo().getIs_open_upload(); doTask(); - }else if(msg.getType()==AppConfig.SET_MAIN_CALL){ + } else if (msg.getType() == AppConfig.SET_MAIN_CALL) { ((MainActivity) getActivity()).resetBLECallBack(); } } @@ -303,7 +321,8 @@ } private MaterialDialog clearDialog; - private void showClear(){ + + private void showClear() { clearDialog = MaterialDialogUtils.showCallBaclDialog(getActivity(), "������������", "���������������������������������?", new MaterialDialog.SingleButtonCallback() { @Override public void onClick(@NonNull MaterialDialog dialog, @NonNull DialogAction which) { @@ -313,16 +332,16 @@ if (!MainApp.theApp.bleManager.isConnectingOrConnected()) { return; } - if(mBluetoothService==null){ + if (mBluetoothService == null) { return; } - if(mBluetoothService.getWirteCharacteristic()==null){ + if (mBluetoothService.getWirteCharacteristic() == null) { return; } - if(mBluetoothService.getWirteCharacteristic().getService()==null){ + if (mBluetoothService.getWirteCharacteristic().getService() == null) { return; } - mBluetoothService.write(mBluetoothService.getWirteCharacteristic().getService().getUuid().toString(),mBluetoothService.getWirteCharacteristic().getUuid().toString(),BLECommon.BLE_CLEAR,null); + mBluetoothService.write(mBluetoothService.getWirteCharacteristic().getService().getUuid().toString(), mBluetoothService.getWirteCharacteristic().getUuid().toString(), BLECommon.BLE_CLEAR, null); clearDialog.dismiss(); } }, new MaterialDialog.SingleButtonCallback() { @@ -350,7 +369,7 @@ startActivity(intent); break; case R.id.iv_search: - showClear(); + showClear(); break; } @@ -451,27 +470,6 @@ } } - private long timeComplete = 0; - - private void checkResComplete(final String result) { - if (resTimer == null) { - resTimer = new Timer(); - resTimer.schedule(new TimerTask() { - @Override - public void run() { - if (!TextUtils.isEmpty(result) && result.startsWith("3A")) { - timeComplete = 0; - } else { - timeComplete++; - } - if (timeComplete >= 120) { - submitResData(); - } - } - }, 0, 1000); - } - } - private void submitData() { //��������������������������� submitTempResult.addAll(submitResult); @@ -491,7 +489,6 @@ HttpUtils.doPost(API.UPLOAD, params, CacheMode.DEFAULT, false, new HttpCallBack() { @Override public void onSuccess(String res, String msg) { - XLog.d("@@@@@@@@@@@@@@@@@@@@@@@@@@" + msg); submitTempResult.clear(); } @@ -505,44 +502,6 @@ } }); - } - - private void submitResData() { - //��������������������������� - HashMap<String, String> params = new HashMap<>(); - if (submitHisResult.size() == 0) { - return; - } - UpLoadParam up = new UpLoadParam(); - up.setUserid(MainApp.userId); - up.setAddress(MainApp.address); - up.setLat(MainApp.mLat); - up.setLon(MainApp.mLon); - up.setData(submitHisResult); - params.put("data", FastJsonTools.toJson(up)); - HttpUtils.doPost(API.UPLOAD, params, CacheMode.DEFAULT, false, new HttpCallBack() { - @Override - public void onSuccess(String res, String msg) { - XLog.d("������������������������" + msg); - submitHisResult.clear(); - if (resTimer != null) { - resTimer.cancel(); - resTimer = null; - } - } - - @Override - public void showLoadingDialog() { - - } - - @Override - public void onFail(int errno, String s) { - - } - }); - - } /** @@ -573,18 +532,18 @@ tv_tishi.setText("������������������"); tv_tishi.setBackgroundResource(R.mipmap.bt_zise); iv_bottom_status.setImageResource(R.mipmap.icon_zhongdu); - tv_desc.setText("���������������������������\n������������������������������������������"); + tv_desc.setText("���������������������������\n������������������������������������������"); iv_status.setImageResource(R.mipmap.icon_head_zhongfu); - tv_status.setText("������"); + tv_status.setText("������"); tv_status.setTextColor(getResources().getColor(R.color.zi_txt)); ll_status.setBackgroundResource(R.mipmap.bg_corner_zise); } else if (level == 3) { tv_tishi.setText("������������������"); tv_tishi.setBackgroundResource(R.mipmap.bt_red); iv_bottom_status.setImageResource(R.mipmap.icon_yanzhong); - tv_desc.setText("���������������������������\n������������������������������������������"); + tv_desc.setText("���������������������������\n������������������������������������������"); iv_status.setImageResource(R.mipmap.icon_danger); - tv_status.setText("������"); + tv_status.setText("������"); tv_status.setTextColor(getResources().getColor(R.color.red_txt)); ll_status.setBackgroundResource(R.mipmap.bg_conner_red); } else if (level == -1) { @@ -604,6 +563,8 @@ * * @param result */ + private int preLevel = -1; + private void parseCurrentData(String result) { if (result.startsWith("5A")) { realResult.clear(); @@ -615,7 +576,6 @@ for (String s : realResult) { nowResult += s; } -// Log.d("haijiang", "������������===nowResult=" + nowResult); /** * 20������������5A������ 5B������ */ @@ -626,7 +586,7 @@ int b1 = Integer.parseInt(nowResult.substring(6, 8), 16); int b2 = Integer.parseInt(nowResult.substring(12, 14), 16); // XLog.d("���������" + shunshiValue + "|���������" + leijiValue + "-----���������" + b1 + "|" + b2); - tv_ljjl.setText(NumberUtils.getBigDecimalValue(leijiValue * 0.001, 3) + ""); + tv_ljjl.setText(NumberUtils.getBigDecimalValue(leijiValue * 0.01, 3) + ""); double shishiValue = NumberUtils.getBigDecimalValue((shunshiValue) / 100.0, 3); tv_shishi.setText(shishiValue + ""); @@ -665,6 +625,7 @@ pv.setPercent((float) (shishiValue * (0.25 / 0.16))); showStatus(0); stop(); + preLevel = -1; } else if (shishiValue >= 0.16 && shishiValue < 0.8) { data.setIs_warn(1); pv.setPercent((float) (0.25 + shishiValue * (0.25 / 0.8))); @@ -695,6 +656,8 @@ * * @param result */ + private AlertDialog testDialog; + private void parseHoutData(String result) { if (result.startsWith("7A")) { realHourResult.clear(); @@ -706,10 +669,21 @@ for (String s : realHourResult) { nowResult += s; } - if (!TextUtils.isEmpty(nowResult)&& nowResult.length() == 8&&nowResult.startsWith("7A") && nowResult.endsWith("7B")) { + if (!TextUtils.isEmpty(nowResult) && nowResult.length() == 8 && nowResult.startsWith("7A") && nowResult.endsWith("7B")) { + + if(DebugUtils.debug_mode) { + //-----------------------Test------------------------------------------// + String aaa = MainApp.theApp.sharedPreferencesUtil.getTest()+"\n"+nowResult+" ���������������"+TimeUtil.getCurrentDate("yyyy-MM-dd HH:mm:ss"); + MainApp.theApp.sharedPreferencesUtil.saveTest(aaa); + //-----------------------Test------------------------------------------// + } + + test(nowResult, TimeUtil.getCurrentDate("yyyy-MM-dd HH:mm:ss")); int hourValue = Integer.parseInt(nowResult.substring(2, 4), 16) * 256 + Integer.parseInt(nowResult.substring(4, 6), 16); - Log.d("haijiang", "������������������������="+ nowResult+"���������"+nowResult.substring(2, 4)+"|"+Integer.parseInt(nowResult.substring(2, 4), 16) * 256+"���������"+nowResult.substring(4, 6)+"|"+Integer.parseInt(nowResult.substring(4, 6), 16) +"���������"+(hourValue/100.0)); - sendHourDataRec(); +// Log.d("haijiang", "������������������������="+ nowResult+"���������"+nowResult.substring(2, 4)+"|"+Integer.parseInt(nowResult.substring(2, 4), 16) * 256+"���������"+nowResult.substring(4, 6)+"|"+Integer.parseInt(nowResult.substring(4, 6), 16) +"���������"+(hourValue/100.0)); + + //sendHourDataRec(); + RecData data = new RecData(); data.setType(1); data.setIs_warn(0); @@ -736,10 +710,15 @@ nowResult += s; } if (!TextUtils.isEmpty(nowResult) && nowResult.length() == 16 && nowResult.startsWith("3A") && nowResult.endsWith("3B")) { - if (submitHisResult.size() == 0) { - //��������������������� - checkResComplete(result); + Log.d("hourdata", "=====nowResult=====" + nowResult); + + if(DebugUtils.debug_mode) { + //-----------------------Test------------------------------------------// + String aaa = MainApp.theApp.sharedPreferencesUtil.getTest() + "\n" + nowResult; + MainApp.theApp.sharedPreferencesUtil.saveTest(aaa); + //-----------------------Test------------------------------------------// } + String year = "20" + Integer.parseInt(nowResult.substring(2, 4), 16); String month = Integer.parseInt(nowResult.substring(4, 6), 16) + ""; String day = Integer.parseInt(nowResult.substring(6, 8), 16) + ""; @@ -749,10 +728,16 @@ StringBuilder time = new StringBuilder(); //yyyy-MM-dd HH:mm:ss time.append(year).append("-").append(month).append("-").append(day).append(" ").append(hour).append(":00:00"); - Log.d("haijiang", "=====time=====" + time.toString()); data.setTime(time.toString()); data.setValue(NumberUtils.getBigDecimalValue((resValue) / 100.0, 3)); - submitHisResult.add(data); + data.setType(1); + data.setIs_warn(0); + + ArrayList<RecData> temp = new ArrayList<>(); + temp.add(data); + Log.d("hourdata", "=====hourdata=====" + FastJsonTools.toJson(temp)); + test(nowResult, time.toString()); + submitHourData(temp); } } @@ -775,7 +760,24 @@ blesb.append(toHex(Integer.toHexString((now.get(Calendar.HOUR_OF_DAY))))); blesb.append(toHex(Integer.toHexString((now.get(Calendar.MINUTE))))); blesb.append("4B"); - mBluetoothService.write(mBluetoothService.getWirteCharacteristic().getService().getUuid().toString(), mBluetoothService.getWirteCharacteristic().getUuid().toString(), blesb.toString(), null); + + boolean result = mBluetoothService.write(mBluetoothService.getWirteCharacteristic().getService().getUuid().toString(), mBluetoothService.getWirteCharacteristic().getUuid().toString(), blesb.toString(), new BleCharacterCallback() { + @Override + public void onSuccess(BluetoothGattCharacteristic characteristic) { + String val = StringUtils.byteArrayToHexStr(characteristic.getValue()); + DebugUtils.sendData("time", val); + } + + @Override + public void onFailure(BleException exception) { + } + + @Override + public void onInitiatedResult(boolean result) { + //DebugUtils.sendData("time", String.valueOf(result)); + } + }); + DebugUtils.sendData("time", String.valueOf(result)); } private String toHex(String s) { @@ -787,6 +789,11 @@ } public void play(int level) { + Log.d("music", "preLevel:" + preLevel + "----level:" + level); + if (preLevel == level) { + return; + } + preLevel = level; if (mp != null) { stop(); } @@ -794,12 +801,14 @@ if (voiceBean.isDefaultMusic()) { mp = MediaPlayer.create(getActivity(), Uri.parse(voiceBean.getRes())); mp.start(); + mp.setLooping(true); } else { mp = new MediaPlayer(); try { mp.setDataSource(voiceBean.getSetMusic()); mp.prepare(); mp.start(); + mp.setLooping(true); } catch (IOException e) { e.printStackTrace(); } @@ -829,10 +838,40 @@ @Override public void onSuccess(String res, String msg) { XLog.d("������������������������������" + msg); - if (resTimer != null) { - resTimer.cancel(); - resTimer = null; - } +// if (resTimer != null) { +// resTimer.cancel(); +// resTimer = null; +// } + } + + @Override + public void showLoadingDialog() { + + } + + @Override + public void onFail(int errno, String s) { + + } + }); + } + + /** + * ������������������ + * + * @param data + * @param time + */ + private void test(String data, String time) { + //��������������������������� + HashMap<String, String> params = new HashMap<>(); + params.put("data", data); + params.put("time", time); + params.put("user_id", MainApp.userId); + HttpUtils.doPost(API.ORIGINALUPLOAD, params, CacheMode.DEFAULT, false, new HttpCallBack() { + @Override + public void onSuccess(String res, String msg) { + Log.d("hourdata","������������"); } @Override @@ -850,7 +889,7 @@ /** * ������������������ */ - private void sendHourDataRec(){ + private void sendHourDataRec() { if (MainApp.theApp.bleManager == null) { return; } @@ -868,6 +907,4 @@ } FragmentMonitor.this.mBluetoothService.write(FragmentMonitor.this.mBluetoothService.getWirteCharacteristic().getService().getUuid().toString(), FragmentMonitor.this.mBluetoothService.getWirteCharacteristic().getUuid().toString(), BLECommon.BLE_HOUR_REC, null); } - - } -- Gitblit v1.8.0