优化屏保下载
authorxue <2144439972@qq.com>
Tue, 14 Oct 2025 04:08:53 +0000 (12:08 +0800)
committerxue <2144439972@qq.com>
Tue, 14 Oct 2025 04:08:53 +0000 (12:08 +0800)
code/sdk/application/wearable/ln/nativeapp/nativeui/ota/include/OtaModel.h
code/sdk/application/wearable/ln/nativeapp/nativeui/ota/src/OtaDownloadView.cpp
code/sdk/application/wearable/ln/nativeapp/nativeui/ota/src/OtaFailedView.cpp
code/sdk/application/wearable/ln/nativeapp/nativeui/ota/src/OtaModel.cpp
code/sdk/application/wearable/ln/nativeapp/nativeui/ota/src/OtaSuccessView.cpp

index 3d8b0ef..fe2e0c7 100644 (file)
@@ -49,6 +49,7 @@ namespace OHOS
         int GetBatteryLevel();
         bool IsBatteryCharging();
         int GetSignalStrength();
+        int GetOtaPb();
         
         // OTA操作
         int StartOtaUpdate();
@@ -75,6 +76,8 @@ namespace OHOS
         virtual ~OtaModel();
         OtaModel(const OtaModel &) = delete;
         OtaModel &operator=(const OtaModel &) = delete;
+
+        int Ota_pb;                // 屏保下载成功标志
         
         int m_otaStatus;           // OTA状态
         int m_otaProgress;         // OTA进度
index fa549fe..2ab1584 100644 (file)
@@ -48,9 +48,9 @@ namespace OHOS
             TextLabel->SetAlign(TEXT_ALIGNMENT_CENTER, TEXT_ALIGNMENT_CENTER);
             TextLabel->SetFont(DEFAULT_VECTOR_FONT_FILENAME, 30);
             TextLabel->SetPosition(90, 108, 180, 82);
-            TextLabel->SetLineBreakMode(UILabel::LINE_BREAK_ELLIPSIS); 
-            TextLabel->SetStyle(STYLE_TEXT_COLOR, 0xffffffff);
             TextLabel->SetLineBreakMode(UILabel::LINE_BREAK_WRAP);
+            TextLabel->SetStyle(STYLE_TEXT_COLOR, 0xffffffff);
+            TextLabel->SetText("正在下载\n\n请勿关闭设备");
             TextLabel->SetVisible(true);
             group->Add(TextLabel);
         }
@@ -83,6 +83,18 @@ namespace OHOS
             group->Add(ProgressLabel);
         }
 
+        RemindLabel = new UILabelExt();
+        if (RemindLabel) {
+            RemindLabel->SetPosition(160, 243, 200, 28);
+            RemindLabel->SetAlign(TEXT_ALIGNMENT_CENTER, TEXT_ALIGNMENT_CENTER);
+            RemindLabel->SetFont(DEFAULT_VECTOR_FONT_FILENAME, 18);
+            RemindLabel->SetStyle(STYLE_TEXT_COLOR, 0xffffffff);
+        
+            RemindLabel->SetText("预计需要18分钟");
+            RemindLabel->SetVisible(true);
+            group->Add(RemindLabel);
+        }
+
 
         return group;
     }
@@ -98,6 +110,7 @@ namespace OHOS
         if (TextLabel) { delete TextLabel; TextLabel = nullptr; }
         if (ProgressLabel) { delete ProgressLabel; ProgressLabel = nullptr; }
         if (ProgressBar) { delete ProgressBar; ProgressBar = nullptr; }
+        if (RemindLabel) { delete RemindLabel; RemindLabel = nullptr; }
     }
 
     void OtaDownloadView::UpdateDownloadProgress(int progress)
