喝水提醒,久坐提醒,运动识别弹窗时间保存采用队列方式
authorluozheng <1732036298@qq.com>
Sat, 2 Nov 2024 10:57:46 +0000 (18:57 +0800)
committerluozheng <1732036298@qq.com>
Sat, 2 Nov 2024 10:57:46 +0000 (18:57 +0800)
code/sdk/application/wearable/fd230app/nativeui/system/include/SystemLogModel.h
code/sdk/application/wearable/fd230app/nativeui/system/include/SystemLogModelC.h
code/sdk/application/wearable/fd230app/nativeui/system/src/SystemLogModel.cpp
code/sdk/application/wearable/service/msg_center/src/notify/drinkReminder_notification.cpp
code/sdk/application/wearable/service/msg_center/src/notify/motion_recognition_notification.cpp
code/sdk/application/wearable/service/msg_center/src/notify/sedentaryReminder_notification.cpp
code/sdk/drivers/peripheral/utils/custom_fileoperate_service.c
code/sdk/drivers/peripheral/utils/custom_utils.h

index 1f86378..aa32dcb 100644 (file)
@@ -103,6 +103,7 @@ public:
     size_t get_nextday_log_size() const;//获取日志大小
     /* ------------------------------ popup_windows 日志记录----------------------------- */
     bool save_popup_windows_log(popup_windows_log_data data);                // 保存popup_windows日志
+    void save_popup_windows_log_type(int type);                              // 保存popup_windows日志
     bool load_popup_windows_log();                                           // 加载popup_windows日志
     const std::deque<popup_windows_log_data> &get_popup_windows_log() const; // 获取popup_windows日志记录(常量引用)
     size_t get_popup_windows_log_size() const;                               // 获取日志大小
index e4fd948..2eb82eb 100644 (file)
@@ -15,6 +15,7 @@ void update_version_report_log(void);
 void start_report_nextday_log_start(void);
 void start_report_nextday_log_end(void);
 void nextday_clear_popup_windows_log(void);
+void save_popup_windows_log_c(int type);
 
 
 #ifdef __cplusplus
