修复睡眠弹窗icon消失
authorCaisking <3449750381@qq.com>
Tue, 9 Jul 2024 08:03:29 +0000 (16:03 +0800)
committerCaisking <3449750381@qq.com>
Tue, 9 Jul 2024 08:03:29 +0000 (16:03 +0800)
code/sdk/application/wearable/fd230app/nativeui/alarmclocktimerconfig/src/AlarmClockTimerConfig.cpp
code/sdk/application/wearable/service/msg_center/include/notify/notification_manager.h
code/sdk/application/wearable/service/msg_center/src/notify/notification_manager_customer.cpp

index 5754880..1bab4d4 100644 (file)
@@ -59,20 +59,20 @@ extern "C"
     static int sleep_notify_time_min = 0;\r
     static int sleep_notify_time_hour = 0;\r
 \r
-    #define SEDENTARY_TIME_RANGE (((curTime.tm_hour > sedentary_start_hour) || (curTime.tm_hour == sedentary_start_hour && curTime.tm_min >= sedentary_start_min)) && \\r
-                             ((curTime.tm_hour < sedentary_stop_hour) || (curTime.tm_hour == sedentary_stop_hour && curTime.tm_min < sedentary_stop_min)))\r
-    \r
-    #define WAKE_TIME_RANGE (((wake_time_hour < sleep_time_hour) && \\r
-                         ((curTime.tm_hour > wake_time_hour) || \\r
-                          (curTime.tm_hour == wake_time_hour && curTime.tm_min >= wake_time_min)) && \\r
-                         ((curTime.tm_hour < sleep_time_hour) || \\r
-                          (curTime.tm_hour == sleep_time_hour && curTime.tm_min < sleep_time_min))) || \\r
-                        ((wake_time_hour >= sleep_time_hour) && \\r
-                         (((curTime.tm_hour > wake_time_hour) || \\r
-                           (curTime.tm_hour == wake_time_hour && curTime.tm_min >= wake_time_min)) || \\r
-                          ((curTime.tm_hour < sleep_time_hour) || \\r
-                           (curTime.tm_hour == sleep_time_hour && curTime.tm_min < sleep_time_min))) || \\r
-                         ((curTime.tm_hour > wake_time_hour) && (curTime.tm_hour < sleep_time_hour))))\r
+#define SEDENTARY_TIME_RANGE (((curTime.tm_hour > sedentary_start_hour) || (curTime.tm_hour == sedentary_start_hour && curTime.tm_min >= sedentary_start_min)) && \\r
+                              ((curTime.tm_hour < sedentary_stop_hour) || (curTime.tm_hour == sedentary_stop_hour && curTime.tm_min < sedentary_stop_min)))\r
+\r
+#define WAKE_TIME_RANGE (((wake_time_hour < sleep_time_hour) &&                                              \\r
+                          ((curTime.tm_hour > wake_time_hour) ||                                             \\r
+                           (curTime.tm_hour == wake_time_hour && curTime.tm_min >= wake_time_min)) &&        \\r
+                          ((curTime.tm_hour < sleep_time_hour) ||                                            \\r
+                           (curTime.tm_hour == sleep_time_hour && curTime.tm_min < sleep_time_min))) ||      \\r
+                         ((wake_time_hour >= sleep_time_hour) &&                                             \\r
+                              (((curTime.tm_hour > wake_time_hour) ||                                        \\r
+                                (curTime.tm_hour == wake_time_hour && curTime.tm_min >= wake_time_min)) ||   \\r
+                               ((curTime.tm_hour < sleep_time_hour) ||                                       \\r
+                                (curTime.tm_hour == sleep_time_hour && curTime.tm_min < sleep_time_min))) || \\r
+                          ((curTime.tm_hour > wake_time_hour) && (curTime.tm_hour < sleep_time_hour))))\r
 \r
     // 设置目标睡眠时间\r
     void set_sleep_and_wake_time(void)\r
@@ -116,7 +116,7 @@ extern "C"
         sleep_notify_time_min = (goal_min >= SLEPPNOTIFY) ? goal_min - SLEPPNOTIFY : ((goal_min + 60) - SLEPPNOTIFY); // 避免分钟数为负\r
         sleep_notify_time_hour = goal_hour;\r
         if (goal_min < SLEPPNOTIFY)\r
-        {                         // 如果需要借位\r
+        {                                // 如果需要借位\r
             sleep_notify_time_hour -= 1; // 小时减1\r
         }\r
         // 确保小时数正确\r
@@ -299,7 +299,7 @@ extern "C"
                 // 提醒一次\r
                 if ((curTime.tm_hour == sleep_notify_time_hour) && (curTime.tm_min == sleep_notify_time_min) && (curTime.tm_sec == 0))\r
                 {\r
-                    WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "It's bedtime in 20 minutes");\r
+                    WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "It's bedtime in 20 minutes");\r
                     WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "20分钟后要睡觉啦!");\r
                     AlarmEventPublish(TOPIC_EVENT_SLEEPNOTE, (uint8_t *)sleep_notify_time, 4);\r
                     // 设置状态为睡眠提醒\r
