From: TrillGates Date: Fri, 24 Sep 2021 07:32:02 +0000 (+0800) Subject: add limit for board temperature check. X-Git-Url: http://git.snicker.com.cn/?a=commitdiff_plain;h=180452b7fb4234a6afbe11f49ae2a8fddc877926;p=icworkservice.git add limit for board temperature check. --- diff --git a/app/src/main/java/com/ic/work/SensorDataService.java b/app/src/main/java/com/ic/work/SensorDataService.java index 1adb0cf..8f72fcb 100644 --- a/app/src/main/java/com/ic/work/SensorDataService.java +++ b/app/src/main/java/com/ic/work/SensorDataService.java @@ -380,14 +380,7 @@ public class SensorDataService extends Service implements TemperatureHelper.Temp @Override public void getBoardTemperature() { //获取主板的温度 - double boardTemperature = TemperatureUtil.getBoardTemperature(); - if (mExInfoCallback != null) { - try { - mExInfoCallback.onBoardTemperatureLoaded(boardTemperature); - } catch (Exception e) { - e.printStackTrace(); - } - } + doBoardTempCheck(false); } @Override @@ -417,6 +410,7 @@ public class SensorDataService extends Service implements TemperatureHelper.Temp AlarmManagerUtil.setAlarmTime(SensorDataService.this, System.currentTimeMillis() + nextDistance, intent); + doBoardTempCheck(true); } else { //取消alarm AlarmManagerUtil.cancelAlarm(SensorDataService.this, AlarmManagerUtil.ALARM_ACTION, @@ -437,6 +431,24 @@ public class SensorDataService extends Service implements TemperatureHelper.Temp } }; + private void doBoardTempCheck(boolean fitter) { + double boardTemperature = TemperatureUtil.getBoardTemperature(); + if (mExInfoCallback != null) { + try { + if (!fitter) { + mExInfoCallback.onBoardTemperatureLoaded(boardTemperature); + } else { + //判断是否有超出阀值 + if (boardTemperature > mBoardTopLimit) { + mExInfoCallback.onBoardTemperatureLoaded(boardTemperature); + } + } + } catch (Exception e) { + e.printStackTrace(); + } + } + } + //这个是温度通知的,如果任务已经在队列里了,那么就不再发送任务了,但是会被通知到的。 private final RemoteCallbackList temperatureCallbacks =