添加通知设备切换屏保
authorluozheng <1732036298@qq.com>
Sun, 28 Sep 2025 13:24:19 +0000 (21:24 +0800)
committerluozheng <1732036298@qq.com>
Sun, 28 Sep 2025 13:24:19 +0000 (21:24 +0800)
code/sdk/application/wearable/ln/nativeapp/nativeui/include/uiservice/ui_service.h
code/sdk/application/wearable/ln/nativeapp/nativeui/uiservice/src/ui_service.cpp
code/sdk/zhihui/leiniao/imsl_ln/ln_api.c
code/sdk/zhihui/leiniao/ln_api_cpp/ln_api_interface.cpp
code/sdk/zhihui/leiniao/ln_api_cpp/ln_api_interface.h

index dfa5015..4e87f19 100644 (file)
@@ -60,6 +60,7 @@ typedef enum {
     HAND_CHAT_STAMINA_NOTIFY, // 对话体力与流量通知
     HAND_API_ERROR_NOTIFY, // 协议错误通知
     HAND_BIND_AND_UNBIND_NOTIFY, // 绑定和解绑通知
+    HAND_SCREEN_IMAGE_DOWNLOAD_SUCCESS_NOTIFY, // 屏保下载成功通知
     MAX_NUM_HANDLER, 
 } UiServiceMsgId;
 
index 2b8c73b..d7307d7 100644 (file)
@@ -96,6 +96,7 @@ static void HandChatStaminaNotify(Request *request);
 static void HandDownloadEmojiNotify(Request *request);
 static void HandApiErrorNotify(Request *request);
 static void HandBindAndUnbindNotify(Request *request);
+static void HandScreenImageDownloadSuccessNotify(Request *request);
 // 消息处理程序项数组(每个消息类型对应一个处理函数,函数名以 Handle 开头)
 MsgHandlerEntry msgHandlers[] = {
     {HANDLE_JUMP_OTA_VIEW, HandleJumpOtaView},
@@ -108,6 +109,7 @@ MsgHandlerEntry msgHandlers[] = {
     {HAND_DOWNLOAD_EMOJI_NOTIFY,HandDownloadEmojiNotify},
     {HAND_API_ERROR_NOTIFY,HandApiErrorNotify},
     {HAND_BIND_AND_UNBIND_NOTIFY,HandBindAndUnbindNotify},
+    {HAND_SCREEN_IMAGE_DOWNLOAD_SUCCESS_NOTIFY,HandScreenImageDownloadSuccessNotify},
 };
 /* -------------------------------------------------------------------------- */
 void ScreenTurnOn(int32_t timeout)
@@ -530,6 +532,14 @@ void HandBindAndUnbindNotify(Request *request)
         std::bind(&OHOS::ThunderBirdModel::HandleBindAndUnbind,OHOS::ThunderBirdModel::GetInstance(), is_bind));
 }
 
+// 屏保下载成功通知
+void HandScreenImageDownloadSuccessNotify(Request *request)
+{
+    WEARABLE_LOGE(WEARABLE_LOG_MODULE_UI_SERVICE, "HandScreenImageDownloadSuccessNotify msg_id = %d", request->msgId);
+    // GraphicService::GetInstance()->PostGraphicEvent(
+    //     std::bind(&OHOS::ThunderBirdModel::HandleScreenImageDownloadSuccess,OHOS::ThunderBirdModel::GetInstance()));
+}
+
 /* -------------------------------------------------------------------------- */
 #ifdef __cplusplus
 }
index 784d747..41dd733 100644 (file)
@@ -1111,6 +1111,15 @@ static void ln_http_server_send_task(void const *arg)
                         }
                     }
                 }
+                if(ret == ERRCODE_SUCC)
+                {
+                    WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "[DEVICE_CHARACTER] 屏保下载成功,通知去切换屏保");
+                    push_screen_image_download_success_notification();
+                }
+                else
+                {
+                    WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "[DEVICE_CHARACTER] 屏保下载失败");
+                }
                 /* 释放由发送方分配的指针 */
                 if (req.url) { free(req.url); req.url = NULL; }
                 if (req.save_path) { free(req.save_path); req.save_path = NULL; }
index 0410821..ca7763f 100644 (file)
@@ -221,7 +221,12 @@ void push_bind_and_unbind_notification(int is_bind)
     SendMsgToUIService(HAND_BIND_AND_UNBIND_NOTIFY, 0, &is_bind, sizeof(is_bind));
 }
 
-
+// 推送屏保下载成功通知到UI
+void push_screen_image_download_success_notification(void)
+{
+    WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "[SCREEN_IMAGE_DOWNLOAD_SUCCESS]");
+    SendMsgToUIService(HAND_SCREEN_IMAGE_DOWNLOAD_SUCCESS_NOTIFY, 0, NULL, 0);
+}
 // 检测是否有外网连接
 int check_internet_connection(void)
 {
index b8f6cd1..e97ce42 100644 (file)
@@ -84,6 +84,8 @@ bool switch_expression_video(const char *video_path);
 void push_api_error_notification(const char *message);
 //通知ui绑定和解绑
 void push_bind_and_unbind_notification(int is_bind);
+// 推送屏保下载成功通知到UI
+void push_screen_image_download_success_notification(void);
 
 // 网络连接检测
 int check_internet_connection(void);