表盘:修复离线表盘个数错误
authorCaisking <3449750381@qq.com>
Tue, 29 Oct 2024 02:44:56 +0000 (10:44 +0800)
committeraliyun:aliyun0384013184_1JeGs <3449750381@qq.com>
Tue, 29 Oct 2024 03:59:29 +0000 (03:59 +0000)
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/service/ble_service/bleservice/bleEvent.c

index 4165e75..9b37bc1 100644 (file)
@@ -103,6 +103,7 @@ namespace OHOS
         uint16_t download_DialID = 1028;
         uint32_t download_dialSize = 0;
         bool downloadstate = false;
+        uint8_t downloadnum = 0;
     };
 }
 
index 99e5702..64fe754 100644 (file)
@@ -37,9 +37,9 @@ std::unordered_map<uint16_t, std::string> registeredDials{
     {DEFAULT_DIAL_ID_0, "KUMI"},         // 为了预防显示
     {DEFAULT_DIAL_ID, "obsidianrhythm"}, // 默认表盘修改为 黑耀律动
 #endif
-    {DEFAULT_DIAL_ID_1, "satellite"},     // 卫星表盘
-    {DEFAULT_DIAL_ID_2, "birdie"},        // 飞鸟表盘
-    {DEFAULT_DIAL_ID_3, "dawninsight"},   // 晨曦智影
+    {DEFAULT_DIAL_ID_1, "satellite"},       // 卫星表盘
+    {DEFAULT_DIAL_ID_2, "birdie"},          // 飞鸟表盘
+    {DEFAULT_DIAL_ID_3, "dawninsight"},     // 晨曦智影
     {MAX_DEFAULT_DIAL_ID, "mirrorvoyager"}, // 镜影行者
 
 };
@@ -468,7 +468,7 @@ void SetDialModel::LoadAllDial() {
 void SetDialModel::LoadAllDialFromFs() {
   int ret;
   struct dirent *direntp;
-
+  downloadnum = 0; //记录离线表盘个数
   // 打开目录
   DIR *dirp = opendir(APP_DOWNLOAD_DIAL_PATH);
   // 遍历文件
@@ -478,6 +478,7 @@ void SetDialModel::LoadAllDialFromFs() {
       int ret = ParseDialHeader(DOWNLOADDIAL, direntp->d_name, dialInfo);
       if (ret == 0) {
         dialInfoList.push_back(dialInfo);
+        downloadnum++;
       }
     }
   }
@@ -904,10 +905,9 @@ void SetDialModel::CheckDialSpace() {
   if (download_DialID > 5) {
     //离线表盘 判断当前离线表盘个数
     uint8_t offlinedial_num =
-        DIAL_OFFLINE_DIAL_MAX_NUM -
-        (GetDialCount() - DIAL_CUSTOM_MAX_NUM - DIAL_RES_DIAL_MAX_NUM);
+        DIAL_OFFLINE_DIAL_MAX_NUM - downloadnum; //最多下载3个
     WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP,
-                    "CheckDialSpace: Offline dial count %d", offlinedial_num);
+                  "CheckDialSpace: Offline dial count %d", offlinedial_num);
     if (offlinedial_num <= 0) {
       //离线表盘个数已到上限
       WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP,
index 32b7862..f7ed381 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  (9) //表盘最大数量\r
+#define  MAX_BLE_EVENT_DIAL_NUM  (10) //表盘最大数量\r
 \r
 uint32_t packdataLen = 0;\r
 uint32_t totalDataLen = 0;\r