#1123系统:内存管理设计(表盘管理)
authorCaisking <3449750381@qq.com>
Mon, 28 Oct 2024 12:10:14 +0000 (20:10 +0800)
committerCaisking <3449750381@qq.com>
Mon, 28 Oct 2024 12:10:14 +0000 (20:10 +0800)
code/sdk/application/wearable/fd230app/nativeui/set_dial/include/SetDialModel.h
code/sdk/application/wearable/fd230app/nativeui/set_dial/src/SetDialModel.cpp
code/sdk/application/wearable/fd230app/nativeui/system/include/SystemLogModel.h
code/sdk/application/wearable/service/ble_service/bleservice/bleEvent.c

index beb9165..4165e75 100644 (file)
@@ -37,10 +37,10 @@ namespace OHOS
     #define DIAL_NAME_LENGTH 50
     #define DIAL_ID_PATH "user/userdata/dial_id.bin"
 
-    #define DIAL_MAX_NUM 21
+    #define DIAL_MAX_NUM 10
     #define DIAL_CUSTOM_MAX_NUM 1
-    #define DIAL_OFFLINE_DIAL_MAX_NUM 14
-    #define DIAL_RES_DIAL_MAX_NUM 6
+    #define DIAL_OFFLINE_DIAL_MAX_NUM 3
+    #define DIAL_RES_DIAL_MAX_NUM 5
 
     
     class SetDialModel
index 7412fbe..99e5702 100644 (file)
@@ -57,6 +57,7 @@ bool SetDialModel::saveDialfile() {
     int size = fwrite(buf, 1, DIAL_ID_LENGTH + DIAL_NAME_LENGTH, fp);
     if (DIAL_ID_LENGTH + DIAL_NAME_LENGTH != size) {
       WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, " fwrite is fail! %d", size);
+      fclose(fp);
       return false;
     } else {
       WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, " fwrite is succ  %d !",
@@ -152,7 +153,10 @@ void SetDialModel::RegisterDial(uint16_t ID, const char *dialname,
                 dialname);
 
   LoadAllDial();
+  WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, " RegisterDial ble is ok!");
+
   saveDialfile();
+  WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, " RegisterDial ble save is ok!");
 }
 
 /* 打印map */
