修改650表盘显示异常的bug 2122/1 2122/head 2124/target/1 2125/target/1
authorCaisking <Casiking@zhihuishixun.com>
Thu, 21 Aug 2025 12:12:08 +0000 (20:12 +0800)
committerCaisking <Casiking@zhihuishixun.com>
Thu, 21 Aug 2025 12:12:08 +0000 (20:12 +0800)
code/sdk/application/wearable/fd230/nativeapp/nativeui/aod_view/src/AodView.cpp
code/sdk/application/wearable/fd230/nativeapp/nativeui/main/include/DialBinParser.h
code/sdk/application/wearable/fd230/nativeapp/nativeui/main/include/DialBinParserManager.h
code/sdk/application/wearable/fd230/nativeapp/nativeui/set_dial/src/SetDialModel.cpp

index f56d0d4..124b29d 100644 (file)
@@ -84,19 +84,13 @@ UIViewGroup *AodView::InitAodOffDial(DialSetting &setting)
 {
     DialPreviewInfo preview;
     memset_s(&preview, sizeof(preview), 0, sizeof(preview));
-    WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "dialFullName: %s", setting.dialFullName.c_str());
     FILE *fp = fopen(setting.dialFullName.c_str(), "rb");
     if (fp == nullptr) {
-        WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "AodView::InitAodOffDial: Failed to open the dial file.\n");
         return nullptr;
     }
-    bool ret = false;
-    #ifdef FD230_650_0723
-    ret = DialBinParserManager::GetInstance()->GetDialPreviewInfo(fp, &preview);
-    #endif
+    bool ret = DialBinParserManager::GetInstance()->GetDialPreviewInfo(setting.dialFullName, fp, &preview);
     fclose(fp);
     if (!ret) {
-        WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "AodView::InitAodOffDial: Failed to get the dial preview info.\n");
         return nullptr;
     }
     if (preview.capability == DIAL_DISPLAY_CAPABILITY_AMBITIENT_ONLY ||
@@ -104,8 +98,7 @@ UIViewGroup *AodView::InitAodOffDial(DialSetting &setting)
         DialViewGroup *dial = new DialViewGroup;
         dial->SetDial(setting.dialFullName, DisplayState::AOD);
         return dial;
-    } 
-    WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "AodView::InitAodOffDial: The dial does not support AOD.\n");
+    }
     return nullptr;
 }
 
index 362c930..0979f60 100644 (file)
@@ -21,8 +21,8 @@
 namespace OHOS {\r
 class DialBinParser : public DialBinParserInterface {\r
 public:\r
-    bool UpdateDial(const std::string& file, FILE* fp, DialViewGroup* group, DisplayState state) override;\r
-    bool GetDialPreviewInfo(FILE* fp, DialPreviewInfo* info) override;\r
+     bool UpdateDial(const std::string& file, FILE* fp, DialViewGroup* group, DisplayState state) override;\r
+     bool GetDialPreviewInfo(const std::string& file, FILE* fp, DialPreviewInfo* info) override;\r
     DialBinParser();\r
     ~DialBinParser() override;\r
 \r
index 27d1585..caeea7d 100644 (file)
@@ -17,7 +17,8 @@ namespace OHOS {
 class DialBinParserInterface {
 public:
     virtual bool UpdateDial(const std::string& file, FILE* fp, DialViewGroup* group, DisplayState state) = 0;
-    virtual bool GetDialPreviewInfo(FILE* fp, DialPreviewInfo* info) = 0;
+    virtual bool GetDialPreviewInfo(const std::string& file, FILE* fp, DialPreviewInfo* info) = 0;
+    virtual void SetEncryptData(uint8_t *data, uint32_t len) {}
     virtual ~DialBinParserInterface() {}
 }; // class DialBinParserInterface
 
@@ -25,7 +26,7 @@ class DialBinParserManager {
 public:
     static DialBinParserManager *GetInstance(void);
     bool UpdateDial(const std::string &file, FILE *fp, DialViewGroup *group, DisplayState state);
-    bool GetDialPreviewInfo(FILE *fp, DialPreviewInfo *info);
+    bool GetDialPreviewInfo(const std::string& file, FILE *fp, DialPreviewInfo *info, bool isNeedVerify = false);
     bool RegisterParser(const std::string &version, DialBinParserInterface *parser);
 
     uint8_t GetSupportVersionCnt() const
@@ -46,6 +47,7 @@ private:
     DialBinParserManager();
     virtual ~DialBinParserManager();
     DialBinParserInterface *GetParser(FILE* fp) const;
+    DialBinParserInterface *GetParser(const std::string &fileName, FILE *fp, bool isNeedVerify = false) const;
     static constexpr uint8_t PARSER_MAX_NUM = 8;
     struct Pair {
         std::string version;
index 59b192b..32ddbfd 100644 (file)
@@ -624,9 +624,7 @@ int32_t SetDialModel::ParseDialHeader(int type, const std::string &dialFileName,
   }
   DialPreviewInfo preInfo{0};
   bool ret = false;
-  #ifdef FD230_650_0723
-  ret = DialBinParserManager::GetInstance()->GetDialPreviewInfo(fp, &preInfo);
-  #endif
+  ret = DialBinParserManager::GetInstance()->GetDialPreviewInfo(dialFullName, fp, &preInfo);
   if (!ret) {
     WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "GetDialPreviewInfo %s fail",
                   dialFullName.c_str());
@@ -643,6 +641,7 @@ int32_t SetDialModel::ParseDialHeader(int type, const std::string &dialFileName,
                 preInfo.imgId);
   WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "ParseDialHeader imageOffset: %u",
                 preInfo.offset);
+                
   ImageInfo *info = ImageCacheManager::GetInstance().LoadOneInMultiRes(
       preInfo.imgId, dialFullName, fp, false, preInfo.offset);
   if (info == nullptr) {