-[{"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
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;
TemperatureHelper.getInstance().getTemperature();
}
+ private void stopTemperatureTest() {
+ ICLogger.d("stop temperature test...");
+ TemperatureHelper.getInstance().stopTemperature();
+ }
+
//获取心率,这里要完成整个过程
private void getHeartInfo() {
if (!isOxygenOrHeartRateStop) {
public void unRegisterCallback(IHeartRateSensorCallback callback) {
ICLogger.d("heartRateSensorService unRegisterCallback ==> " + callback);
heartRateCallbacks.unregister(callback);
+ if (heartRateCallbacks.getRegisteredCallbackCount() == 0) {
+ //停止测试
+ BloodInfoHelper.getInstance().stopTest();
+ }
}
@Override
@Override
public void unRegisterCallback(ITempSensorCallback callback) {
temperatureCallbacks.unregister(callback);
+ //判断数量,如果数量为空了,说明不需要测试了
+ if (temperatureCallbacks.getRegisteredCallbackCount() == 0) {
+ //停止测试
+ stopTemperatureTest();
+ }
ICLogger.d("tempSensorService unRegisterCallback ==> " + callback);
}
import android.os.SystemClock;
+
import com.ic.jni.ICJniUtils;
import com.ic.work.domain.TemperatureItem;
import com.ic.work.utils.AlgorithmUtils;
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;
SystemClock.sleep(1000);
}
do {
+ if (isStop) {
+ ICLogger.d("stop temperature...");
+ break;
+ }
IcLog.d(TAG, "do temperature....");
SystemClock.sleep(1000);
long getStartTime = System.currentTimeMillis();
this.mListener = listener;
}
+ public void stopTemperature() {
+ this.isStop = true;
+ }
+
public interface TemperatureChangeListener {
void onTemperatureUpdate(double wristTemp, double bodyTemp, double envTemp);