update tempearture ui.
authorTrillGates <williamtrillgates@gmail.com>
Thu, 20 May 2021 02:45:21 +0000 (10:45 +0800)
committerTrillGates <williamtrillgates@gmail.com>
Thu, 20 May 2021 02:45:21 +0000 (10:45 +0800)
app/IcL02WorkService/release/IcL02WorkService_V58_202105101528_release.apk [new file with mode: 0644]
app/IcL02WorkService/release/IcL02WorkService_V58_202105121753_release.apk [new file with mode: 0644]
app/src/main/java/com/ic/work/SensorDataService.java
app/src/main/java/com/ic/work/hardware/TemperatureHelper.java
app/src/main/java/com/ic/work/utils/HardwareUtils.java

diff --git a/app/IcL02WorkService/release/IcL02WorkService_V58_202105101528_release.apk b/app/IcL02WorkService/release/IcL02WorkService_V58_202105101528_release.apk
new file mode 100644 (file)
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 (file)
index 0000000..ea664ae
Binary files /dev/null and b/app/IcL02WorkService/release/IcL02WorkService_V58_202105121753_release.apk differ
index 95b068e..a0ed976 100644 (file)
@@ -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);
     }
index 0e96279..2f48050 100644 (file)
@@ -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秒后停止检测。
index b629522..ba4fe52 100644 (file)
@@ -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);