@@ -138,13 +151,16 @@ namespace OHOS
         if (TextLabel) {
             switch (type) {
                 case 0: // 屏保下载
-                    TextLabel->SetText("下载屏保中\n请勿关闭设备");
+                    TextLabel->SetText("下载屏保中\n\n请勿关闭设备");
+                    ProgressBar->SetVisible(false);//不显示进度条
+                    RemindLabel->SetVisible(false);
+                    ProgressLabel->SetVisible(false);
                     break;
                 case 1: // 表情下载
-                    TextLabel->SetText("下载表情中\n请勿关闭设备");
+                    TextLabel->SetText("下载表情中\n\n请勿关闭设备");
                     break;
                 default:
-                    TextLabel->SetText("正在下载\n请勿关闭设备");
+                    TextLabel->SetText("正在下载\n\n请勿关闭设备");
                     break;
             }
             TextLabel->Invalidate();
index 4f509ca..0a15cbe 100644 (file)
@@ -48,9 +48,9 @@ namespace OHOS
         // 创建文本标签
         TextLabel = new UILabelExt();
         if (TextLabel) {
-            TextLabel->SetPosition(127, 122, 150, 42);
+            TextLabel->SetPosition(127, 124, 150, 42);
             TextLabel->SetAlign(TEXT_ALIGNMENT_CENTER, TEXT_ALIGNMENT_CENTER);
-            TextLabel->SetFont(DEFAULT_VECTOR_FONT_FILENAME, 24);
+            TextLabel->SetFont(DEFAULT_VECTOR_FONT_FILENAME, 30);
             TextLabel->SetStyle(STYLE_TEXT_COLOR, 0xffffffff);
             TextLabel->SetText("更新未完成");
             TextLabel->SetVisible(true);
index 128f0e6..f0e0e9a 100644 (file)
 namespace OHOS
 {
     static OtaModel *g_pOtaModel = nullptr;
-
+    
     OtaModel::OtaModel()
     {
         WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "OtaModel::OtaModel");
         g_pOtaModel = this;
-        
+        Ota_pb = 0;
         m_otaStatus = 0;
         m_otaProgress = 0;
         m_countdownActive = false;
@@ -411,14 +411,7 @@ namespace OHOS
         if(OtaDownloadView::GetInstance())
         {
             OtaView::GetInstance()->ChangeView(OtaView::OTA_VIEW_DOWNLOAD, OtaView::OTA_VIEW_UPDATE_SUCCESS);
-            if(type == 0) //表情切换
-            {
-                OtaSuccessView::GetInstance()->UpdateDownloadSuccess("屏保下载成功");
-            }
-            else if(type == 1) //屏保切换
-            {
-                OtaSuccessView::GetInstance()->UpdateDownloadSuccess("表情下载成功");
-            }
+                OtaSuccessView::GetInstance()->UpdateDownloadSuccess("下载成功");
         }
     }
 
index 7261697..00d0430 100644 (file)
@@ -51,9 +51,9 @@ namespace OHOS
         // 创建文本标签
         TextLabel = new UILabelExt();
         if (TextLabel) {
-            TextLabel->SetPosition(127, 122, 164, 42);
-            TextLabel->SetAlign(TEXT_ALIGNMENT_CENTER, TEXT_ALIGNMENT_CENTER);
-            TextLabel->SetFont(DEFAULT_VECTOR_FONT_FILENAME, 24);
+            TextLabel->SetPosition(140, 125, 164, 42);
+            TextLabel->SetAlign(TEXT_ALIGNMENT_LEFT, TEXT_ALIGNMENT_LEFT);
+            TextLabel->SetFont(DEFAULT_VECTOR_FONT_FILENAME, 30);
             TextLabel->SetStyle(STYLE_TEXT_COLOR, 0xffffffff);
             TextLabel->SetLineBreakMode(UILabel::LINE_BREAK_WRAP);
             TextLabel->SetText("更新成功");
@@ -63,7 +63,7 @@ namespace OHOS
         LittleTextLabel = new UILabelExt();
         if (LittleTextLabel)
         {
-            LittleTextLabel->SetPosition(80, 184, 220, 28);
+            LittleTextLabel->SetPosition(80, 184, 220, 60);
             LittleTextLabel->SetText("你的设备已是最新版本");
             LittleTextLabel->SetVisible(true);
             group->Add(LittleTextLabel);
@@ -84,7 +84,7 @@ namespace OHOS
         if (RemindIcon)
         {
             RemindIcon->SetAutoEnable(false);
-            RemindIcon->SetPosition(160, 277, 22, 22);
+            RemindIcon->SetPosition(159, 276, 22, 22);
             RemindIcon->SetResizeMode(UIImageView::CONTAIN);
             RemindIcon->SetSrc("/user/res/volume_up.bin");
             RemindIcon->SetVisible(true);
@@ -121,9 +121,24 @@ namespace OHOS
 
     void OtaSuccessView::UpdateDownloadSuccess(std::string content)
     {
+        if(content == "下载失败")
+        {
+            RemindIcon1->SetSrc("/user/res/warning.bin");
+            RemindIcon->SetVisible(false);
+            RemindLabel->SetVisible(false);
+            TextLabel->SetText(content.c_str());
+            LittleTextLabel->SetText("请在小程序重新下载\n继续下载失败的文件");
+            LittleTextLabel->SetX(98);
+            TextLabel->Invalidate();
+            LittleTextLabel->Invalidate();
+            RemindLabel->Invalidate();
+            RemindIcon1->Invalidate();
+            RemindIcon->Invalidate();
+            return;
+        }
         TextLabel->SetText(content.c_str());
         LittleTextLabel->SetVisible(false);
         TextLabel->Invalidate();
-
+     
     }
 }