#include <fstream>
#include "cJSON.h"
#include "wearable_log.h"
+#include "dirent.h"
+#include "DialBinTypes.h"
+#include "DialBinParser.h"
+#include "image_info.h"
+#include "ui_resource_image.h"
+#include "common/image_cache_manager.h"
+
+#define DIAL_DIR "user/res/dials"
// 表盘名称||表盘缩约图||表盘路径
+DialInfo_1 dialInfo_1[MAX_DIALNUM_1];
+
DialInfo dialInfo[MAX_DIALNUM] = {
{"KUMI表盘", "user/res/dialupdate/KUMI.bin", "user/res/dials/KUMI.bin"},
{"星空表盘", "user/res/dialupdate/galaxy.bin", "user/res/dials/galaxy.bin"},
{"小狗表盘", "user/res/dialupdate/dog.bin", "user/res/dials/dog.bin"},
{"招财猫", "user/res/dialupdate/maomao.bin", "user/res/dials/maomao.bin"}};
+int dial_num=0;
+void read_dial(void)
+{
+ DIR *dirp = opendir(DIAL_DIR);
+ // 遍历文件
+ dial_num=0;
+ if (dirp != NULL)
+ {
+ while (dirent * ret=readdir(dirp))
+ {
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_MAIN_SERVICE,"file_name %s \r\n",ret->d_name);
+ if(dialInfo_1[dial_num].dialPath)
+ {
+ free((void*)dialInfo_1[dial_num].dialPath);
+ }
+ char path[124]={0};
+
+ sprintf(path,"user/res/dials/%s",ret->d_name);
+ char * str_1=(char*) malloc(sizeof(path));
+ strcpy(str_1,path);
+ dialInfo_1[dial_num].dialPath=str_1;
+ if(dialInfo_1[dial_num].title)
+ {
+ free((void*)dialInfo_1[dial_num].title);
+ }
+ FILE * fp = fopen(path, "rb");
+ if (fp == nullptr)
+ {
+ return;
+ }
+ OHOS::DialHeader* data = static_cast<OHOS::DialHeader*>
+ (OHOS::DialBinParser::GetInstance()->MallocAndReadBuf(fp, sizeof(OHOS::DialHeader)));
+
+ char * str_2=(char*) malloc(sizeof(data->dialName));
+ strcpy(str_2,data->dialName);
+ dialInfo_1[dial_num++].title=str_2;
+
+ fclose(fp);
+ delete(data);
+ }
+ }
+
+ // 关闭目录
+ closedir(dirp);
+}
+
+void printf_dial(void)
+{
+ for(int i=0;i<dial_num;i++)
+ {
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_MAIN_SERVICE,"file_name %s \r\n", dialInfo_1[i].dialPath);
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_MAIN_SERVICE,"file_title %s \r\n", dialInfo_1[i].title);
+
+ }
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_MAIN_SERVICE,"num %d \r\n",dial_num );
+}
//{"默认表盘", "user/res/dialupdate/defult_dial.bin", "user/res/dials/defult_dial.bin"}
namespace OHOS
{
*/
uint8_t DialUpdateModel::GetDialConfigPath()
{
+ read_dial();
+ printf_dial();
WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "GetDialConfigPath:%d", Current_dial);
return Current_dial;
}