if (ThunderBirdMainView::GetInstance()) {
int currentView = ThunderBirdMainView::GetInstance()->GetCurrentView(); //获取当前视图
-
- // 如果当前视图已经是蓝牙界面,说明是从蓝牙连接触发的退出,不需要再切换到对话界面
- if (currentView == THUNDERBIRD_BLUEVIEW) {
- WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "HandleSleepModeEnd: 当前已在蓝牙界面,跳过切换到对话界面");
- // 退出哄睡模式时恢复时间线表情
- OnExitLullabyMode();
- if (ThunderBirdMainView::GetInstance() && ThunderBirdMainView::GetInstance()->listenIcon) {
- ThunderBirdMainView::GetInstance()->listenIcon->SetVisible(false);
- }
- //直接退出到状态显示界面
- AI_ForceInterrupt();
- ln_ws_send_voice_chat_interrupt("退出哄睡");
- //推送结束故事消息
- do_ln_http_server_send_data(LN_HTTP_SERVICE_CMD_STORY_FINISH, NULL, 0);
- do_custom_cmd_service_check_msg(CUSTOM_CMD_MSG_AUDIO_DEINIT, NULL, 0);
- return;
- }
-
// 退出哄睡模式时恢复时间线表情
OnExitLullabyMode();
if (ThunderBirdMainView::GetInstance() && ThunderBirdMainView::GetInstance()->listenIcon) {
WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "ThunderBirdMainView instance is null, cannot end sleep mode");
}
}
+
+ void ThunderBirdModel::HandleSleepModeEnd_BlueView()
+ {
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "ThunderBirdModel::HandleSleepModeEnd");
+ // 停止故事模式超时定时器
+ StopStoryModeTimeoutTimer();
+ // 重置故事模式finished标志
+ m_storyModeFinished = false;
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "退出故事模式,重新启用VAD");
+ int vad_ret = ln_ws_enable_vad_server();
+ if (vad_ret == 0) {
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "VAD已成功启用");
+ } else {
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "启用VAD失败: %d", vad_ret);
+ }
+
+
+ // 如果当前视图已经是蓝牙界面,说明是从蓝牙连接触发的退出,不需要再切换到对话界面
+ if (currentView == THUNDERBIRD_BLUEVIEW) {
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "HandleSleepModeEnd: 当前已在蓝牙界面,跳过切换到对话界面");
+ // 退出哄睡模式时恢复时间线表情
+ OnExitLullabyMode();
+ if (ThunderBirdMainView::GetInstance() && ThunderBirdMainView::GetInstance()->listenIcon) {
+ ThunderBirdMainView::GetInstance()->listenIcon->SetVisible(false);
+ }
+ //直接退出到状态显示界面
+ AI_ForceInterrupt();
+ ln_ws_send_voice_chat_interrupt("退出哄睡");
+ //推送结束故事消息
+ do_ln_http_server_send_data(LN_HTTP_SERVICE_CMD_STORY_FINISH, NULL, 0);
+ do_custom_cmd_service_check_msg(CUSTOM_CMD_MSG_AUDIO_DEINIT, NULL, 0);
+ }
void ThunderBirdModel::HandleStoryResponseFinished(bool finished)
{