#include "ln_api.h"
#include "common/screen.h"
#include "common/lite_surface.h"
+#include "ai_media.h"
namespace OHOS
{
static constexpr int16_t VIDEO_WIDTH = 360;
}
if(showView == THUNDERBIRD_BLUEVIEW )
{
+
if(hideView == THUNDERBIRD_LULLABYVIEW)
{
ThunderBirdModel::GetInstance()->HandleSleepModeEnd();
}
- else if(hideView == THUNDERBIRD_DIALOGUEVIEW && (currentSubView == ThunderBirdDialogueView::THUNDERBIRD_DIALOGUEVIEW_LISTENING || currentSubView == ThunderBirdDialogueView::THUNDERBIRD_DIALOGUEVIEW_SPEAKING))
+ else if(hideView == THUNDERBIRD_DIALOGUEVIEW && (currentSubView_ == ThunderBirdDialogueView::THUNDERBIRD_DIALOGUEVIEW_LISTENING || currentSubView_ == ThunderBirdDialogueView::THUNDERBIRD_DIALOGUEVIEW_SPEAKING))
{
+ ThunderBirdModel::GetInstance()->StopCountUpTimer();
+ ThunderBirdPresenter::GetInstance()->SetDialogueing(false);
ln_ws_end_audio_chat();//结束对话
AI_ForceInterrupt();
ln_ws_send_voice_chat_interrupt("退出对话");
//亮屏
uapi_set_screen_on_api();
int currentView = ThunderBirdMainView::GetInstance()->GetCurrentView(); //获取当前视图
- int currentSubView = ThunderBirdMainView::GetInstance()->GetCurrentSubView();
- //如果在对话界面,则停止对话
- if(currentView == THUNDERBIRD_DIALOGUEVIEW && (currentSubView == ThunderBirdDialogueView::THUNDERBIRD_DIALOGUEVIEW_LISTENING || currentSubView == ThunderBirdDialogueView::THUNDERBIRD_DIALOGUEVIEW_SPEAKING))
- {
- ln_ws_end_audio_chat();//结束对话
- AI_ForceInterrupt();
- ln_ws_send_voice_chat_interrupt("退出对话");
- do_custom_cmd_service_check_msg(CUSTOM_CMD_MSG_AUDIO_DEINIT, NULL, 0);
- }
- //如果在哄睡界面,则停止哄睡
- if(currentView == THUNDERBIRD_LULLABYVIEW)
- {
- // 退出哄睡模式时恢复时间线表情
- ThunderBirdModel::GetInstance()->HandleSleepModeEnd();
- }
// 检查是否有已绑定的设备
BluetoothModel* btModel = BluetoothModel::GetInstance();
if (btModel != nullptr) {
List<BluetoothCaseInfo>& connedDevices = btModel->GetConnedDevicesCase();
if (!connedDevices.IsEmpty()) {
// 如果有已绑定的设备,直接跳转到设备列表页面
+ // ChangeView 中会自动处理对话/哄睡界面的退出逻辑
WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "HandleBluetoothConnect: 已有绑定设备,跳转到设备列表页面");
ThunderBirdMainView::GetInstance()->ChangeView(currentView, THUNDERBIRD_BLUEVIEW, ThunderBirdBlueView::THUNDERBIRD_BULEVIEW_DEVICE_LIST);
return;
}
// 没有已绑定设备,跳转到配对准备页面
+ // ChangeView 中会自动处理对话/哄睡界面的退出逻辑
ThunderBirdMainView::GetInstance()->ChangeView(currentView, THUNDERBIRD_BLUEVIEW, ThunderBirdBlueView::THUNDERBIRD_BULEVIEW_ENTER);
//不管跳到什么界面都要先停止视频
ThunderBirdMainView::GetInstance()->videoPlay_->PauseVideoPlay();