优化运动数据燃脂时间计算。 744/1 744/head 745/target/2
authorpenglei <1624952103@qq.com>
Tue, 20 Aug 2024 11:32:26 +0000 (19:32 +0800)
committerpenglei <1624952103@qq.com>
Tue, 20 Aug 2024 11:32:26 +0000 (19:32 +0800)
睡眠监测切换时初始化小睡与睡眠状态。

code/sdk/application/wearable/fd230app/nativeui/alarmclocktimerconfig/src/AlarmClockTimerConfig.cpp
code/sdk/application/wearable/service/msg_center/src/msg_center_customer.cpp

index 8eaf609..34f42cb 100644 (file)
@@ -397,6 +397,7 @@ extern "C"
                 if (uapi_dev_runtime_get_sleep_status() == 0)\r
                 {\r
                     // 设置状态为小睡\r
+                    uapi_dev_runtime_set_nap_status(0);//清零小睡状态\r
                     uapi_dev_runtime_set_nap_monitoring_status(1);\r
                     uapi_dev_runtime_set_sleep_monitoring_status(0);\r
                     OHOS::SleepModel::GetInstance().ReInitData(); // 更新睡眠数据\r
@@ -409,6 +410,7 @@ extern "C"
             // 进入睡眠检测模式并退出小睡检测模式\r
             else if ((!WAKE_TIME_RANGE) && (uapi_dev_runtime_get_sleep_monitoring_status() == 0))\r
             {\r
+                uapi_dev_runtime_set_sleep_status(0);//清零睡眠状态\r
                 uapi_dev_runtime_set_sleep_monitoring_status(1);\r
                 uapi_dev_runtime_set_nap_monitoring_status(0);\r
                 do_cywee_service_check_msg(CYWEE_SERVICE_CMD_GET_SLEEP_DATA, NULL);//强制获取小睡数据,结束小睡\r
index fc65cf6..a36b74a 100644 (file)
@@ -1105,6 +1105,8 @@ void MsgCenterNotifyActivityProc(const Topic topic, Request* req)
     c_activity_result_t = NULL;
 }
 
+static int train_fat_time = 0;
+
 void MsgCenterNotifyActivityExtraInfoProc(const Topic topic, Request* req)
 {
     unused(topic);
@@ -1124,8 +1126,16 @@ void MsgCenterNotifyActivityExtraInfoProc(const Topic topic, Request* req)
         return;
     }
 
+    if(uapi_dev_runtime_get_train_status() && c_activity_result_extre_info_t->ativity_zone_high_duration)
+    {
+        train_fat_time = c_activity_result_extre_info_t->ativity_zone_high_duration;
+    }
     /*更新燃脂时间数据*/
-    set_fat_time_data(c_activity_result_extre_info_t->ativity_zone_high_duration);
+    else if(uapi_dev_runtime_get_train_status() == 0 && train_fat_time)
+    {
+        set_fat_time_data(train_fat_time);
+        train_fat_time = 0;
+    }
 
     free(c_activity_result_extre_info_t);
     c_activity_result_extre_info_t = NULL;