From: snickersun Date: Wed, 5 Feb 2020 13:29:24 +0000 (+0800) Subject: 添加未佩戴5秒停止检测,以便省电 X-Git-Url: http://git.snicker.com.cn/Users/apple/Desktop/static/gitweb.js?a=commitdiff_plain;h=a1eeb65482bea32d93aa4e28e8b52d185ed1ff0d;p=icsupport.git 添加未佩戴5秒停止检测,以便省电 --- diff --git a/app/src/main/java/com/enqualcomm/support/service/HeartRateManager.java b/app/src/main/java/com/enqualcomm/support/service/HeartRateManager.java index 99fbded1..4ec918d5 100644 --- a/app/src/main/java/com/enqualcomm/support/service/HeartRateManager.java +++ b/app/src/main/java/com/enqualcomm/support/service/HeartRateManager.java @@ -78,6 +78,10 @@ public class HeartRateManager extends AbstractInvokeHandlerService { startPPG(); } break; + case 300: { + stopPPG(); + } + break; } return false; } @@ -120,6 +124,7 @@ public class HeartRateManager extends AbstractInvokeHandlerService { static heartRateStatus.HEARTRATE_WORKINGSTAT currentStat; static int delayCount; static int testCount; + static int notWaredCount; private final int MAX_TESTTIMES=30000;//最大延迟测试时间为30秒 @@ -146,6 +151,14 @@ public class HeartRateManager extends AbstractInvokeHandlerService { } + if (currentStat== heartRateStatus.HEARTRATE_WORKINGSTAT.HEARTRATE_NOTWARED){ + notWaredCount--; + if( notWaredCount <0){ //没有佩戴次数到限制后,停止检测 + Logger.i("HEARTRATE_NOTWARED 超过时限,取消检测报告!"); + stopPPG(); + } + } + if (currentStat==heartRateStatus.HEARTRATE_WORKINGSTAT.HEARTRATE_TEST_SUCCESS){ runtime.getHRS().setLastHeartrate(PPG,BPH,BPL); delayCount--; @@ -157,6 +170,9 @@ public class HeartRateManager extends AbstractInvokeHandlerService { } runtime.getHRS().setHeartrateStat(currentStat); + + + testCount--; if (testCount<0) { @@ -166,7 +182,6 @@ public class HeartRateManager extends AbstractInvokeHandlerService { } - private void sendAndStopPPG(){ //结束和发送数据 mHandler.sendEmptyMessage(100); @@ -187,7 +202,8 @@ public class HeartRateManager extends AbstractInvokeHandlerService { public void startPPG(){ if (ICJniUtils.isPPGavailable()==1 && isTimerStarted==false) { currentStat=heartRateStatus.HEARTRATE_WORKINGSTAT.HEARTRATE_OPEN; - delayCount=3;//检测成功后三秒发送数据 + delayCount=4;//检测成功后4秒发送数据 + notWaredCount=5; //初始化没有佩戴的检测次数5,连续5秒没有佩戴则取消检测 testCount=MAX_TESTTIMES;//测试MAX_TESTTIMES后没有结果也要强制退出 isTimerStarted=true; ICJniUtils.enablePPG(); diff --git a/app/version_code.properties b/app/version_code.properties index 09cba91f..13edcd71 100644 --- a/app/version_code.properties +++ b/app/version_code.properties @@ -1,2 +1,2 @@ -#Tue Feb 04 19:00:07 CST 2020 -VERSION_CODE=341 +#Wed Feb 05 20:55:30 CST 2020 +VERSION_CODE=343