static void AlarmCallBackProcA(void)\r
{\r
WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "AlarmCallBackProcA");\r
+\r
AlarmClockEventData unuse;\r
AlarmTimerEventPublish(TOPIC_EVENT_ALARM_RING, unuse);\r
}\r
static void AlarmCallBackProcB(void)\r
{\r
AlarmClockEventData unuse;\r
- WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "AlarmCallBackProcB");\r
- GraphicService::GetInstance()->PostGraphicEvent(\r
- std::bind(AlarmTimerEventPublish, TOPIC_EVENT_NEXTDAY_UPDATE, unuse));\r
+ WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "AlarmCallBackProcB invoked");\r
+\r
+ // 记录当前时间\r
+ time_t now = time(nullptr);\r
+ struct tm *localTime = localtime(&now);\r
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "Current time - Hour: %d, Minute: %d", localTime->tm_hour, localTime->tm_min);\r
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "Posting next day update event");\r
+\r
+ // GraphicService::GetInstance()->PostGraphicEvent(\r
+ // std::bind(AlarmTimerEventPublish, TOPIC_EVENT_NEXTDAY_UPDATE, unuse));\r
+\r
+ AlarmTimerEventPublish(TOPIC_EVENT_NEXTDAY_UPDATE, unuse);\r
\r
- // AlarmTimerEventPublish(TOPIC_EVENT_NEXTDAY_UPDATE, unuse);\r
- SetZeroAlarm();\r
+ SetZeroAlarm(); // 重置闹钟\r
}\r
\r
static void on_time_CallBackProc(void)\r
{\r
AlarmClockEventData unuse;\r
- WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "on_time_CallBackProc");\r
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "on_time_CallBackProc invoked");\r
+\r
GraphicService::GetInstance()->PostGraphicEvent(\r
std::bind(AlarmTimerEventPublish, TOPIC_EVENT_ON_TIME, unuse));\r
+\r
+ // AlarmTimerEventPublish(TOPIC_EVENT_ON_TIME, unuse);\r
}\r
\r
void AlarmScan(void *arg)\r
int32_t ret = AlarmGetCurrentTimeInfo(&curTime);\r
if (ret != ERRCODE_SUCC)\r
{\r
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "Failed to get current time info, error code: %d", ret);\r
return;\r
}\r
\r
+ WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "Scanning alarms - Current time: %02d:%02d:%02d",\r
+ curTime.tm_hour, curTime.tm_min, curTime.tm_sec);\r
+\r
if (g_alarmCtrA.state == ALARM_STATUS_RUNNING)\r
{\r
+ WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "Checking Alarm A");\r
if ((g_alarmCtrA.callback != nullptr) &&\r
(g_alarmCtrA.info.hour == curTime.tm_hour) &&\r
(g_alarmCtrA.info.minute == curTime.tm_min))\r
{\r
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "Alarm A triggered");\r
g_alarmCtrA.callback();\r
g_alarmCtrA.state = ALARM_STATUS_CREATED;\r
}\r
\r
if (g_alarmCtrB.state == ALARM_STATUS_RUNNING)\r
{\r
+ WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "Checking Alarm B");\r
if ((g_alarmCtrB.callback != NULL) &&\r
- (g_alarmCtrB.info.week == curTime.tm_wday) &&\r
+ // (g_alarmCtrB.info.week == curTime.tm_wday) &&\r
(g_alarmCtrB.info.hour == curTime.tm_hour) &&\r
(g_alarmCtrB.info.minute == curTime.tm_min) &&\r
(g_alarmCtrB.info.second == curTime.tm_sec))\r
{\r
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "Alarm B triggered");\r
g_alarmCtrB.state = ALARM_STATUS_CREATED;\r
- g_alarmCtrB.callback(); // 由于只有callback中SetZeroAlarm会设置state为ALARM_STATUS_RUNNING , 所以必须把state=ALARM_STATUS_CREATED提前,或者干脆删除。\r
+ g_alarmCtrB.callback();\r
}\r
}\r
+\r
// 未绑定状态下,以下操作不进行\r
if (OHOS::ConfigModel::GetInstance()->get_configData_bool(OHOS::ConfigModel::CONFIGMODEL_ITEM_FIRSTTIMESTART))\r
return;\r
+\r
// 整点回调\r
if (curTime.tm_min == 0 && curTime.tm_sec == 0)\r
{\r