std::string cat1_pyver;
bool m_savedBluetoothIconVisible = false; // 进入下载前保存的蓝牙图标显示状态(用于恢复)
+ bool m_wasInDownloadView = false; // 是否进入过下载界面(OTA视图),用于从下载界面返回时上报
private:
ThunderBirdModel();
bool close_battery_flag = false; // 电量过低即将关机标志位
int downloadFileType = -1;
- bool m_wasInDownloadView = false; // 是否进入过下载界面(OTA视图),用于从下载界面返回时上报
+
// 故事模式相关标志
bool m_storyModeFinished = false; // 故事模式是否已finished(收到finished=true)
WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "关闭VAD失败: %d", vad_ret);
}
//进入哄睡黑脸保护机制
- if (videoPlay_ == nullptr || videoPlay_->isExited_)
+ ThunderBirdMainView* mainView = ThunderBirdMainView::GetInstance();
+ if (mainView != nullptr && (mainView->videoPlay_ == nullptr || mainView->videoPlay_->isExited_))
{
- WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "ThunderBirdMainView::SwitchVideo: Video thread exited, switching to winking");
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "ThunderBirdModel::HandleSleepModeStart: Video thread exited, switching to winking");
ThunderBirdModel::GetInstance()->SwitchToWinkingExpression();
}
// 故事请求已在协议解析阶段处理(ln_parse_sleep_mode_start),此处不再发送
// 进入哄睡模式时记录当前表情(进入THUNDERBIRD_LULLABYVIEW_4时调用)
void ThunderBirdModel::OnEnterLullabyMode()
{
+ //进入哄睡模式时,心跳间隔设置为30秒
+ ln_ws_set_heartbeat_interval_sec(30);
// 记录进入哄睡模式前的时间线表情(用于退出时恢复)
m_lullabyExpression = "winking";
WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "ThunderBirdModel::OnEnterLullabyMode: 记录时间线表情: %s", m_currentExpression.c_str());
// 退出哄睡模式时恢复表情(退出THUNDERBIRD_LULLABYVIEW_4时调用)
void ThunderBirdModel::OnExitLullabyMode()
{
+ //退出哄睡模式时,心跳间隔设置为5分钟
+ ln_ws_set_heartbeat_interval_sec(300);
// 隐藏小绿点
ThunderBirdMainView* mainView = ThunderBirdMainView::GetInstance();
if (mainView != nullptr && mainView->listenIcon) {