系统:优化vote获取显示
authorCaisking <3449750381@qq.com>
Sat, 9 Nov 2024 03:33:21 +0000 (11:33 +0800)
committerCaisking <3449750381@qq.com>
Sat, 9 Nov 2024 03:33:21 +0000 (11:33 +0800)
code/sdk/drivers/peripheral/utils/custom_utils.c
code/sdk/drivers/peripheral/utils/custom_utils.h

index 2a82025..5838ed3 100644 (file)
@@ -1290,23 +1290,35 @@ void uapi_set_screen_on_api(void) {
 }
 
 //获取vote正在执行的状态
-errcode_t get_vote_status(char*str)
-{
-    uint8_t i = 0;
-    uint8_t falg = 0;
-    pm_veto_t *pm_veto_ptr = pm_veto_get_info();
-    for (i = 0; i < PM_ID_MAX; i++) {
-      if (pm_veto_ptr->veto_counts.sub_counts[i] == 1) {
-        sprintf(str, "%s %s", str, get_pm_id_name(i));
-        falg = 1;
-        }
-    }
-    if (falg==0) {
-      str = "没有正在进行的服务";
-      }
-    PRINT("***************get_vote_status***************\n %s\n", str);
-    return ERRCODE_SUCC; 
-}
+// 获取 vote 正在执行的状态  
+errcode_t get_vote_status(char* str, size_t str_size) {  
+    uint8_t i;  
+    uint8_t flag = 0;  
+    pm_veto_t* pm_veto_ptr = pm_veto_get_info();  
+    
+    PRINT("***************get_vote_status***************\n");  
+    
+    // 初始化字符串为空  
+    str[0] = '\0';  
+
+    for (i = 0; i < PM_ID_MAX; i++) {  
+        if (pm_veto_ptr->veto_counts.sub_counts[i] == 1) {  
+            // 拼接当前 pm ID 并添加换行符  
+            snprintf(str + strlen(str), str_size - strlen(str), "%s%s\n", (flag ? " " : ""), get_pm_id_name(i));  
+            flag = 1;  
+            PRINT("vote_status: %s %d\n", get_pm_id_name(i), pm_veto_ptr->veto_counts.sub_counts[i]);  
+        } else {  
+            PRINT("vote_status: %s %d\n", get_pm_id_name(i), pm_veto_ptr->veto_counts.sub_counts[i]);  
+        }  
+    }  
+
+    if (flag == 0) {  
+        snprintf(str, str_size, "没有正在进行的服务");  
+    }  
+
+    PRINT("***************get_vote_status*************** %s\n", str);  
+    return ERRCODE_SUCC;  
+} 
 
 /*系统声音设置*/
 void uapi_systemVolumeSet(int32_t sounding)
index 3c58459..9d65c0d 100644 (file)
@@ -87,7 +87,7 @@ errcode_t uapi_get_WeekStr(char *p_week);
 /*设置屏幕亮屏*/
 void uapi_set_screen_on_api(void);
 /*获取Vote状态*/
-errcode_t get_vote_status(char *str);
+errcode_t get_vote_status(char *str,size_t str_size);
 
 /**
  * @brief 日期格式选项枚举