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;
/**
* 传感器数据服务,要获取传感器数据的,来绑定这个服务吧。
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;
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);
}
HeartRate heartRate = new HeartRate(high, low, heart, oxygen);
synchronized (mLock) {
int i = heartRateCallbacks.beginBroadcast();
+ ICLogger.d("dispatchHeartRateUpdate " + i);
try {
while (i > 0) {
i--;
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--;
@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);
}
import com.ic.work.utils.IcLog;
import com.ic.work.utils.TemperatureUtil;
+import java.math.BigDecimal;
+
/**
* 获取温度的工具类
*/
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;
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秒后停止检测。