index 11321a4..68a3a2c 100644 (file)
@@ -76,6 +76,10 @@ void start_report_nextday_log_end(void) {
 void nextday_clear_popup_windows_log(void) {
   OHOS::SystemLogModel::GetInstance()->clear_popup_windows_log();
 }
+void save_popup_windows_log_c(int type)
+{
+  OHOS::SystemLogModel::GetInstance()->save_popup_windows_log_type(type);
+}
 }
 
 namespace OHOS {
@@ -344,6 +348,26 @@ bool SystemLogModel::save_popup_windows_log(popup_windows_log_data data) {
   return true;
 }
 
+void SystemLogModel::save_popup_windows_log_type(int type)
+{
+    popup_windows_log_data data;
+    data.timestamp = GetCurrentTime();
+    switch(type)
+    {
+      case 0:
+        data.type = popup_windows_type::MOTION_RECOGNITION;
+        break;
+      case 1:
+        data.type = popup_windows_type::DRINK_WATER_REMINDER;
+        break;
+      case 2:
+        data.type = popup_windows_type::SEDENTARY_REMINDER;
+        break;
+      default:
+        break;
+    }
+    save_popup_windows_log(data);
+}
 bool SystemLogModel::load_popup_windows_log() {
   std::ifstream inFile(SYSTEM_LOG_FILE_PATH_POPUP_WINDOWS);
   if (!inFile) {
index b9b4a1f..9ad8731 100644 (file)
@@ -106,10 +106,12 @@ namespace OHOS
     //记录喝水提醒日志
     void DrinkReminderViewEventListener::record_drink_reminder_log(void)
     {
-        popup_windows_log_data systemlog;
-        systemlog.type = popup_windows_type::DRINK_WATER_REMINDER;
-        systemlog.timestamp = SystemLogModel::GetInstance()->GetCurrentTime();
-        SystemLogModel::GetInstance()->save_popup_windows_log(systemlog);
+        // popup_windows_log_data systemlog;
+        // systemlog.type = popup_windows_type::DRINK_WATER_REMINDER;
+        // systemlog.timestamp = SystemLogModel::GetInstance()->GetCurrentTime();
+        // SystemLogModel::GetInstance()->save_popup_windows_log(systemlog);
+        uint8_t type =  1;
+        do_custom_fileoperate_service_check_msg(CUSTOM_FILEOPERATE_MSG_TYPE_POPUP_WINDOWS_DATA_LIST, &type, sizeof(type));
     }
 
     /*创建喝水提醒视图*/
index c9f2fcd..4e8328f 100644 (file)
@@ -2,7 +2,7 @@
  * @Author: luozheng 1732036298@qq.com
  * @Date: 2024-08-17 16:44:20
  * @LastEditors: luozheng 1732036298@qq.com
- * @LastEditTime: 2024-10-18 20:25:43
+ * @LastEditTime: 2024-11-02 14:26:15
  * @FilePath: /FD230/code/sdk/application/wearable/service/msg_center/src/notify/motion_recognition_notification.cpp
  */
 #include "notification_manager.h"
@@ -23,6 +23,7 @@
 #include "vibrator_service.h"
 #include "custom_runtime.h"
 #include "system/include/SystemLogModel.h"
+#include <custom_utils.h>
 namespace OHOS
 {
 
@@ -162,10 +163,12 @@ namespace OHOS
     // 记录运动识别日志
     void MotionRecognitionViewEventListener::record_motion_recognition_log(void)
     {
-        popup_windows_log_data systemlog;
-        systemlog.timestamp = SystemLogModel::GetInstance()->GetCurrentTime();
-        systemlog.type = popup_windows_type::MOTION_RECOGNITION;
-        SystemLogModel::GetInstance()->save_popup_windows_log(systemlog);
+        // popup_windows_log_data systemlog;
+        // systemlog.timestamp = SystemLogModel::GetInstance()->GetCurrentTime();
+        // systemlog.type = popup_windows_type::MOTION_RECOGNITION;
+        // SystemLogModel::GetInstance()->save_popup_windows_log(systemlog);
+        uint8_t type =  0;
+        do_custom_fileoperate_service_check_msg(CUSTOM_FILEOPERATE_MSG_TYPE_POPUP_WINDOWS_DATA_LIST, &type, sizeof(type));
     }
 
     static std::string UpdateNoteLabelText(UILabelExt *&label, const std::string &newText, int id)
index e24b7ef..d38c12c 100644 (file)
@@ -17,6 +17,7 @@
 #include "vibrator_service.h"
 #include "custom_runtime.h"
 #include "system/include/SystemLogModel.h"
+#include <custom_utils.h>
 
 namespace OHOS
 {
@@ -93,10 +94,12 @@ namespace OHOS
     // 记录久坐提醒日志
     void SedentaryReminderViewEventListener::record_sedentary_reminder_log(void)
     {
-        popup_windows_log_data systemlog;
-        systemlog.timestamp = SystemLogModel::GetInstance()->GetCurrentTime();
-        systemlog.type = popup_windows_type::SEDENTARY_REMINDER;
-        SystemLogModel::GetInstance()->save_popup_windows_log(systemlog);
+        // popup_windows_log_data systemlog;
+        // systemlog.timestamp = SystemLogModel::GetInstance()->GetCurrentTime();
+        // systemlog.type = popup_windows_type::SEDENTARY_REMINDER;
+        // SystemLogModel::GetInstance()->save_popup_windows_log(systemlog);
+        uint8_t type =  2;
+        do_custom_fileoperate_service_check_msg(CUSTOM_FILEOPERATE_MSG_TYPE_POPUP_WINDOWS_DATA_LIST, &type, sizeof(type));
     }
 
     static std::string UpdateNoteLabelText(UILabelExt *&label, const std::string &newText, int id)
index def59e4..17ef38d 100644 (file)
@@ -45,6 +45,7 @@
 
 #include "player/include/PlayersModelC.h"
 #include "record/include/RecordingModelC.h"
+#include "system/include/SystemLogModelC.h"
 
 #include "mmc5603_hal.h"
 
@@ -157,6 +158,10 @@ static void custom_fileoperate_service_check_task(void const *arg)
         case CUSTOM_FILEOPERATE_MSG_TYPE_HEART_DATA_LIST:
             save_heart_rate_data();
             break;
+        case CUSTOM_FILEOPERATE_MSG_TYPE_POPUP_WINDOWS_DATA_LIST:
+            // printf("[%d] %d\r\n",__LINE__,mail.data[0]);
+            save_popup_windows_log_c(mail.data[0]);
+            break;
         default:
             PRINT("Unknown CUSTOM_FILE_OPERATE_MSG cmd 0x%02X \r\n", mail.cmd);
             break;
index 4d9bb55..8d7d4dd 100644 (file)
@@ -264,6 +264,7 @@ errcode_t do_custom_cmd_service_check_msg_head(int cmd, void *params, int paraml
 
 #define CUSTOM_FILEOPERATE_MSG_TYPE_RECORDING_SPACE_READ 0x0D //读取录音空间
 #define CUSTOM_FILEOPERATE_MSG_TYPE_HEART_DATA_LIST 0x0E //存储心率数据列表
+#define CUSTOM_FILEOPERATE_MSG_TYPE_POPUP_WINDOWS_DATA_LIST 0x0F //存储弹窗数据
 
 errcode_t uapi_custom_fileoperate_service_init(void);
 errcode_t do_custom_fileoperate_service_check_msg(int cmd, void *params, int paramlen);