gengxin
author@CHENG <2393524978@qq.com>
Tue, 2 Jul 2024 11:29:29 +0000 (19:29 +0800)
committer@CHENG <2393524978@qq.com>
Tue, 2 Jul 2024 11:29:29 +0000 (19:29 +0800)
2.sdk/project/Z5_WL_K7/gui/lv_watch/resource/png/primary_function/ICON_AIGC_ASSISTANT.png
2.sdk/sdk/gui/lv_watch/lv_apps/custom_function/mmi_aigc_data.c
2.sdk/sdk/gui/lv_watch/lv_apps/custom_function/mmi_aigc_ui.c
2.sdk/sdk/gui/lv_watch/lv_apps/custom_function/mmi_aigc_ui.h

index 9f513b3..5abe183 100644 (file)
Binary files a/2.sdk/project/Z5_WL_K7/gui/lv_watch/resource/png/primary_function/ICON_AIGC_ASSISTANT.png and b/2.sdk/project/Z5_WL_K7/gui/lv_watch/resource/png/primary_function/ICON_AIGC_ASSISTANT.png differ
index fda2149..9ecd065 100644 (file)
@@ -300,6 +300,8 @@ static void mmi_aigc_send_trans_start_data_process(void * data_ptr, uint32_t dat
        if(0 > ret)
        {
                AIGC_DEBUG_PRINTF("[@CHENG_DEBUG][%s][%d]: error=%d,send fail\n", __FUNCTION__, __LINE__, ret);
+
+               mmi_aigc_trans_text_start_msg_send_fail();
        }
 }
 
@@ -311,6 +313,8 @@ static void mmi_aigc_send_trans_audio_data_process(void * data_ptr, uint32_t dat
        if(0 > ret)
        {
                AIGC_DEBUG_PRINTF("[@CHENG_DEBUG][%s][%d]: error=%d,send fail\n", __FUNCTION__, __LINE__, ret);
+
+               mmi_aigc_trans_text_audio_msg_send_fail();
        }
 }
 
index ab0954d..b7b32a1 100644 (file)
@@ -295,6 +295,34 @@ void mmi_aigc_trans_text_stop_screen_update(void)
        lv_task_once(task_p);   
 }
 
+static void mmi_aigc_trans_text_fail_screen_task_cb(void)
+{
+       AIGC_DEBUG_PRINTF("[@CHENG_DEBUG][%s][%d]: \n", __FUNCTION__, __LINE__);
+
+       mmi_aigc_default_screen_display();
+}
+
+void mmi_aigc_trans_text_start_msg_send_fail(void)
+{
+       mmi_aigc_trans_websocket_close();
+       mmi_aigc_listening_stop(true);
+       
+       lv_aigc_ext_t * ext = (lv_aigc_ext_t *)mmi_aigc_actId_ext_get(ACT_ID_AIGC_MAIN);
+       if(NULL == ext) 
+               return ;
+
+       lv_obj_set_hidden(ext->listening_signal_weak_label, false);
+       
+       lv_task_t * task_p = lv_task_create(mmi_aigc_trans_text_fail_screen_task_cb, 1500, LV_TASK_PRIO_HIGH, NULL);
+       lv_task_once(task_p);   
+}
+
+void mmi_aigc_trans_text_audio_msg_send_fail(void)
+{
+       mmi_aigc_trans_websocket_close();
+       mmi_aigc_trans_websocket_open();
+}
+
 
 char * mmi_aigc_chat_result_text_get(uint32_t * data_len)
 {
@@ -1498,7 +1526,6 @@ void mmi_aigc_listening_screen_display(void)
        // res
        mmi_aigc_msg_data_clean(); 
        mmi_aigc_tts_audio_ll_clean();
-       mmi_aigc_send_trans_start_msg(NULL, 0);
 
        if(NULL != ext->record_buffer)
        {
@@ -1515,6 +1542,8 @@ void mmi_aigc_listening_screen_display(void)
                if(MMI_AIGC_TTS_AUDIO_PRI == Hal_Audio_Manage_Start_Req(MMI_AIGC_TTS_AUDIO_PRI, mmi_aigc_listening_audio_ctrl_callback))
                {
                        AIGC_DEBUG_PRINTF("[@CHENG_DEBUG][%s][%d]: \n", __FUNCTION__, __LINE__);
+
+                       mmi_aigc_send_trans_start_msg(NULL, 0);
                        
                        s_aigc_recording_sent_size = 0;
                        Hal_Record_Buffer_With_Format_Req(ext->record_buffer,
@@ -1549,22 +1578,18 @@ void mmi_aigc_listening_screen_display(void)
        lv_obj_set_style_local_bg_color(ext->gif_listening->container, LV_CONT_PART_MAIN, LV_STATE_DEFAULT, LV_COLOR_BLACK);
        lv_obj_align(ext->gif_listening->container, NULL, LV_ALIGN_CENTER, 0, 0);
 
-       //lv_obj_t * imgbtn = lv_imgbtn_create(cont, NULL);
-       //lv_imgbtn_set_src(imgbtn, LV_BTN_STATE_RELEASED, ICON_AIGC_RECORD_BUTTON_PRESSED);
-       //lv_imgbtn_set_src(imgbtn, LV_BTN_STATE_PRESSED, ICON_AIGC_RECORD_BUTTON_PRESSED);
-       //lv_obj_set_event_cb(imgbtn, mmi_aigc_record_button_event_cb);
-    //lv_obj_add_protect(imgbtn, LV_PROTECT_PRESS_LOST);
-       //lv_watch_obj_add_element(imgbtn);
-       //lv_obj_align(imgbtn, NULL, LV_ALIGN_IN_BOTTOM_MID, 0, -20);
-
-       //lv_obj_t * imgbtn_label = lv_label_create(imgbtn, NULL);
-       //lv_obj_add_style(imgbtn_label, LV_LABEL_PART_MAIN, &lv_watch_font26);
-       //lv_label_set_align(imgbtn_label, LV_LABEL_ALIGN_CENTER);
-       //lv_label_set_text_id(imgbtn_label, WATCH_TEXT_ID_AIGC_TALK_FINISH);
-       //lv_obj_align(imgbtn_label, NULL, LV_ALIGN_CENTER, 0, 0);
+       // signal weak
+       lv_obj_t * label = lv_label_create(cont, NULL);
+       lv_obj_add_style(label, LV_OBJ_PART_MAIN, &lv_watch_font26);
+       lv_label_set_text_id(label, WATCH_TEXT_ID_SIGNAL_WEAK);
+       lv_label_set_align(label, LV_LABEL_ALIGN_CENTER);
+       lv_obj_align(label, NULL, LV_ALIGN_CENTER, 0, -10);
+       lv_obj_set_click(label, false);
+       ext->listening_signal_weak_label = label;
 
        lv_obj_set_hidden(ext->cont_default, true);
        lv_obj_set_hidden(ext->cont_listening, false);
+       lv_obj_set_hidden(ext->listening_signal_weak_label, true);
        lv_obj_set_hidden(ext->cont_listening_middle, true);
        lv_obj_set_hidden(ext->cont_thinking, true);
        lv_obj_set_hidden(ext->cont_timeout, true);
index a2c92b9..3a8aa70 100644 (file)
@@ -108,6 +108,7 @@ typedef struct
        //TIMER_ID delete_timer_id;
        lv_obj_t * cont_default;
        lv_obj_t * cont_listening;
+       lv_obj_t * listening_signal_weak_label;
        lv_obj_t * cont_listening_middle;
        lv_obj_t * cont_thinking;
        lv_obj_t * cont_timeout;