@@ -313,21 +313,21 @@ extern "C"
                 uapi_dev_runtime_set_nap_status(1);\r
                 do_cywee_service_check_msg(CYWEE_SERVICE_CMD_GET_SLEEP_DATA, NULL);\r
                 WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "起床啦!");\r
-                if(curTime.tm_hour == wake_time_hour && curTime.tm_min == wake_time_min && curTime.tm_sec == 0)\r
+                if (curTime.tm_hour == wake_time_hour && curTime.tm_min == wake_time_min && curTime.tm_sec == 0)\r
                 {\r
                     // 早安提醒\r
                     AlarmEventPublish(TOPIC_EVENT_SLEEPNOTE, (uint8_t *)sleep_notify_time, 4);\r
+                    // 设置状态为小睡\r
+                    OHOS::SleepModel::GetInstance().set_sleep_state(OHOS::SLEEPSTATE::WAKE);\r
                 }\r
-                if(OHOS::ConfigModel::GetInstance()->GetDnotdisturb())\r
+                if (OHOS::ConfigModel::GetInstance()->GetDnotdisturb())\r
                 {\r
-                    OHOS::ConfigModel::GetInstance()->SetDnotdisturb(false);//关闭勿扰\r
+                    OHOS::ConfigModel::GetInstance()->SetDnotdisturb(false); // 关闭勿扰\r
                 }\r
-                // 设置状态为小睡\r
-                OHOS::SleepModel::GetInstance().set_sleep_state(OHOS::SLEEPSTATE::WAKE);\r
                 LOS_Msleep(1000);\r
                 do_cywee_service_check_msg(CYWEE_SERVICE_CMD_NAP_SEDENTARY_MODE, NULL);\r
             }\r
-             //进入睡眠模式\r
+            // 进入睡眠模式\r
             else if ((!WAKE_TIME_RANGE) && (uapi_dev_runtime_get_sleep_status() == 0))\r
             {\r
                 uapi_dev_runtime_set_sleep_status(1);\r
@@ -335,10 +335,17 @@ extern "C"
                 do_cywee_service_check_msg(CYWEE_SERVICE_CMD_GET_SLEEP_DATA, NULL);\r
                 // 睡眠弹窗\r
                 WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "要睡觉啦!");\r
-                AlarmEventPublish(TOPIC_EVENT_SLEEPNOTE, (uint8_t *)sleep_notify_time, 4);\r
-                // 设置状态为睡眠\r
-                OHOS::SleepModel::GetInstance().set_sleep_state(OHOS::SLEEPSTATE::SLEPP);\r
-                OHOS::SleepModel::GetInstance().DeleteSleepData(); // 清空前一天睡眠数据\r
+                if (curTime.tm_hour == sleep_time_hour && curTime.tm_min == sleep_time_min && curTime.tm_sec == 0)\r
+                {\r
+                    AlarmEventPublish(TOPIC_EVENT_SLEEPNOTE, (uint8_t *)sleep_notify_time, 4);\r
+                    // 设置状态为睡眠\r
+                    OHOS::SleepModel::GetInstance().set_sleep_state(OHOS::SLEEPSTATE::SLEPP);\r
+                    OHOS::SleepModel::GetInstance().DeleteSleepData(); // 清空前一天睡眠数据\r
+                }\r
+                if (!OHOS::ConfigModel::GetInstance()->GetDnotdisturb())\r
+                {\r
+                    OHOS::ConfigModel::GetInstance()->SetDnotdisturb(true); // 开启勿扰\r
+                }\r
                 LOS_Msleep(1000);\r
                 do_cywee_service_check_msg(CYWEE_SERVICE_CMD_SLEEPING_MODE, NULL);\r
             }\r
index a72fb11..a6b19aa 100644 (file)
@@ -29,6 +29,8 @@
 #include "findwatch_notification.h"
 #include "drinkReminder_notification.h"
 #include "sedentaryReminder_notification.h"
+#include "message_notification.h"
+#include "sleep_notification.h"
 
 constexpr uint16_t HALF_SCREEN = 2;
 constexpr int16_t NOTIFY_PRIORITY_DEFAULT = 4;
index 29c55c3..c912dd3 100755 (executable)
@@ -1,3 +1,9 @@
+/*** 
+ * @Date: 2024-06-11 16:12:53
+ * @LastEditors: Caisking 3449750381@qq.com
+ * @LastEditTime: 2024-07-09 15:44:49
+ * @FilePath: /FD230/code/sdk/application/wearable/service/msg_center/src/notify/notification_manager_customer.cpp
+ */
 /*
  * @Author: luozheng 1732036298@qq.com
  * @Date: 2024-03-07 18:27:45
@@ -43,6 +49,8 @@ void NotificationManager::FreeNotifyViews()
     FreelowPower();
     FreeDrinkReminderView();
     FreeSedentaryReminderView();
+    FreeMessageView();
+    FreeSleepView();
 #ifdef SUPPORT_CHARGER_PLUG_DETECTION_NOTIFICATION
     //Do Free notification view
 #endif