|
@@ -3,6 +3,7 @@ package com.yanzhenjie.andserver.sample.controller;
|
|
|
import android.annotation.SuppressLint;
|
|
|
import android.bluetooth.BluetoothAdapter;
|
|
|
import android.bluetooth.le.BluetoothLeScanner;
|
|
|
+import android.graphics.Color;
|
|
|
import android.os.Build;
|
|
|
import android.util.Log;
|
|
|
|
|
@@ -18,15 +19,17 @@ import com.yanzhenjie.andserver.annotation.RequestParam;
|
|
|
import com.yanzhenjie.andserver.annotation.RestController;
|
|
|
import com.yanzhenjie.andserver.sample.MainActivity;
|
|
|
import com.yanzhenjie.andserver.sample.model.ConnectBluetoothRequestParam;
|
|
|
-import com.yanzhenjie.andserver.sample.model.EcgUserInfo;
|
|
|
+import com.yuanxu.ecg.L;
|
|
|
+import com.yuanxu.ecg.bean.UserInfo;
|
|
|
import com.yanzhenjie.andserver.sample.model.ScannedDevice;
|
|
|
-import com.yanzhenjie.andserver.sample.model.UserInfo;
|
|
|
import com.yanzhenjie.andserver.sample.util.Constant;
|
|
|
import com.yanzhenjie.andserver.sample.util.FileUtils;
|
|
|
import com.yanzhenjie.andserver.sample.util.Result;
|
|
|
import com.yanzhenjie.andserver.sample.util.UtilsSharedPreference;
|
|
|
import com.yanzhenjie.andserver.util.MediaType;
|
|
|
import com.yuanxu.ecg.ECGManager;
|
|
|
+import com.yuanxu.ecg.callback.BaseCallback;
|
|
|
+import com.yuanxu.ecg.callback.ExecuteCallback;
|
|
|
|
|
|
import org.apache.commons.lang3.StringUtils;
|
|
|
import org.apache.commons.lang3.time.DateFormatUtils;
|
|
@@ -70,7 +73,7 @@ public class CommonController extends BaseController{
|
|
|
private static BluetoothLeScanner mScanner = null;
|
|
|
// private static BluetoothAdapter.LeScanCallback mLeScanCallback ;
|
|
|
private static HashMap<String,Object> scannedDeviceList = new HashMap<>();
|
|
|
-
|
|
|
+ int onProcess = 0;
|
|
|
private String fileName;
|
|
|
MegaBleClient megaBleClient ;
|
|
|
static {
|
|
@@ -392,8 +395,76 @@ public class CommonController extends BaseController{
|
|
|
.setLog(true, "ECG")
|
|
|
.setAutoReconnect(true)
|
|
|
.init(MainActivity.application);
|
|
|
- EcgUserInfo ecgUserInfo = new EcgUserInfo(param.getName(), param.getGender() == 0, param.getAge(), param.getHeight(), param.getWeight());
|
|
|
+ UserInfo ecgUserInfo = new UserInfo(param.getName(), param.getGender() == 0, param.getAge(), param.getHeight(), param.getWeight());
|
|
|
+ ECGManager.getInstance().execute(param.getMac(), ecgUserInfo, new ExecuteCallback() {
|
|
|
+ long from = 0;
|
|
|
+ @Override
|
|
|
+ public void onSuccess() {//本轮检测任务成功
|
|
|
+ L.e("onSuccess");
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public void onFailure(int failCode, String info) {//本轮检测任务失败
|
|
|
+ switch (failCode) {
|
|
|
+ case BaseCallback.FAIL_BLUETOOTH_NOT_AVAILABLE: //蓝牙不可用
|
|
|
+ break;
|
|
|
+ case BaseCallback.FAIL_OTHER: //其他原因
|
|
|
+ break;
|
|
|
+ case ExecuteCallback.FAIL_CONNECTION_ALREADY_ESTABLISHED://本机已连接到其他硬件设备
|
|
|
+ break;
|
|
|
+ case ExecuteCallback.FAIL_CONNECTION_START_FAIL://连接未正常开始
|
|
|
+ break;
|
|
|
+ }
|
|
|
+ L.e("onFailure---" + failCode + " info=" + info);
|
|
|
+ }
|
|
|
|
|
|
+ @SuppressLint("ResourceType")
|
|
|
+ @Override
|
|
|
+ public void onProcess(int process, String info) {//检测任务进度
|
|
|
+ onProcess = process;
|
|
|
+ switch (process) {
|
|
|
+ /**
|
|
|
+ *连接进度
|
|
|
+ */
|
|
|
+ case PROCESS_CONNECT_START://连接开始
|
|
|
+ break;
|
|
|
+ case PROCESS_CONNECT_FAIL://连接失败
|
|
|
+ break;
|
|
|
+ case PROCESS_CONNECTED://已连接
|
|
|
+ case PROCESS_DATA_RECEIVING://正在接收硬件发回的心电数据
|
|
|
+ break;
|
|
|
+ case PROCESS_DISCONNECTED://连接断开
|
|
|
+ break;
|
|
|
+
|
|
|
+ /**
|
|
|
+ * notify进度
|
|
|
+ */
|
|
|
+ case PROCESS_NOTIFY_START://开始notify
|
|
|
+ break;
|
|
|
+ case PROCESS_NOTIFY_SUCCESS://notify成功
|
|
|
+ break;
|
|
|
+ case PROCESS_NOTIFY_FAIL://notify失败
|
|
|
+ break;
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 其他如指令收发、数据接收等进度
|
|
|
+ */
|
|
|
+ case PROCESS_CMD_SENDING://正在发送相关指令
|
|
|
+ from = System.currentTimeMillis();
|
|
|
+ break;
|
|
|
+ case PROCESS_IDLE://任务结束(成功或失败),达到空闲状态
|
|
|
+ break;
|
|
|
+ }
|
|
|
+ L.d("onProcess---" + process + " info=" + info);
|
|
|
+ }
|
|
|
+ @RequiresApi(api = Build.VERSION_CODES.O)
|
|
|
+ @Override
|
|
|
+ public void onReceivedOriginalData(byte[] data) {//原始心电数据
|
|
|
+ //发送数据至前端页面,则不需要解析数据
|
|
|
+ //parseRealTimeData(data);
|
|
|
+
|
|
|
+ }
|
|
|
+ });
|
|
|
|
|
|
}else{
|
|
|
return fail(null, "wrong model");
|