沈斌
2018-05-15 4eb9bd2cd9921386de8caec224cdb7405196472d
app/src/main/java/com/moral/yunfushao/fragment/FragmentMonitor.java
@@ -6,7 +6,6 @@
import android.bluetooth.BluetoothGattCharacteristic;
import android.bluetooth.BluetoothGattService;
import android.content.Context;
import android.content.DialogInterface;
import android.content.Intent;
import android.content.res.AssetManager;
import android.media.MediaPlayer;
@@ -53,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;
@@ -92,7 +92,19 @@
    //临时存储上传数据
    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;
    /**
     * 接收
@@ -154,6 +166,14 @@
                                        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);
                                    }
                                });
                            }
@@ -172,12 +192,8 @@
                /**
                 * 发送时间校准
                 */
                handler.postDelayed(new Runnable() {
                    @Override
                    public void run() {
                        checkTime();
                    }
                }, 500);
                handler.postDelayed(runnable, 5000);
                /**
                 * 一连上先发数据包
                 */
@@ -436,7 +452,7 @@
                    message.what = 1;
                    heartHandler.sendMessage(message);
                }
            }, 0, 1000 * 60);
            }, 0, 1000 * 10);
        }
    }
@@ -655,15 +671,19 @@
        }
        if (!TextUtils.isEmpty(nowResult) && nowResult.length() == 8 && nowResult.startsWith("7A") && nowResult.endsWith("7B")) {
            //-----------------------Test------------------------------------------//
//            String aaa = MainApp.theApp.sharedPreferencesUtil.getTest()+"\n"+nowResult+"   收到时间:"+TimeUtil.getCurrentDate("yyyy-MM-dd HH:mm:ss");
//            MainApp.theApp.sharedPreferencesUtil.saveTest(aaa);
            //-----------------------Test------------------------------------------//
            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();
            //sendHourDataRec();
            RecData data = new RecData();
            data.setType(1);
            data.setIs_warn(0);
@@ -692,10 +712,12 @@
        if (!TextUtils.isEmpty(nowResult) && nowResult.length() == 16 && nowResult.startsWith("3A") && nowResult.endsWith("3B")) {
            Log.d("hourdata", "=====nowResult=====" + nowResult);
            //-----------------------Test------------------------------------------//
//            String aaa = MainApp.theApp.sharedPreferencesUtil.getTest()+"\n"+nowResult;
//            MainApp.theApp.sharedPreferencesUtil.saveTest(aaa);
            //-----------------------Test------------------------------------------//
            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) + "";
@@ -738,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) {