return true;
}
/*初始化表盘背景*/
- bool MainClockView::InitBackground(const char *filename)
- {
+ bool MainClockView::InitBackground(const char *filename) {
+
+ if (filename == nullptr) {
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "filename is null");
+ return false;
+ }
curFace = new UIImageView();
if (curFace == nullptr)
{
if (image == nullptr)
{
WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "LoadAllDialFromRam loadimage %s fail",
- filename);
+ filename);
curFace->SetSrc(DEFAULT_DIALBACK_PATH);
Add(curFace);
return false;
if (ID <= 4) {
ID++;
}
- /*判断是否为当前表盘*/
- if (currentDialID == ID) {
+ /*判断是否为当前表盘 如果是自定义表盘 需要更新*/
+ if (currentDialID == ID && ID >=5) {
WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP,
"UpdateDialSetting: Current dial cannot be updated");
return;
WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "Processing Dial ID %u: Name: %s", i,
dialInfo.dialName.c_str());
- // 加载图像资源
+ // 加载图像资源 (因为自定义表盘可能更新。需要先对其进行卸载)
+ ImageCacheManager::GetInstance().UnloadSingleRes(info->dialImg);
ImageInfo *imageInfo =
ImageCacheManager::GetInstance().LoadSingleRes(info->dialImg, false);
if (imageInfo == nullptr) {