From 28ea96fddb9bd6755412b5e7e9b52e9aa171c768 Mon Sep 17 00:00:00 2001 From: Caisking Date: Thu, 21 Aug 2025 20:12:08 +0800 Subject: [PATCH] =?utf8?q?=E4=BF=AE=E6=94=B9650=E8=A1=A8=E7=9B=98=E6=98=BE?= =?utf8?q?=E7=A4=BA=E5=BC=82=E5=B8=B8=E7=9A=84bug?= MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit --- .../fd230/nativeapp/nativeui/aod_view/src/AodView.cpp | 11 ++--------- .../nativeapp/nativeui/main/include/DialBinParser.h | 4 ++-- .../nativeui/main/include/DialBinParserManager.h | 6 ++++-- .../nativeapp/nativeui/set_dial/src/SetDialModel.cpp | 5 ++--- 4 files changed, 10 insertions(+), 16 deletions(-) diff --git a/code/sdk/application/wearable/fd230/nativeapp/nativeui/aod_view/src/AodView.cpp b/code/sdk/application/wearable/fd230/nativeapp/nativeui/aod_view/src/AodView.cpp index f56d0d43f..124b29d92 100644 --- a/code/sdk/application/wearable/fd230/nativeapp/nativeui/aod_view/src/AodView.cpp +++ b/code/sdk/application/wearable/fd230/nativeapp/nativeui/aod_view/src/AodView.cpp @@ -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; } diff --git a/code/sdk/application/wearable/fd230/nativeapp/nativeui/main/include/DialBinParser.h b/code/sdk/application/wearable/fd230/nativeapp/nativeui/main/include/DialBinParser.h index 362c93050..0979f6030 100644 --- a/code/sdk/application/wearable/fd230/nativeapp/nativeui/main/include/DialBinParser.h +++ b/code/sdk/application/wearable/fd230/nativeapp/nativeui/main/include/DialBinParser.h @@ -21,8 +21,8 @@ namespace OHOS { class DialBinParser : public DialBinParserInterface { public: - bool UpdateDial(const std::string& file, FILE* fp, DialViewGroup* group, DisplayState state) override; - bool GetDialPreviewInfo(FILE* fp, DialPreviewInfo* info) override; + bool UpdateDial(const std::string& file, FILE* fp, DialViewGroup* group, DisplayState state) override; + bool GetDialPreviewInfo(const std::string& file, FILE* fp, DialPreviewInfo* info) override; DialBinParser(); ~DialBinParser() override; diff --git a/code/sdk/application/wearable/fd230/nativeapp/nativeui/main/include/DialBinParserManager.h b/code/sdk/application/wearable/fd230/nativeapp/nativeui/main/include/DialBinParserManager.h index 27d158537..caeea7d47 100644 --- a/code/sdk/application/wearable/fd230/nativeapp/nativeui/main/include/DialBinParserManager.h +++ b/code/sdk/application/wearable/fd230/nativeapp/nativeui/main/include/DialBinParserManager.h @@ -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; diff --git a/code/sdk/application/wearable/fd230/nativeapp/nativeui/set_dial/src/SetDialModel.cpp b/code/sdk/application/wearable/fd230/nativeapp/nativeui/set_dial/src/SetDialModel.cpp index 59b192b03..32ddbfd5c 100644 --- a/code/sdk/application/wearable/fd230/nativeapp/nativeui/set_dial/src/SetDialModel.cpp +++ b/code/sdk/application/wearable/fd230/nativeapp/nativeui/set_dial/src/SetDialModel.cpp @@ -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) { -- 2.17.1