ln_ws_end_audio_chat();//结束对话
// g_sleep_mode_active = true;
WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "ThunderBirdModel::HandleSleepModeStart: 睡眠模式已开始");
+
+ // 当为屏保模式且不作为对话表情时(ReadlocalScreenImage() == 1),触发意图识别的底图需要为屏保不为1.bin
+ int screenImageMode = ReadlocalScreenImage();
+ if (screenImageMode == 1) {
+ // 有屏保但不是作为对话表情,确保底图为屏保图片
+ ThunderBirdMainView* mainView = ThunderBirdMainView::GetInstance();
+ if (mainView != nullptr) {
+ // 如果屏保模式未开启,先开启屏保模式
+ if (!mainView->GetIsOpenScreenImageModel()) {
+ mainView->OpenScreenImageModel();
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "ThunderBirdModel::HandleSleepModeStart: 意图识别结果,开启屏保模式(ReadlocalScreenImage==1)");
+ } else {
+ // 屏保模式已开启,但需要确保底图是屏保图片而不是1.bin
+ if (access(LN_DEVICE_SCREEN_IMAGE_FILE, F_OK) == 0) {
+ mainView->SwitchIconImage(LN_DEVICE_SCREEN_IMAGE_FILE);
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "ThunderBirdModel::HandleSleepModeStart: 意图识别结果,确保底图为屏保图片: %s", LN_DEVICE_SCREEN_IMAGE_FILE);
+ }
+ }
+ }
+ }
+
ThunderBirdMainView::GetInstance()->ChangeView(currentView, THUNDERBIRD_LULLABYVIEW, ThunderBirdLullabyView::THUNDERBIRD_LULLABYVIEW_2);
}
} else {
int screenImageMode = ReadlocalScreenImage();
if (screenImageMode == 1) {
// 有屏保但不是作为对话表情,恢复屏保
- if (mainView != nullptr && !mainView->GetIsOpenScreenImageModel()) {
- mainView->OpenScreenImageModel();
- WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "ThunderBirdModel::OnExitLullabyMode: 恢复屏保模式(ReadlocalScreenImage==1)");
+ if (mainView != nullptr) {
+ if (!mainView->GetIsOpenScreenImageModel()) {
+ mainView->OpenScreenImageModel();
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "ThunderBirdModel::OnExitLullabyMode: 恢复屏保模式(ReadlocalScreenImage==1)");
+ } else {
+ // 屏保模式已开启,但需要确保底图是屏保图片而不是1.bin
+ if (access(LN_DEVICE_SCREEN_IMAGE_FILE, F_OK) == 0) {
+ mainView->SwitchIconImage(LN_DEVICE_SCREEN_IMAGE_FILE);
+ if (mainView->iconView != nullptr) {
+ mainView->iconView->SetVisible(true);
+ }
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "ThunderBirdModel::OnExitLullabyMode: 确保底图为屏保图片: %s", LN_DEVICE_SCREEN_IMAGE_FILE);
+ }
+ }
}
}
m_screenImageClosedForLullaby = false;
+ } else {
+ // 即使没有关闭屏保标志,也需要检查并确保屏保正确显示
+ int screenImageMode = ReadlocalScreenImage();
+ if (screenImageMode == 1 && mainView != nullptr) {
+ // 有屏保但不是作为对话表情,确保屏保正确显示
+ if (!mainView->GetIsOpenScreenImageModel()) {
+ mainView->OpenScreenImageModel();
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "ThunderBirdModel::OnExitLullabyMode: 退出哄睡时恢复屏保模式(ReadlocalScreenImage==1)");
+ } else if (access(LN_DEVICE_SCREEN_IMAGE_FILE, F_OK) == 0) {
+ // 屏保模式已开启,确保底图是屏保图片
+ mainView->SwitchIconImage(LN_DEVICE_SCREEN_IMAGE_FILE);
+ if (mainView->iconView != nullptr) {
+ mainView->iconView->SetVisible(true);
+ }
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "ThunderBirdModel::OnExitLullabyMode: 退出哄睡时确保底图为屏保图片: %s", LN_DEVICE_SCREEN_IMAGE_FILE);
+ }
+ }
}
// 不在这里切换表情,标志位保持为1,在发呆中界面时获取时间线表情