@@ -902,6 +906,8 @@ void SetDialModel::CheckDialSpace() {
     uint8_t offlinedial_num =
         DIAL_OFFLINE_DIAL_MAX_NUM -
         (GetDialCount() - DIAL_CUSTOM_MAX_NUM - DIAL_RES_DIAL_MAX_NUM);
+    WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP,
+                    "CheckDialSpace: Offline dial count %d", offlinedial_num);
     if (offlinedial_num <= 0) {
       //离线表盘个数已到上限
       WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP,
index 8da4aee..48ddb04 100644 (file)
 #define TOTAL_RING_SPACE (2 * 1024 * 1024) // 2M
 #define TOTAL_RING_SPACE_PATH "/user/music/ring"
 
-#define TOTAL_DIAL_SPACE (24 * 1024 * 1024) // 24M
+#define TOTAL_DIAL_SPACE (5 * 1024 * 1024) // 5M
 #define TOTAL_DIAL_SPACE_PATH "/user/dial/offline_dial"
 
-#define TOTAL_RES_DIAL_SPACE (7 * 1024 * 1024) // 7M
+#define TOTAL_RES_DIAL_SPACE (5 * 1024 * 1024) // 5M
 #define TOTAL_RES_DIAL_SPACE_PATH "/user/dial/res_dial"
 
 #define TOTAL_CUSTOM_DAIL_SPACE (1 * 1024 * 1024) // 1M
index ecfe67c..03cec80 100644 (file)
@@ -53,7 +53,7 @@ extern "C" {
 #define AI_TXT_BUF_MAX_LEN 1024*3 //json解析失败\r
 \r
 \r
-#define  MAX_BLE_EVENT_DIAL_NUM  (20) //表盘最大数量\r
+#define  MAX_BLE_EVENT_DIAL_NUM  (9) //表盘最大数量\r
 \r
 uint32_t packdataLen = 0;\r
 uint32_t totalDataLen = 0;\r
@@ -7326,41 +7326,42 @@ errcode_t decode_single_dial_info(ble_read_data *buffer_handle)
     filename[dialinfo.file_name_len] ='\0';\r
     //在runtime中备份一个安装文件名。\r
     uapi_dev_runtime_set_dialname(filename);\r
-    //存表盘id\r
-    ble_dial_uid = dialinfo.dial_uid;\r
-    // if(ble_dial_uid<=4)\r
-    // ble_dial_uid++;\r
 \r
-    if (check_dial_freespace(ble_dial_uid, file_size) == false)\r
+    if (check_dial_freespace(dialinfo.dial_uid, file_size) == false)\r
     {\r
 \r
         TRANSMIT_DATA=TRANS_DIAL_FAIL;\r
         CustomEventPublish(TOPIC_EVENT_BLE_TRANSMIT,&TRANSMIT_DATA,1);\r
         return ERRCODE_FAIL;\r
     }\r
-    else\r
-    {\r
-        buffer_handle->file_recv_stat.file_name = filename;\r
-        buffer_handle->file_recv_stat.file_size = file_size;\r
-        buffer_handle->file_recv_stat.file_type = 3;//表盘\r
-        WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP,"  filetype = %d, file_name=%s, file_size=%d , dial_uid %04X ,dial_count %d, dial_filetype %d\n",\r
-            buffer_handle->file_recv_stat.file_type,\r
-            buffer_handle->file_recv_stat.file_name,\r
-            buffer_handle->file_recv_stat.file_size,\r
-            dialinfo.dial_uid,\r
-            dialinfo.dial_count,\r
-            dialinfo.file_type\r
 \r
-        );\r
-        buffer_handle->file_recv_stat.received_size = 0;\r
-        buffer_handle->file_recv_stat.lrcvalue = 0;\r
-        buffer_handle->receive_file_flag = 1;\r
-        uapi_ble_connect_param_update(BLE_CONNECT_INTERVAL_HIGH);\r
+    //存表盘id\r
+    ble_dial_uid = dialinfo.dial_uid;\r
+    // if(ble_dial_uid<=4)\r
+    // ble_dial_uid++;\r
 \r
-        TRANSMIT_DATA=TRANS_DIAL_TRANSMITTING;\r
-        CustomEventPublish(TOPIC_EVENT_BLE_TRANSMIT,&TRANSMIT_DATA,1);\r
-        return ERRCODE_SUCC;\r
-    }\r
+\r
+    buffer_handle->file_recv_stat.file_name = filename;\r
+    buffer_handle->file_recv_stat.file_size = file_size;\r
+    buffer_handle->file_recv_stat.file_type = 3;//表盘\r
+    WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP,"  filetype = %d, file_name=%s, file_size=%d , dial_uid %04X ,dial_count %d, dial_filetype %d\n",\r
+        buffer_handle->file_recv_stat.file_type,\r
+        buffer_handle->file_recv_stat.file_name,\r
+        buffer_handle->file_recv_stat.file_size,\r
+        dialinfo.dial_uid,\r
+        dialinfo.dial_count,\r
+        dialinfo.file_type\r
+\r
+    );\r
+    buffer_handle->file_recv_stat.received_size = 0;\r
+    buffer_handle->file_recv_stat.lrcvalue = 0;\r
+    buffer_handle->receive_file_flag = 1;\r
+    uapi_ble_connect_param_update(BLE_CONNECT_INTERVAL_HIGH);\r
+\r
+    TRANSMIT_DATA=TRANS_DIAL_TRANSMITTING;\r
+    CustomEventPublish(TOPIC_EVENT_BLE_TRANSMIT,&TRANSMIT_DATA,1);\r
+    return ERRCODE_SUCC;\r
+    \r
 \r
   \r
 \r