From 5847d20b85d1a24e6e170c751a751edbf459cfcb Mon Sep 17 00:00:00 2001 From: Caisking <3449750381@qq.com> Date: Thu, 5 Sep 2024 15:09:12 +0800 Subject: [PATCH] =?utf8?q?=E4=BF=AE=E5=A4=8Dnextday=E7=9A=84=E6=B6=88?= =?utf8?q?=E6=81=AF=E5=8F=91=E9=80=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit --- .../src/AlarmClockTimerConfig.cpp | 38 +++++++++++++++---- 1 file changed, 30 insertions(+), 8 deletions(-) diff --git a/code/sdk/application/wearable/fd230app/nativeui/alarmclocktimerconfig/src/AlarmClockTimerConfig.cpp b/code/sdk/application/wearable/fd230app/nativeui/alarmclocktimerconfig/src/AlarmClockTimerConfig.cpp index 07aa04754..36f19b514 100644 --- a/code/sdk/application/wearable/fd230app/nativeui/alarmclocktimerconfig/src/AlarmClockTimerConfig.cpp +++ b/code/sdk/application/wearable/fd230app/nativeui/alarmclocktimerconfig/src/AlarmClockTimerConfig.cpp @@ -304,6 +304,7 @@ extern "C" static void AlarmCallBackProcA(void) { WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "AlarmCallBackProcA"); + AlarmClockEventData unuse; AlarmTimerEventPublish(TOPIC_EVENT_ALARM_RING, unuse); } @@ -312,20 +313,31 @@ extern "C" static void AlarmCallBackProcB(void) { AlarmClockEventData unuse; - WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "AlarmCallBackProcB"); - GraphicService::GetInstance()->PostGraphicEvent( - std::bind(AlarmTimerEventPublish, TOPIC_EVENT_NEXTDAY_UPDATE, unuse)); + WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "AlarmCallBackProcB invoked"); + + // 记录当前时间 + time_t now = time(nullptr); + struct tm *localTime = localtime(&now); + WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "Current time - Hour: %d, Minute: %d", localTime->tm_hour, localTime->tm_min); + WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "Posting next day update event"); + + // GraphicService::GetInstance()->PostGraphicEvent( + // std::bind(AlarmTimerEventPublish, TOPIC_EVENT_NEXTDAY_UPDATE, unuse)); + + AlarmTimerEventPublish(TOPIC_EVENT_NEXTDAY_UPDATE, unuse); - // AlarmTimerEventPublish(TOPIC_EVENT_NEXTDAY_UPDATE, unuse); - SetZeroAlarm(); + SetZeroAlarm(); // 重置闹钟 } static void on_time_CallBackProc(void) { AlarmClockEventData unuse; - WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "on_time_CallBackProc"); + WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "on_time_CallBackProc invoked"); + GraphicService::GetInstance()->PostGraphicEvent( std::bind(AlarmTimerEventPublish, TOPIC_EVENT_ON_TIME, unuse)); + + // AlarmTimerEventPublish(TOPIC_EVENT_ON_TIME, unuse); } void AlarmScan(void *arg) @@ -334,15 +346,21 @@ extern "C" int32_t ret = AlarmGetCurrentTimeInfo(&curTime); if (ret != ERRCODE_SUCC) { + WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "Failed to get current time info, error code: %d", ret); return; } + WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "Scanning alarms - Current time: %02d:%02d:%02d", + curTime.tm_hour, curTime.tm_min, curTime.tm_sec); + if (g_alarmCtrA.state == ALARM_STATUS_RUNNING) { + WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "Checking Alarm A"); if ((g_alarmCtrA.callback != nullptr) && (g_alarmCtrA.info.hour == curTime.tm_hour) && (g_alarmCtrA.info.minute == curTime.tm_min)) { + WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "Alarm A triggered"); g_alarmCtrA.callback(); g_alarmCtrA.state = ALARM_STATUS_CREATED; } @@ -350,19 +368,23 @@ extern "C" if (g_alarmCtrB.state == ALARM_STATUS_RUNNING) { + WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "Checking Alarm B"); if ((g_alarmCtrB.callback != NULL) && - (g_alarmCtrB.info.week == curTime.tm_wday) && + // (g_alarmCtrB.info.week == curTime.tm_wday) && (g_alarmCtrB.info.hour == curTime.tm_hour) && (g_alarmCtrB.info.minute == curTime.tm_min) && (g_alarmCtrB.info.second == curTime.tm_sec)) { + WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "Alarm B triggered"); g_alarmCtrB.state = ALARM_STATUS_CREATED; - g_alarmCtrB.callback(); // 由于只有callback中SetZeroAlarm会设置state为ALARM_STATUS_RUNNING , 所以必须把state=ALARM_STATUS_CREATED提前,或者干脆删除。 + g_alarmCtrB.callback(); } } + // 未绑定状态下,以下操作不进行 if (OHOS::ConfigModel::GetInstance()->get_configData_bool(OHOS::ConfigModel::CONFIGMODEL_ITEM_FIRSTTIMESTART)) return; + // 整点回调 if (curTime.tm_min == 0 && curTime.tm_sec == 0) { -- 2.17.1