如果关注数据的回调数量为0,那么就停止测试.
authorTrillGates <WilliamTrillGates@gmail.com>
Fri, 10 Jun 2022 03:30:37 +0000 (11:30 +0800)
committerTrillGates <WilliamTrillGates@gmail.com>
Fri, 10 Jun 2022 03:30:37 +0000 (11:30 +0800)
app/IcL02WorkService/release/IcL02WorkService_V59_202203032007_release.apk [deleted file]
app/IcL02WorkService/release/IcL02WorkService_V59_202204161046_release.apk [new file with mode: 0644]
app/IcL02WorkService/release/output.json
app/src/main/java/com/ic/work/SensorDataService.java
app/src/main/java/com/ic/work/hardware/TemperatureHelper.java

diff --git a/app/IcL02WorkService/release/IcL02WorkService_V59_202203032007_release.apk b/app/IcL02WorkService/release/IcL02WorkService_V59_202203032007_release.apk
deleted file mode 100644 (file)
index 6d4d47a..0000000
Binary files a/app/IcL02WorkService/release/IcL02WorkService_V59_202203032007_release.apk and /dev/null differ
diff --git a/app/IcL02WorkService/release/IcL02WorkService_V59_202204161046_release.apk b/app/IcL02WorkService/release/IcL02WorkService_V59_202204161046_release.apk
new file mode 100644 (file)
index 0000000..ceb2006
Binary files /dev/null and b/app/IcL02WorkService/release/IcL02WorkService_V59_202204161046_release.apk differ
index 694f433..f90a5fe 100644 (file)
@@ -1 +1 @@
-[{"outputType":{"type":"APK"},"apkData":{"type":"MAIN","splits":[],"versionCode":1,"versionName":"1.1","enabled":true,"outputFile":"IcL02WorkService_V59_202203032007_release.apk","fullName":"IcL02WorkServiceRelease","baseName":"IcL02WorkService-release"},"path":"IcL02WorkService_V59_202203032007_release.apk","properties":{}}]
\ No newline at end of file
+[{"outputType":{"type":"APK"},"apkData":{"type":"MAIN","splits":[],"versionCode":1,"versionName":"1.1","enabled":true,"outputFile":"IcL02WorkService_V59_202204161046_release.apk","fullName":"IcL02WorkServiceRelease","baseName":"IcL02WorkService-release"},"path":"IcL02WorkService_V59_202204161046_release.apk","properties":{}}]
\ No newline at end of file
index 36ad983..3680c00 100644 (file)
@@ -174,7 +174,7 @@ public class SensorDataService extends Service implements TemperatureHelper.Temp
                 if (testTaskEvent.from.equals(TestTaskEvent.From.CLIENT_CMD) && isTest) {
                     BloodInfoHelper.MaxTestCount = 300;
                 } else {
-                    BloodInfoHelper.MaxTestCount =                     BloodInfoHelper.MaxTestCount = 40;
+                    BloodInfoHelper.MaxTestCount = BloodInfoHelper.MaxTestCount = 40;
                     ;
                 }
                 isOxygenOrHeartRateStop = false;
@@ -281,6 +281,11 @@ public class SensorDataService extends Service implements TemperatureHelper.Temp
         TemperatureHelper.getInstance().getTemperature();
     }
 
+    private void stopTemperatureTest() {
+        ICLogger.d("stop temperature test...");
+        TemperatureHelper.getInstance().stopTemperature();
+    }
+
     //获取心率,这里要完成整个过程
     private void getHeartInfo() {
         if (!isOxygenOrHeartRateStop) {
@@ -317,6 +322,10 @@ public class SensorDataService extends Service implements TemperatureHelper.Temp
                 public void unRegisterCallback(IHeartRateSensorCallback callback) {
                     ICLogger.d("heartRateSensorService unRegisterCallback ==> " + callback);
                     heartRateCallbacks.unregister(callback);
+                    if (heartRateCallbacks.getRegisteredCallbackCount() == 0) {
+                        //停止测试
+                        BloodInfoHelper.getInstance().stopTest();
+                    }
                 }
 
                 @Override
@@ -479,6 +488,11 @@ public class SensorDataService extends Service implements TemperatureHelper.Temp
         @Override
         public void unRegisterCallback(ITempSensorCallback callback) {
             temperatureCallbacks.unregister(callback);
+            //判断数量,如果数量为空了,说明不需要测试了
+            if (temperatureCallbacks.getRegisteredCallbackCount() == 0) {
+                //停止测试
+                stopTemperatureTest();
+            }
             ICLogger.d("tempSensorService unRegisterCallback ==> " + callback);
         }
 
index 4a28cf3..722692d 100644 (file)
@@ -2,6 +2,7 @@ package com.ic.work.hardware;
 
 import android.os.SystemClock;
 
+
 import com.ic.jni.ICJniUtils;
 import com.ic.work.domain.TemperatureItem;
 import com.ic.work.utils.AlgorithmUtils;
@@ -42,8 +43,10 @@ public class TemperatureHelper {
     private double lastBodyTemp = 0.0;
     private double lastWristTemp = 0.0;
     private int delayTimesInSeconds = 20;
+    private boolean isStop = true;
 
     public void getTemperature() {
+        isStop = false;
         long start = System.currentTimeMillis();
         lastTempOut = 0.0;
         lastBodyTemp = 0.0;
@@ -60,6 +63,10 @@ public class TemperatureHelper {
                     SystemClock.sleep(1000);
                 }
                 do {
+                    if (isStop) {
+                        ICLogger.d("stop temperature...");
+                        break;
+                    }
                     IcLog.d(TAG, "do temperature....");
                     SystemClock.sleep(1000);
                     long getStartTime = System.currentTimeMillis();
@@ -135,6 +142,10 @@ public class TemperatureHelper {
         this.mListener = listener;
     }
 
+    public void stopTemperature() {
+        this.isStop = true;
+    }
+
     public interface TemperatureChangeListener {
         void onTemperatureUpdate(double wristTemp, double bodyTemp, double envTemp);