AI_ForceInterrupt();
ln_ws_send_voice_chat_interrupt("进入OTA");
do_custom_cmd_service_check_msg(CUSTOM_CMD_MSG_AUDIO_DEINIT, NULL, 0);
- if(bind_status == false)//处于解绑状态
- return;
+ //未绑定状态,也可以进入OTA
+ // if(bind_status == false)//处于解绑状态
+ // return;
NativeAbility::GetInstance().ChangeSlice(VIEW_OTA);
WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "进入OTA");
}
return;
}
// 记录进入对话模式前的时间线表情(用于退出时恢复)
- m_dialogueExpression = m_currentExpression;
+ m_dialogueExpression = "winking";
WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "ThunderBirdModel::OnEnterDialogueMode: 记录时间线表情: %s", m_currentExpression.c_str());
// 应用音量(如果在STATUS_SHOW界面调节过音量,此时应用)
// 退出对话模式时恢复表情
void ThunderBirdModel::OnExitDialogueMode()
{
+ // 隐藏小绿点
if (ThunderBirdMainView::GetInstance() && ThunderBirdMainView::GetInstance()->listenIcon) {
ThunderBirdMainView::GetInstance()->listenIcon->SetVisible(false);
}
{
return;
}
- m_dialogueExpression = m_currentExpression;
// 恢复表情状态
// 构建表情文件路径并切换表情
std::string expressionPath;
if (eyesColor_.empty() || eyesShape_.empty() ||
(eyesShape_ == "calm-eyes" && eyesColor_ == "amber")) {
// 默认表情
- std::string emotionFileName = MapEmotionToFileName(m_dialogueExpression.c_str());
+ std::string emotionFileName = MapEmotionToFileName(m_currentExpression.c_str());
expressionPath = "/user/res/video/Default/" + emotionFileName + ".mp4";
} else {
// 非默认表情
- if (m_dialogueExpression == "winking") {
+ if (m_currentExpression == "winking") {
// 眨眼表情
expressionPath = "/user/res/video/CloseEyes/" + eyesShape_ + "/" + eyesColor_ + ".mp4";
- } else if (m_dialogueExpression == "sleeping") {
+ } else if (m_currentExpression == "sleeping") {
// 睡眠表情
expressionPath = "/user/res/video/Default/sleeping.mp4";
} else {
// 其他表情
- expressionPath = "/user/userdata/leiniao/emoji/" + eyesShape_ + "/" + eyesColor_ + "/" + m_dialogueExpression + ".mp4";
+ expressionPath = "/user/userdata/leiniao/emoji/" + eyesShape_ + "/" + eyesColor_ + "/" + m_currentExpression + ".mp4";
}
}
// 检查文件是否存在并切换表情
if (access(expressionPath.c_str(), F_OK) == 0) {
SwitchExpressionVideo(expressionPath.c_str());
- HandleHairIconChange(m_dialogueExpression);
+ HandleHairIconChange(m_currentExpression);
WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "ThunderBirdModel::OnExitDialogueMode: 恢复表情成功: %s", expressionPath.c_str());
} else {
WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "ThunderBirdModel::OnExitDialogueMode: 表情文件不存在: %s", expressionPath.c_str());
// 进入哄睡模式时记录当前表情(进入THUNDERBIRD_LULLABYVIEW_4时调用)
void ThunderBirdModel::OnEnterLullabyMode()
{
- WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "ThunderBirdModel::OnEnterLullabyMode");
//如果本来就是眨眼的表情直接返回
if (m_currentExpression == "winking" || m_currentExpression.empty() == true) {
return;
}
// 记录进入哄睡模式前的时间线表情(用于退出时恢复)
- m_lullabyExpression = m_currentExpression;
+ m_lullabyExpression = "winking";
WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "ThunderBirdModel::OnEnterLullabyMode: 记录时间线表情: %s", m_currentExpression.c_str());
// 应用音量(如果在STATUS_SHOW界面调节过音量,此时应用)
// 退出哄睡模式时恢复表情(退出THUNDERBIRD_LULLABYVIEW_4时调用)
void ThunderBirdModel::OnExitLullabyMode()
- {
- WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "ThunderBirdModel::OnExitLullabyMode");
-
+ {
+ // 隐藏小绿点
+ if (ThunderBirdMainView::GetInstance() && ThunderBirdMainView::GetInstance()->listenIcon) {
+ ThunderBirdMainView::GetInstance()->listenIcon->SetVisible(false);
+ }
// 恢复到进入哄睡模式前记录的时间线表情
if (!m_lullabyExpression.empty()) {
WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "ThunderBirdModel::OnExitLullabyMode: 恢复时间线表情: %s", m_lullabyExpression.c_str());
if (eyesColor_.empty() || eyesShape_.empty() ||
(eyesShape_ == "calm-eyes" && eyesColor_ == "amber")) {
// 默认表情
- std::string emotionFileName = MapEmotionToFileName(m_lullabyExpression.c_str());
+ std::string emotionFileName = MapEmotionToFileName(m_currentExpression.c_str());
expressionPath = "/user/res/video/Default/" + emotionFileName + ".mp4";
} else {
// 非默认表情
- if (m_lullabyExpression == "winking") {
+ if (m_currentExpression == "winking") {
// 眨眼表情
expressionPath = "/user/res/video/CloseEyes/" + eyesShape_ + "/" + eyesColor_ + ".mp4";
- } else if (m_lullabyExpression == "sleeping") {
+ } else if (m_currentExpression == "sleeping") {
// 睡眠表情
expressionPath = "/user/res/video/Default/sleeping.mp4";
} else {
// 其他表情
- expressionPath = "/user/userdata/leiniao/emoji/" + eyesShape_ + "/" + eyesColor_ + "/" + m_lullabyExpression + ".mp4";
+ expressionPath = "/user/userdata/leiniao/emoji/" + eyesShape_ + "/" + eyesColor_ + "/" + m_currentExpression + ".mp4";
}
}
// 检查文件是否存在并切换表情
if (access(expressionPath.c_str(), F_OK) == 0) {
SwitchExpressionVideo(expressionPath.c_str());
- HandleHairIconChange(m_lullabyExpression);
- SetCurrentExpression(m_lullabyExpression);
+ HandleHairIconChange(m_currentExpression);
WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "ThunderBirdModel::OnExitLullabyMode: 恢复表情成功: %s", expressionPath.c_str());
} else {
WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "ThunderBirdModel::OnExitLullabyMode: 表情文件不存在: %s", expressionPath.c_str());
{
WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "检测到夜间更新已启用,切换到OTA slice");
AI_ForceInterrupt();
- ln_ws_send_voice_chat_interrupt("切换slice");
+ ln_ws_send_voice_chat_interrupt("进入OTA");
NativeAbility::GetInstance().ChangeSlice(VIEW_OTA);
}
}