修改向aidl发送数据时没有单独的心率或者血氧
authork.liang <liangkang648253071@126.com>
Sat, 17 Jul 2021 07:55:08 +0000 (15:55 +0800)
committerk.liang <liangkang648253071@126.com>
Sat, 17 Jul 2021 07:55:08 +0000 (15:55 +0800)
app/src/main/java/com/ic/work/SensorDataService.java

index 498aa69..0e1ee7d 100644 (file)
@@ -466,8 +466,9 @@ public class SensorDataService extends Service implements TemperatureHelper.Temp
         IcLog.d(TAG, "create new task == > " + taskEvent);
         synchronized (mTaskLock) {
             //判断队列里是否有同样的任务,如果有的话不用发了,
+            IcLog.d(TAG, "contains == > " + mTaskList.contains(taskEvent)+", tag = "+tag);
             if (mTaskList.contains(taskEvent)) {
-                IcLog.d(TAG, "task contains..." + fromByValue);
+                IcLog.d(TAG, "task contains..." + fromByValue+", tag = "+tag);
                 //通知正在等待执行
                 if (tag != null) {
                     dispatchWaiting(censorType, tag);
@@ -475,7 +476,7 @@ public class SensorDataService extends Service implements TemperatureHelper.Temp
                 return;
             }
             if (taskEvent.equals(currentTask)) {
-                IcLog.d(TAG, "current task running...");
+                IcLog.d(TAG, "current task running..."+", tag = "+tag);
                 //通知正在执行
                 if (tag != null) {
                     dispatchTaskRunning(censorType, tag);
@@ -490,7 +491,7 @@ public class SensorDataService extends Service implements TemperatureHelper.Temp
                 //直接运行不需要放到队列里了
                 EventBus.getDefault().post(taskEvent);
             } else {
-                IcLog.d(TAG, "new task waiting..." + taskEvent);
+                IcLog.d(TAG, "new task waiting..." + taskEvent +", tag = "+tag);
                 //要放到队列里头,提示调用者正在等待执行
                 if (tag != null) {
                     dispatchWaiting(censorType, tag);
@@ -500,7 +501,9 @@ public class SensorDataService extends Service implements TemperatureHelper.Temp
         }
     }
 
+
     private void dispatchWaiting(TestTaskEvent.SensorType censorType, String tag) {
+        ICLogger.d("dispatchWaiting ..." + tag);
         if (censorType == TestTaskEvent.SensorType.TEMPERATURE) {
             //温度的
             synchronized (mLock) {
@@ -520,7 +523,9 @@ public class SensorDataService extends Service implements TemperatureHelper.Temp
                     temperatureCallbacks.finishBroadcast();
                 }
             }
-        } else if (censorType == TestTaskEvent.SensorType.HEART_RATE_AND_OXYGEN) {
+        } else if (censorType == TestTaskEvent.SensorType.HEART_RATE_AND_OXYGEN
+                || censorType == TestTaskEvent.SensorType.JUST_OXYGEN
+                || censorType == TestTaskEvent.SensorType.JUST_HEART_RATE) {
             //心率的
             synchronized (mLock) {
                 try {
@@ -549,6 +554,7 @@ public class SensorDataService extends Service implements TemperatureHelper.Temp
      * @param tag
      */
     private void dispatchTaskRunning(TestTaskEvent.SensorType censorType, String tag) {
+        ICLogger.d("sensorType = "+(censorType == TestTaskEvent.SensorType.HEART_RATE_AND_OXYGEN));
         if (censorType == TestTaskEvent.SensorType.TEMPERATURE) {
             //温度的
             synchronized (mLock) {
@@ -568,7 +574,9 @@ public class SensorDataService extends Service implements TemperatureHelper.Temp
                     temperatureCallbacks.finishBroadcast();
                 }
             }
-        } else if (censorType == TestTaskEvent.SensorType.HEART_RATE_AND_OXYGEN) {
+        } else if (censorType == TestTaskEvent.SensorType.HEART_RATE_AND_OXYGEN
+                || censorType == TestTaskEvent.SensorType.JUST_OXYGEN
+                || censorType == TestTaskEvent.SensorType.JUST_HEART_RATE) {
             //心率的
             synchronized (mLock) {
                 try {
@@ -576,6 +584,7 @@ public class SensorDataService extends Service implements TemperatureHelper.Temp
                     while (i > 0) {
                         i--;
                         String callbackTag = (String) heartRateCallbacks.getBroadcastCookie(i);
+                        ICLogger.d("callbackTag = "+ callbackTag +", tag = "+tag);
                         if (callbackTag != null && callbackTag.equals(tag)) {
                             heartRateCallbacks.getBroadcastItem(i).onGettingData();
                             break;
@@ -620,13 +629,20 @@ public class SensorDataService extends Service implements TemperatureHelper.Temp
     }
 
     private void checkContinue() {
-        wakeLock.release();
-        isRunning = false;
-        currentTask = null;
-        int size = mTaskList.size();
-        IcLog.d(TAG, "task list size == > " + size);
-        if (size > 0) {
-            EventBus.getDefault().post(mTaskList.poll());
+        try {
+            if (wakeLock != null) {
+                wakeLock.release();
+            }
+        }catch (Exception e){
+            Log.getStackTraceString(e.fillInStackTrace());
+        }finally {
+            isRunning = false;
+            currentTask = null;
+            int size = mTaskList.size();
+            IcLog.d(TAG, "task list size == > " + size);
+            if (size > 0) {
+                EventBus.getDefault().post(mTaskList.poll());
+            }
         }
     }