From: luozheng <1732036298@qq.com> Date: Wed, 25 Sep 2024 11:39:54 +0000 (+0800) Subject: 解决手机同步闹钟后,手表再新增闹钟导致的死机问题 X-Git-Url: http://git.snicker.com.cn/css/static/gitweb.css?a=commitdiff_plain;h=refs%2Fchanges%2F1012%2Ftarget%2F3;p=mirrors%2FFD230.git 解决手机同步闹钟后,手表再新增闹钟导致的死机问题 --- diff --git a/code/sdk/application/wearable/fd230app/nativeui/alarm/include/AlarmClockModel.h b/code/sdk/application/wearable/fd230app/nativeui/alarm/include/AlarmClockModel.h index 6f6d8df88..d72bf6585 100644 --- a/code/sdk/application/wearable/fd230app/nativeui/alarm/include/AlarmClockModel.h +++ b/code/sdk/application/wearable/fd230app/nativeui/alarm/include/AlarmClockModel.h @@ -126,9 +126,9 @@ public: void UpdateAlarmInfoByAppSet(void); void CancelAlarmRing(); void DelayAlarmRing(); + void SetAlarmId(uint8_t id); private: - void SetAlarmId(uint8_t id); void DeleteAlarmId(uint8_t id); // void NewFirstTime(void); uint8_t GetAlarmId(void); diff --git a/code/sdk/application/wearable/fd230app/nativeui/alarm/include/AlarmClockModelC.h b/code/sdk/application/wearable/fd230app/nativeui/alarm/include/AlarmClockModelC.h new file mode 100644 index 000000000..f7b86ba4b --- /dev/null +++ b/code/sdk/application/wearable/fd230app/nativeui/alarm/include/AlarmClockModelC.h @@ -0,0 +1,26 @@ +/* + * @Author: luozheng 1732036298@qq.com + * @Date: 2024-09-25 16:48:17 + * @LastEditors: luozheng 1732036298@qq.com + * @LastEditTime: 2024-09-25 16:52:11 + * @FilePath: /FD230/code/sdk/application/wearable/fd230app/nativeui/alarm/include/AlarmClockModelC.h + */ + +#ifndef ALARM_CLOCK_MODEL_C_H +#define ALARM_CLOCK_MODEL_C_H + +#ifdef __cplusplus +#if __cplusplus +extern "C" +{ +#endif +#endif +#include + void set_alarm_id(uint8_t id); + +#ifdef __cplusplus +#if __cplusplus +} +#endif +#endif +#endif \ No newline at end of file diff --git a/code/sdk/application/wearable/fd230app/nativeui/alarm/src/AlarmClockModel.cpp b/code/sdk/application/wearable/fd230app/nativeui/alarm/src/AlarmClockModel.cpp index b1192ec2a..f16f4bfd6 100644 --- a/code/sdk/application/wearable/fd230app/nativeui/alarm/src/AlarmClockModel.cpp +++ b/code/sdk/application/wearable/fd230app/nativeui/alarm/src/AlarmClockModel.cpp @@ -21,6 +21,7 @@ #include "notification_manager.h" #include "ConfigModel.h" #include "custom_runtime.h" +#include "alarm/include/AlarmClockModelC.h" #ifdef __cplusplus extern "C" { @@ -365,6 +366,11 @@ void AlarmClockModel::SetAlarmId(uint8_t id) return; } +void set_alarm_id(uint8_t id) +{ + AlarmClockModel::GetInstance()->SetAlarmId(id); +} + // void AlarmClockModel::NewFirstTime(void) // { // uint32_t timeTem = FIRST_CLOCK_HOUR; diff --git a/code/sdk/application/wearable/fd230app/nativeui/alarm/src/MainAlarmView.cpp b/code/sdk/application/wearable/fd230app/nativeui/alarm/src/MainAlarmView.cpp index 03e6f92a8..519af3e41 100644 --- a/code/sdk/application/wearable/fd230app/nativeui/alarm/src/MainAlarmView.cpp +++ b/code/sdk/application/wearable/fd230app/nativeui/alarm/src/MainAlarmView.cpp @@ -390,7 +390,7 @@ void MainAlarmView::NewClockCtl(int16_t alarmNum) void MainAlarmView::LabelGetWeek(uint8_t week, int16_t alarmNum) { - WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "MainAlarmView::week = %u!", week); + WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "MainAlarmView::week = %u!", week); std::string weekStr; std::string weekStr_en; if ((week & 0x7f) == 0x7f) { // 判断0~6位是否都为1,如若都为1,则一周7天闹钟都响应 diff --git a/code/sdk/application/wearable/service/ble_service/blemoder/bletest.cpp b/code/sdk/application/wearable/service/ble_service/blemoder/bletest.cpp index 7fe6914b1..dd64745d9 100644 --- a/code/sdk/application/wearable/service/ble_service/blemoder/bletest.cpp +++ b/code/sdk/application/wearable/service/ble_service/blemoder/bletest.cpp @@ -39,6 +39,7 @@ #include "AlmmgrAlarmClockManage.h" #include "AlarmClockTimerConfig.h" #include "AlarmClockManage.h" +#include "alarm/include/AlarmClockModelC.h" #include "SetDialModel.h" //#include "AlarmClockModel.h" @@ -1390,6 +1391,7 @@ void ble_SetAlarmInfo(uint32_t time_hour, uint32_t time_min, uint8_t week,uint8_ if ( id+1 >= AlmmgrGetEventAlarmCnt()) { WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "AlarmClockModel::SetAlarmWeek new time!"); int ret = AlmmgrAddAlarmClock(&eventAlarmInfo); + set_alarm_id(id);//将指定id的闹钟标记为已设置状态 } else { WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "AlarmClockModel::SetAlarmWeek modify time!"); AlmmgrUpdataAlarmClock(&eventAlarmInfo);