From: luozheng <1732036298@qq.com> Date: Fri, 22 Nov 2024 07:37:54 +0000 (+0800) Subject: debug界面弹窗内容不清空改为限制50条 X-Git-Tag: fd230_release_V1.3.102~29^2~8 X-Git-Url: http://git.snicker.com.cn/css/static/gitweb.css?a=commitdiff_plain;h=48402ef7f91b7326fb0c1424901086b342acccaa;p=mirrors%2FFD230.git debug界面弹窗内容不清空改为限制50条 --- diff --git a/code/sdk/application/wearable/fd230app/nativeui/system/include/SystemLogModel.h b/code/sdk/application/wearable/fd230app/nativeui/system/include/SystemLogModel.h index 11ce5b1ab..0368b7faa 100644 --- a/code/sdk/application/wearable/fd230app/nativeui/system/include/SystemLogModel.h +++ b/code/sdk/application/wearable/fd230app/nativeui/system/include/SystemLogModel.h @@ -123,8 +123,7 @@ private: std::deque logData; // 存储日志数据 std::deque nextday_log; // 存储nextday时间戳 - std::deque - popup_windows_log; // 存储popup_windows时间戳 + std::deque popup_windows_log; // 存储popup_windows时间戳 bool uart_status{false}; }; diff --git a/code/sdk/application/wearable/fd230app/nativeui/system/src/SystemLogModel.cpp b/code/sdk/application/wearable/fd230app/nativeui/system/src/SystemLogModel.cpp index e8276fb6b..231b4bd7d 100644 --- a/code/sdk/application/wearable/fd230app/nativeui/system/src/SystemLogModel.cpp +++ b/code/sdk/application/wearable/fd230app/nativeui/system/src/SystemLogModel.cpp @@ -75,7 +75,7 @@ void start_report_nextday_log_end(void) { } // 清空popup_windows日志 void nextday_clear_popup_windows_log(void) { - OHOS::SystemLogModel::GetInstance()->clear_popup_windows_log(); + // OHOS::SystemLogModel::GetInstance()->clear_popup_windows_log(); } void save_popup_windows_log_c(int type) { @@ -340,8 +340,12 @@ bool SystemLogModel::save_popup_windows_log(popup_windows_log_data data) { // 保存新日志 popup_windows_log.push_back(data); + // 如果超过限制,删除最早的日志 + while (popup_windows_log.size() > 50) { + popup_windows_log.pop_front(); // 从前端删除最早的日志 + } // 将日志写入文件 - std::ofstream outFile(SYSTEM_LOG_FILE_PATH_POPUP_WINDOWS, std::ios::app); + std::ofstream outFile(SYSTEM_LOG_FILE_PATH_POPUP_WINDOWS, std::ios::trunc); if (!outFile) { WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "Failed to open log file for writing"); @@ -349,7 +353,9 @@ bool SystemLogModel::save_popup_windows_log(popup_windows_log_data data) { } // 将结构体中的数据转换为字符串格式写入文件 - outFile << static_cast(data.type) << " " << data.timestamp << std::endl; + for (const auto &log : popup_windows_log) { + outFile << static_cast(log.type) << " " << log.timestamp << std::endl; + } outFile.close(); return true; } @@ -388,7 +394,20 @@ bool SystemLogModel::load_popup_windows_log() { popup_windows_log_data data; int typeInt; if (ss >> typeInt >> data.timestamp) { - data.type = static_cast(typeInt); + switch(typeInt) + { + 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; + } popup_windows_log.push_back(data); } } @@ -403,6 +422,7 @@ SystemLogModel::get_popup_windows_log() const { } // 获取日志大小 size_t SystemLogModel::get_popup_windows_log_size() const { + WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP,"log size:%d",popup_windows_log.size()); return popup_windows_log.size(); }