修复闹钟取消后依然会响的bug 252/1 252/head
authorhcj <1224667075@qq.com>
Tue, 11 Jun 2024 03:44:00 +0000 (11:44 +0800)
committerhcj <1224667075@qq.com>
Tue, 11 Jun 2024 03:44:00 +0000 (11:44 +0800)
code/sdk/application/wearable/fd230app/nativeui/alarmclockmanage/src/AlarmClockManage.cpp

index 8d03ec0..86cfbd3 100644 (file)
@@ -372,13 +372,16 @@ static int32 SetFirstAlarmToday(FirstAlarmTodaySetType type)
     std::list< AlarmClockInfoToday>::iterator node;
     std::list< AlarmClockInfoToday>::iterator tempNode;
 
-    WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "SetFirstAlarmToday !!");
+    WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "SetFirstAlarmToday !!");
     if (AlarmGetCurrentTimeInfo(&curTime) != 0) {
         WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "SetFirstAlarmToday AlarmGetCurrentTimeInfo failed!!");
         return STATUS_TIME_FUN_ERROR;
     }
+    
+    SetAlarm(ALARM_A, 0,255, 255);
 
-    for (node = g_alarmTodayList.begin(); node != g_alarmTodayList.end();) {
+    for (node = g_alarmTodayList.begin(); node != g_alarmTodayList.end();)
+    {
         tempNode = node;
         tempNode++;
         if (tempType == TYPE_CUR_NODE_SKIP) { // 第一个闹钟如果已响应直接跳过并删除,有连续相同闹铃时间则连续跳过并删除
@@ -391,17 +394,18 @@ static int32 SetFirstAlarmToday(FirstAlarmTodaySetType type)
             continue;
         }
 
-        WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "alarmTime : %lx!!", node->alarmTime);
-        WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "curTime: hour %ld, min %ld!!", curTime.tm_hour, curTime.tm_min);
+        WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "alarmTime : %lx!!", node->alarmTime);
+        WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "curTime: hour %ld, min %ld!!", curTime.tm_hour, curTime.tm_min);
 
         if (((node->alarmTime >> TWO_BYTES_BITS == (uint32)curTime.tm_hour) &&
             ((node->alarmTime & AND_FOR_LOW_TWO_BYTES) > (uint32)curTime.tm_min)) ||
             node->alarmTime >> TWO_BYTES_BITS > (uint32)curTime.tm_hour) {
-            WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "alarmTime > curTime!!");
+            WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "alarmTime > curTime!!");
             SetAlarm(ALARM_A, 0, node->alarmTime >> TWO_BYTES_BITS, node->alarmTime & AND_FOR_LOW_TWO_BYTES);
             break;
         } else { // 已过期的直接删除
-            WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "alarmTime <= curTime!!");
+            WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "alarmTime <= curTime!!");
+           
             g_alarmTodayList.erase(node);
         }
         node++;