解决手机同步闹钟后,手表再新增闹钟导致的死机问题 1012/target/3 1015/2 1015/head
authorluozheng <1732036298@qq.com>
Wed, 25 Sep 2024 11:39:54 +0000 (19:39 +0800)
committerluozheng <1732036298@qq.com>
Wed, 25 Sep 2024 11:39:54 +0000 (19:39 +0800)
code/sdk/application/wearable/fd230app/nativeui/alarm/include/AlarmClockModel.h
code/sdk/application/wearable/fd230app/nativeui/alarm/include/AlarmClockModelC.h [new file with mode: 0644]
code/sdk/application/wearable/fd230app/nativeui/alarm/src/AlarmClockModel.cpp
code/sdk/application/wearable/fd230app/nativeui/alarm/src/MainAlarmView.cpp
code/sdk/application/wearable/service/ble_service/blemoder/bletest.cpp

index 6f6d8df..d72bf65 100644 (file)
@@ -126,9 +126,9 @@ public:
     void UpdateAlarmInfoByAppSet(void);\r
     void CancelAlarmRing();\r
     void DelayAlarmRing();\r
+    void SetAlarmId(uint8_t id);\r
 \r
 private:\r
-    void SetAlarmId(uint8_t id);\r
     void DeleteAlarmId(uint8_t id);\r
     // void NewFirstTime(void);\r
     uint8_t GetAlarmId(void);\r
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 (file)
index 0000000..f7b86ba
--- /dev/null
@@ -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 <stdint.h>
+    void set_alarm_id(uint8_t id);
+   
+#ifdef __cplusplus
+#if __cplusplus
+}
+#endif
+#endif
+#endif
\ No newline at end of file
index b1192ec..f16f4bf 100644 (file)
@@ -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;
index 03e6f92..519af3e 100644 (file)
@@ -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天闹钟都响应
index 7fe6914..dd64745 100644 (file)
@@ -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);