From: TrillGates Date: Thu, 20 May 2021 02:45:21 +0000 (+0800) Subject: update tempearture ui. X-Git-Url: http://git.snicker.com.cn/?a=commitdiff_plain;h=a9c610e3ded07d9fd7f1e1349560c74d3e72b43f;p=icworkservice.git update tempearture ui. --- diff --git a/app/IcL02WorkService/release/IcL02WorkService_V58_202105101528_release.apk b/app/IcL02WorkService/release/IcL02WorkService_V58_202105101528_release.apk new file mode 100644 index 0000000..ea664ae Binary files /dev/null and b/app/IcL02WorkService/release/IcL02WorkService_V58_202105101528_release.apk differ diff --git a/app/IcL02WorkService/release/IcL02WorkService_V58_202105121753_release.apk b/app/IcL02WorkService/release/IcL02WorkService_V58_202105121753_release.apk new file mode 100644 index 0000000..ea664ae Binary files /dev/null and b/app/IcL02WorkService/release/IcL02WorkService_V58_202105121753_release.apk differ diff --git a/app/src/main/java/com/ic/work/SensorDataService.java b/app/src/main/java/com/ic/work/SensorDataService.java index 95b068e..a0ed976 100644 --- a/app/src/main/java/com/ic/work/SensorDataService.java +++ b/app/src/main/java/com/ic/work/SensorDataService.java @@ -41,8 +41,6 @@ import static com.ic.work.utils.ICWorkConstants.Jx.JX_KEY_HEART_TEMPERATURE; import static com.ic.work.utils.ICWorkConstants.Jx.JX_KEY_HEART_TEMPERATURE_TYPE; import static com.ic.work.utils.ICWorkConstants.Jx.JX_KEY_MODE; import static com.ic.work.utils.ICWorkConstants.Jx.JX_KEY_RESULT; -import static com.ic.work.utils.ICWorkConstants.ServiceType.ACTION_BLOOD; -import static com.ic.work.utils.ICWorkConstants.ServiceType.ACTION_IC_TEMP; /** * 传感器数据服务,要获取传感器数据的,来绑定这个服务吧。 @@ -76,13 +74,11 @@ public class SensorDataService extends Service implements TemperatureHelper.Temp String action = intent.getAction(); IcLog.d(TAG, "on service bind package name -- > " + packageName + " action name is == > " + action); - if (ACTION_BLOOD.equals(packageName) || - ICWorkConstants.SensorServiceAction.ACTION_HEART_RATE.equals(action)) { + if (ICWorkConstants.SensorServiceAction.ACTION_HEART_RATE.equals(action)) { return heartRateSensorService; } - if (ACTION_IC_TEMP.equals(packageName) || - ICWorkConstants.SensorServiceAction.ACTION_TEMPERATURE.equals(action)) { + if (ICWorkConstants.SensorServiceAction.ACTION_TEMPERATURE.equals(action)) { return tempSensorService; } return null; @@ -199,7 +195,7 @@ public class SensorDataService extends Service implements TemperatureHelper.Temp new IHeartRateSensorService.Stub() { @Override public void registerCallback(IHeartRateSensorCallback callback, String tag) { - ICLogger.d("heartRateSensorService registerCallback ==> " + callback); + ICLogger.d("heartRateSensorService registerCallback ==> " + callback + " tag == > " + tag); heartRateCallbacks.register(callback, tag); } @@ -479,6 +475,7 @@ public class SensorDataService extends Service implements TemperatureHelper.Temp HeartRate heartRate = new HeartRate(high, low, heart, oxygen); synchronized (mLock) { int i = heartRateCallbacks.beginBroadcast(); + ICLogger.d("dispatchHeartRateUpdate " + i); try { while (i > 0) { i--; @@ -568,7 +565,7 @@ public class SensorDataService extends Service implements TemperatureHelper.Temp private void dispatchTemperatureUpdate(Temperature temperature) { synchronized (mLock) { int i = temperatureCallbacks.beginBroadcast(); - IcLog.d(TAG, "dispatch temperature update == > " + temperature); + IcLog.d(TAG, "dispatch temperature update == > " + i); try { while (i > 0) { i--; @@ -639,6 +636,12 @@ public class SensorDataService extends Service implements TemperatureHelper.Temp @Override public void onHeartRateUpdate(int high, int low, int heart, int oxygen) { + ICLogger.d("onHeartRateUpdate == > " + + " high == > " + + high + " low " + + low + " heart " + + heart + " oxygen " + + oxygen); //更新 dispatchHeartRateUpdate(high, low, heart, oxygen); } diff --git a/app/src/main/java/com/ic/work/hardware/TemperatureHelper.java b/app/src/main/java/com/ic/work/hardware/TemperatureHelper.java index 0e96279..2f48050 100644 --- a/app/src/main/java/com/ic/work/hardware/TemperatureHelper.java +++ b/app/src/main/java/com/ic/work/hardware/TemperatureHelper.java @@ -9,6 +9,8 @@ import com.ic.work.utils.ICLogger; import com.ic.work.utils.IcLog; import com.ic.work.utils.TemperatureUtil; +import java.math.BigDecimal; + /** * 获取温度的工具类 */ @@ -68,11 +70,21 @@ public class TemperatureHelper { if (temperatureItem != null) { lastWristTemp = Double.parseDouble(temperatureItem.getBodyTemp()); lastTempOut = Double.parseDouble(temperatureItem.getEvnTemp()); + //TODO:getBodyTemp,环境使用26度. } - } else if (typeOrder == ICJniUtils.TempSensorType.TEMPSENSOR_TYPE_EM7068.ordinal()) { - IcLog.d(TAG, "type is == > 7068"); + } else { + IcLog.d(TAG, "type is == > 7068 = > " + typeOrder); lastWristTemp = HardwareUtils.getNdkTemperatureValue(); lastTempOut = HardwareUtils.getNdkTemperatureOutValue(); + lastBodyTemp = HardwareUtils.getBodyTempFromWristTemp(lastWristTemp, 26.0f); + BigDecimal wristBg = new BigDecimal(lastWristTemp); + lastWristTemp = wristBg.setScale(1, + BigDecimal.ROUND_HALF_UP).doubleValue(); + + //格式化一下 + BigDecimal bodyBg = new BigDecimal(lastBodyTemp); + lastBodyTemp = bodyBg.setScale(1, + BigDecimal.ROUND_HALF_UP).doubleValue(); } if (lastTempOut > 60 || lastTempOut < 1) { lastTempOut = 0.0f; @@ -88,7 +100,6 @@ public class TemperatureHelper { mListener.onTemperatureUpdate(lastWristTemp, lastBodyTemp, lastTempOut); } ICLogger.d("get temperature data use time == > " + (System.currentTimeMillis() - getStartTime)); - delayTimesInSeconds--; IcLog.d(TAG, "delayTimesInSeconds " + delayTimesInSeconds); //延时delay_times_in_seconds秒后停止检测。 diff --git a/app/src/main/java/com/ic/work/utils/HardwareUtils.java b/app/src/main/java/com/ic/work/utils/HardwareUtils.java index b629522..ba4fe52 100644 --- a/app/src/main/java/com/ic/work/utils/HardwareUtils.java +++ b/app/src/main/java/com/ic/work/utils/HardwareUtils.java @@ -156,6 +156,7 @@ public class HardwareUtils { } } + public static double getBodyTempFromWristTemp(double wrist_temp, double ref_temp) { try { return ICJniUtils.getBodyTempFromWristTemp(wrist_temp, ref_temp);