{
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 ||
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;
}
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
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
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
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;
}
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());
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) {