void ThunderBirdAdjustView::ShowUnbindWarning()
{
if (TextLabel)
- {
- TextLabel->SetPosition(0, 148, 360, 42);
+ {
+ TextLabel->SetPosition(0, 120, 360, 42);
TextLabel->SetAlign(TEXT_ALIGNMENT_CENTER, TEXT_ALIGNMENT_CENTER);
- TextLabel->SetText("设å¤\87已解ç»\91");
+ TextLabel->SetText("è§£ç»\91æ\88\90å\8a\9fï¼\81");
TextLabel->SetVisible(true);
}
if (RemindLabel)
{
- RemindLabel->SetPosition(0, 230, 360, 28);
- RemindLabel->SetText("等待设备重启");
+ RemindLabel->SetPosition(0, 190, 360, 28);
+ RemindLabel->SetText("待重启...");
RemindLabel->SetAlign(TEXT_ALIGNMENT_CENTER, TEXT_ALIGNMENT_CENTER);
RemindLabel->SetFont(DEFAULT_VECTOR_FONT_FILENAME, 25);
RemindLabel->SetVisible(true);
if (RemindIcon) { RemindIcon->SetVisible(false);}
if (RemindIcon2) { RemindIcon2->SetVisible(false);}
if (RemindIcon3) { RemindIcon3->SetVisible(false);}
-
}
}
#include <string>
#include "UiConfig.h"
#include "custom_utils.h"
+#include "ln_api.h"
+#include "thunderbird/include/ThunderBirdPresenter.h"
+#include "ai_media.h"
namespace OHOS
{
{
ThunderBirdModel::GetInstance()->LowFrequence();//减低视频帧率
WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "ThunderBirdLullabyView::Show: THUNDERBIRD_LULLABYVIEW_4");
+
+ // 检查是否在对话模式
+ ThunderBirdPresenter *presenter = ThunderBirdPresenter::GetInstance();
+ if(presenter && presenter->isDialogueing)
+ {
+ // 进入故事模式时退出对话模式
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "进入故事模式,退出对话模式");
+
+ // 停止定时器
+ ThunderBirdModel::GetInstance()->StopCountUpTimer();
+
+ // 停止AI语音播放
+ ai_media_play_stop();
+ WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "ThunderBirdLullabyView::Show: Stopped AI audio playback");
+
+ // 结束音频聊天
+ ln_ws_end_audio_chat();
+
+ // 强制中断AI
+ AI_ForceInterrupt();
+ ln_ws_send_voice_chat_interrupt("进入故事模式");
+
+ // 反初始化音频
+ // do_custom_cmd_service_check_msg(CUSTOM_CMD_MSG_AUDIO_DEINIT, NULL, 0);
+
+ // 设置对话状态为false
+ presenter->isDialogueing = false;
+
+ // 调用退出对话模式
+ ThunderBirdModel::GetInstance()->OnExitDialogueMode();
+ }
//长亮屏
ScreenAlwaysOnCtr(OPEN_SCREEN_ALWAYS_ON);
if (TextLabel)
{
- TextLabel->SetPosition(35, 64, 325, 42);
+ TextLabel->SetPosition(35, 64, 300, 42);
+ TextLabel->SetText("");//设置为空
TextLabel->SetLineBreakMode(UILabel::LINE_BREAK_MARQUEE);
TextLabel->SetRollSpeed(55);
TextLabel->SetVisible(true);
}
if (TextLabel_Y)
{
- TextLabel_Y->SetPosition(37, 66, 325, 42);
+ TextLabel_Y->SetPosition(37, 66, 300, 42);
TextLabel_Y->SetLineBreakMode(UILabel::LINE_BREAK_MARQUEE);
TextLabel_Y->SetStyle(STYLE_TEXT_COLOR, 0xff000000);
TextLabel_Y->SetRollSpeed(55);
GRAPHIC_LOGE("surfaceView is nullptr\n");
return;
}
- colorKey_.full = 0xffecdbd4;
+ colorKey_.full = 0x00ecdbd4;
surfaceView_->SetViewId("sur");
surfaceView_->SetPosition(0, 0, VIDEO_WIDTH, VIDEO_HEIGHT);
surfaceView_->SetStyle(STYLE_BACKGROUND_COLOR, Color::Black().full);
{
WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "ThunderBirdModel::HandleSleepModeStart");
if (ThunderBirdMainView::GetInstance()) {
- int currentView = ThunderBirdMainView::GetInstance()->GetCurrentView(); //获取当前视图
- ThunderBirdMainView::GetInstance()->ChangeView(currentView, THUNDERBIRD_LULLABYVIEW, ThunderBirdLullabyView::THUNDERBIRD_LULLABYVIEW_4);
- //清空文本队列
- ClearAudioTextQueue();
- ln_ws_audio_init();//功耗优化
+ int currentView = ThunderBirdMainView::GetInstance()->GetCurrentView();
+ //若为意图识别结果,则跳转到4,否则跳转到2
+ if(is_intention_result == 0)
+ {
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "ThunderBirdModel::HandleSleepModeStart: 意图识别结果,跳转到4");
+ ThunderBirdMainView::GetInstance()->ChangeView(currentView, THUNDERBIRD_LULLABYVIEW, ThunderBirdLullabyView::THUNDERBIRD_LULLABYVIEW_4);
+ //清空文本队列
+ ClearAudioTextQueue();
+ ln_ws_audio_init();//功耗优化
+ ln_ws_send_random_story_request("随机故事");
+ }
+ else//意图识别结果
+ {
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "ThunderBirdModel::HandleSleepModeStart: 非意图识别结果,跳转到2");
+ ThunderBirdMainView::GetInstance()->ChangeView(currentView, THUNDERBIRD_LULLABYVIEW, ThunderBirdLullabyView::THUNDERBIRD_LULLABYVIEW_2);
+ }
} else {
WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "ThunderBirdMainView instance is null, cannot start sleep mode");
}
ThunderBirdMainView::GetInstance()->ChangeView(THUNDERBIRD_GUIDEVIEW, THUNDERBIRD_GUIDEVIEW, ThunderBirdGuideView::THUNDERBIRD_GUIDEVIEW_3);
break;
case ThunderBirdGuideView::THUNDERBIRD_GUIDEVIEW_3:
+ ThunderBirdMainView::GetInstance()->ChangeView(THUNDERBIRD_GUIDEVIEW, THUNDERBIRD_GUIDEVIEW, ThunderBirdGuideView::THUNDERBIRD_GUIDEVIEW_4);
+ break;
+ case ThunderBirdGuideView::THUNDERBIRD_GUIDEVIEW_4:
+ ThunderBirdMainView::GetInstance()->ChangeView(THUNDERBIRD_GUIDEVIEW, THUNDERBIRD_GUIDEVIEW, ThunderBirdGuideView::THUNDERBIRD_GUIDEVIEW_5);
+ break;
+ case ThunderBirdGuideView::THUNDERBIRD_GUIDEVIEW_5:
ThunderBirdMainView::GetInstance()->ChangeView(THUNDERBIRD_GUIDEVIEW, THUNDERBIRD_GUIDEVIEW, ThunderBirdGuideView::THUNDERBIRD_GUIDEVIEW_1);
break;
}
{
switch (currentSubView) {
case ThunderBirdLullabyView::THUNDERBIRD_LULLABYVIEW_2:
- ThunderBirdMainView::GetInstance()->ChangeView(currentView, THUNDERBIRD_LULLABYVIEW, ThunderBirdLullabyView::THUNDERBIRD_LULLABYVIEW_3);
+ ThunderBirdMainView::GetInstance()->ChangeView(currentView, THUNDERBIRD_LULLABYVIEW, ThunderBirdLullabyView::THUNDERBIRD_LULLABYVIEW_4);
+ //清空文本队列
+ ThunderBirdModel::GetInstance()->ClearAudioTextQueue();
+ ln_ws_audio_init();//功耗优化
+ ln_ws_send_random_story_request("随机故事");
break;
case ThunderBirdLullabyView::THUNDERBIRD_LULLABYVIEW_3:
ThunderBirdMainView::GetInstance()->ChangeView(currentView, THUNDERBIRD_LULLABYVIEW, ThunderBirdLullabyView::THUNDERBIRD_LULLABYVIEW_4);
WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "HandleFuncKeyLongPress: currentView=%d, currentSubView=%d, isDialogueing=%d",
currentView, currentSubView, isDialogueing);
- if(currentView == THUNDERBIRD_DIALOGUEVIEW && currentSubView == ThunderBirdDialogueView::THUNDERBIRD_DIALOGUEVIEW_STATUS_SHOW)
+ if((currentView == THUNDERBIRD_DIALOGUEVIEW && currentSubView == ThunderBirdDialogueView::THUNDERBIRD_DIALOGUEVIEW_STATUS_SHOW)
+ || (currentView == THUNDERBIRD_GUIDEVIEW))
{
WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "进入对话模式");
ThunderBirdMainView::GetInstance()->ChangeView(currentView, THUNDERBIRD_DIALOGUEVIEW, ThunderBirdDialogueView::THUNDERBIRD_DIALOGUEVIEW_LISTENING);
}
// 停止实际的音频播放
- // ai_media_play_stop();
- // WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "ThunderBirdDialogueView::AudioPlaybackEnd: Stopped audio playback");
- //
+ ai_media_play_stop();
+ WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "ThunderBirdPresenter::HandleFuncKeyLongPress: Stopped AI audio playback");
ln_ws_end_audio_chat();//结束对话
// 退出对话模式时恢复表情
WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "ThunderBirdPresenter::HandleFuncKeyLongPress");
ThunderBirdMainView::GetInstance()->ChangeView(currentView, THUNDERBIRD_LULLABYVIEW, ThunderBirdLullabyView::THUNDERBIRD_LULLABYVIEW_5);
}
- else if(currentView == THUNDERBIRD_GUIDEVIEW)
- {
- ThunderBirdMainView::GetInstance()->ChangeView(currentView, THUNDERBIRD_GUIDEVIEW, ThunderBirdGuideView::THUNDERBIRD_GUIDEVIEW_3);
- ThunderBirdGuideView::GetInstance()->UpdateTextLabel("先小程序扫码绑定\n才能开始对话哦~");
- }
}
}