解决,656,手表,闹钟偶现0000闹钟提醒bug 1006/5
authorluozheng <1732036298@qq.com>
Tue, 24 Sep 2024 09:20:20 +0000 (17:20 +0800)
committerluozheng <1732036298@qq.com>
Tue, 24 Sep 2024 09:20:20 +0000 (17:20 +0800)
code/sdk/application/wearable/fd230app/nativeui/alarm/include/AlarmClockModel.h
code/sdk/application/wearable/fd230app/nativeui/alarm/src/AlarmClockModel.cpp
code/sdk/application/wearable/fd230app/nativeui/alarm/src/AlarmNewTimeView.cpp
code/sdk/application/wearable/fd230app/nativeui/alarmclocktimerconfig/src/AlarmClockTimerConfig.cpp
code/sdk/application/wearable/service/msg_center/src/notify/alarm_notification.cpp

index 5361975..6f6d8df 100644 (file)
@@ -86,6 +86,7 @@ public:
     bool GetClockWeek(int16_t alarmNum, uint8_t *alarmWeek);\r
     bool GetClockStatus(int16_t num, uint8_t *alarmEnable);\r
     void GetPopTimeData(int16 *hour, int16* min);\r
+    void SetPopTimeData(int16 hour, int16 min);\r
     bool GetClockListenerTime(uint32_t &alarmTime);\r
     bool GetListenClockId(uint8_t *alarmId);\r
     void GetAlarmCallId(uint8_t *alarmId);\r
index d3387cb..b1192ec 100644 (file)
@@ -730,7 +730,11 @@ void AlarmClockModel::GetPopTimeData(int16 *hour, int16 *min)
     *hour = popHour;
     *min = popMin;
 }
-
+void AlarmClockModel::SetPopTimeData(int16 hour, int16 min)
+{
+    popHour = hour;
+    popMin = min;
+}
 void AlarmClockModel::AlarmGetClockNum()
 {
     struct tm curTime;
@@ -755,7 +759,7 @@ void AlarmClockModel::AlarmGetClockNum()
                 currentAlarm[num]->alarmTime >> TWO_BYTES_BITS, currentAlarm[num]->alarmTime & AND_FOR_LOW_TWO_BYTES);
             popHour = hour;
             popMin = min;
-            WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "AlarmClockModel::AlarmGetClockNum %d:%d!", popHour, popMin);
+            WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "AlarmClockModel::AlarmGetClockNum %d:%d!", popHour, popMin);
             clockListener = num;
             return;
         }
@@ -774,11 +778,11 @@ void AlarmClockModel::GetAlarmCallId(uint8_t *alarm)
         WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "AlarmTimerCallback AlarmGetCurrentTimeInfo failed!!");
         return;
     }
-    WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "AlarmGetClockNum, hour:%u, min:%u", curTime.tm_hour, curTime.tm_min);
+    WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "GetAlarmCallId, hour:%u, min:%u", curTime.tm_hour, curTime.tm_min);
 
     for (uint16_t num = 0; num < CLOCK_MAX; num++) {
         if (currentAlarm[num] == nullptr || currentAlarm[num]->alarmType == TYPE_INVALID_ALARM_CLOCK) {
-            WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "AlarmClockModel::AlarmGetClockNum get num fail!");
+            WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "AlarmClockModel::GetAlarmCallId get num fail!");
             return;
         }
         int32_t hour = currentAlarm[num]->alarmTime >> TWO_BYTES_BITS;
@@ -786,7 +790,7 @@ void AlarmClockModel::GetAlarmCallId(uint8_t *alarm)
         hour = (hour + min / ONE_HOUR_MIN) % TWENTY_FOUR_HOUR;
         min = min % ONE_HOUR_MIN;
         if (curTime.tm_hour == hour && curTime.tm_min == min) {
-            WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "AlarmClockModel::AlarmGetClockNum %d:%d!",
+            WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "AlarmClockModel::GetAlarmCallId %d:%d!",
                 currentAlarm[num]->alarmTime >> TWO_BYTES_BITS, currentAlarm[num]->alarmTime & AND_FOR_LOW_TWO_BYTES);
             *alarm = currentAlarm[num]->alarmClockId;
             return;
index 3ad1ac2..3f2faa6 100644 (file)
@@ -191,7 +191,7 @@ namespace OHOS
         time_t seconds = time(nullptr);\r
         if (localtime_r(&seconds, &local_time) == nullptr)\r
         {\r
-            WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "AlarmClockModel::AlarmGetClockNum get localtime error!");\r
+            WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "AlarmClockModel::RefreshNewTime get localtime error!");\r
             return;\r
         }\r
         std::ostringstream ostrHour;\r
index 285615a..0f7de98 100644 (file)
@@ -40,7 +40,7 @@
 #include "record/include/RecordingPlayerView.h"\r
 #include "ppg_service.h"\r
 #include "custom_utils.h"\r
-\r
+#include "alarm/include/AlarmClockModel.h"\r
 #ifdef __cplusplus\r
 extern "C"\r
 {\r
@@ -368,6 +368,7 @@ extern "C"
                 (g_alarmCtrA.info.minute == curTime.tm_min))\r
             {\r
                 WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "Alarm A triggered");\r
+                OHOS::AlarmClockModel::GetInstance()->SetPopTimeData(g_alarmCtrA.info.hour,g_alarmCtrA.info.minute);\r
                 g_alarmCtrA.state = ALARM_STATUS_CREATED;\r
                 g_alarmCtrA.callback();\r
             }\r
index 4b81510..dc55403 100755 (executable)
@@ -466,6 +466,7 @@ namespace OHOS
             // std::string poptime = std::to_string(thisHour) + ":" + std::to_string(thisMin);
             char poptime[12] = {0};
             sprintf(poptime, "%02d:%02d", thisHour, thisMin);
+            WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "poptime = %s",poptime);
             g_popTime->SetText(poptime);
             g_popTime->SetStyle(STYLE_TEXT_FONT, 60);
             g_popTime->SetStyle(STYLE_LINE_HEIGHT, 70);