From: xue <2144439972@qq.com> Date: Sun, 28 Sep 2025 11:59:16 +0000 (+0800) Subject: 优化对话 X-Git-Tag: V1.0.9_20251128_194606_LN~300 X-Git-Url: http://git.snicker.com.cn/?a=commitdiff_plain;h=505ba9e45dbad121eb7595cd2a9bcd25e0b8b31b;p=mirrors%2FFD230.git 优化对话 --- diff --git a/code/sdk/application/wearable/ln/nativeapp/nativeui/thunderbird/include/ThunderBirdPresenter.h b/code/sdk/application/wearable/ln/nativeapp/nativeui/thunderbird/include/ThunderBirdPresenter.h index a1844de47..aa5d4f07e 100644 --- a/code/sdk/application/wearable/ln/nativeapp/nativeui/thunderbird/include/ThunderBirdPresenter.h +++ b/code/sdk/application/wearable/ln/nativeapp/nativeui/thunderbird/include/ThunderBirdPresenter.h @@ -35,7 +35,7 @@ namespace OHOS void PublishEvent(uint16_t topic, uint8_t *data = nullptr, uint32_t size = 0); void timer_callback_toui_proc(); - bool isDialogueing{true};//是否进入对话模式 + bool isDialogueing{false};//是否进入对话模式 // FUNC键长按功能 void RegisterFuncKeyLongPressEvent(void); diff --git a/code/sdk/application/wearable/ln/nativeapp/nativeui/thunderbird/src/ThunderBirdGuideView.cpp b/code/sdk/application/wearable/ln/nativeapp/nativeui/thunderbird/src/ThunderBirdGuideView.cpp index 128395488..c7b9e6164 100644 --- a/code/sdk/application/wearable/ln/nativeapp/nativeui/thunderbird/src/ThunderBirdGuideView.cpp +++ b/code/sdk/application/wearable/ln/nativeapp/nativeui/thunderbird/src/ThunderBirdGuideView.cpp @@ -156,12 +156,14 @@ namespace OHOS { TextLabel->SetPosition(0, 64, 360, 42); TextLabel->SetText("Hey, 我是Amby~"); + TextLabel->SetAlign(TEXT_ALIGNMENT_CENTER, TEXT_ALIGNMENT_CENTER); TextLabel->SetVisible(true); } if (TextLabel_Y) { TextLabel_Y->SetPosition(2, 66, 360, 42); TextLabel_Y->SetText("Hey, 我是Amby~"); + TextLabel_Y->SetAlign(TEXT_ALIGNMENT_CENTER, TEXT_ALIGNMENT_CENTER); TextLabel_Y->SetVisible(true); } if (RemindButton) @@ -255,9 +257,9 @@ namespace OHOS { if (qrcode_) { + WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "start qrcode path:%s", ThunderBirdModel::GetInstance()->GetQrcodeContent().c_str()); qrcode_->SetQrcodeInfo(ThunderBirdModel::GetInstance()->GetQrcodeContent().c_str()); //打印 - WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "qrcode path:%s", ThunderBirdModel::GetInstance()->GetQrcodePath().c_str()); qrcode_->Invalidate();//刷新 } } diff --git a/code/sdk/application/wearable/ln/nativeapp/nativeui/thunderbird/src/ThunderBirdModel.cpp b/code/sdk/application/wearable/ln/nativeapp/nativeui/thunderbird/src/ThunderBirdModel.cpp index 3dfed9860..b670ad206 100644 --- a/code/sdk/application/wearable/ln/nativeapp/nativeui/thunderbird/src/ThunderBirdModel.cpp +++ b/code/sdk/application/wearable/ln/nativeapp/nativeui/thunderbird/src/ThunderBirdModel.cpp @@ -699,13 +699,13 @@ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "设置对话文本: textId is null"); return; } - + ThunderBirdDialogueView::GetInstance()->UpdateDialogueText(m_currentTimeStr.c_str()); //清除录音内容 ClearTextStr(); // 添加文本内容 m_currentTimeStr = textId; - WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "设置对话文本: %s", m_currentTimeStr.c_str()); + WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "设置对话文本: %s", m_currentTimeStr.c_str()); } void ThunderBirdModel::ClearTextStr() @@ -1644,7 +1644,7 @@ //绑定成功 int currentView = ThunderBirdMainView::GetInstance()->GetCurrentView(); //获取当前视图 if(ThunderBirdMainView::GetInstance()){ - ThunderBirdMainView::GetInstance()->ChangeView(currentView, THUNDERBIRD_DIALOGUEVIEW, ThunderBirdDialogueView::THUNDERBIRD_DIALOGUEVIEW_SPEAKING); + ThunderBirdMainView::GetInstance()->ChangeView(currentView, THUNDERBIRD_DIALOGUEVIEW, ThunderBirdDialogueView::THUNDERBIRD_DIALOGUEVIEW_STATUS_SHOW); } } } diff --git a/code/sdk/application/wearable/ln/nativeapp/nativeui/thunderbird/src/ThunderBirdPresenter.cpp b/code/sdk/application/wearable/ln/nativeapp/nativeui/thunderbird/src/ThunderBirdPresenter.cpp index 969e550e4..966ace265 100644 --- a/code/sdk/application/wearable/ln/nativeapp/nativeui/thunderbird/src/ThunderBirdPresenter.cpp +++ b/code/sdk/application/wearable/ln/nativeapp/nativeui/thunderbird/src/ThunderBirdPresenter.cpp @@ -166,16 +166,18 @@ namespace OHOS //如果在二维码界面 判断是否绑定 if(ThunderBirdMainView::GetInstance() != nullptr) { + int16_t currentView = ThunderBirdMainView::GetInstance()->GetCurrentView(); int16_t currentSubView = ThunderBirdMainView::GetInstance()->GetCurrentSubView(); + //如果在二维码界面 要一直判断绑定状态 绑定成功就返回主界面 - if(currentSubView == ThunderBirdGuideView::THUNDERBIRD_GUIDEVIEW_3) + if(currentView == THUNDERBIRD_GUIDEVIEW && currentSubView == ThunderBirdGuideView::THUNDERBIRD_GUIDEVIEW_3) { //更新二维码 UpdateQrcodeIfValid(); } //如果是在对话界面 需要根据对话状态去拿对话数据进行更新 - if(currentSubView == ThunderBirdDialogueView::THUNDERBIRD_DIALOGUEVIEW_SPEAKING) + if(currentView == THUNDERBIRD_DIALOGUEVIEW && currentSubView == ThunderBirdDialogueView::THUNDERBIRD_DIALOGUEVIEW_SPEAKING) { //每一个界面都需要判断是否存在 if(ThunderBirdDialogueView::GetInstance() != nullptr) @@ -188,17 +190,6 @@ namespace OHOS WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "UpdateDialogueText:%s\n",dialogueText.c_str()); ThunderBirdDialogueView::GetInstance()->UpdateDialogueText(dialogueText.c_str()); } - else{ - //如果不是对话 需要判断 是否服务准备好 - if(ThunderBirdModel::GetInstance()->Get_is_all_services_ready() == false) - { - ThunderBirdDialogueView::GetInstance()->UpdateDialogueText( "等待网络连接" ); - } - else - { - ThunderBirdDialogueView::GetInstance()->UpdateDialogueText( "网络连接成功" ); - } - } } } } @@ -593,14 +584,30 @@ namespace OHOS // 更新二维码(如果设备ID有效) void ThunderBirdPresenter::UpdateQrcodeIfValid() { + if (!ThunderBirdModel::GetInstance()) { + WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "UpdateQrcodeIfValid: ThunderBirdModel instance is null"); + return; + } + + // 添加初始化检查,避免开机时立即更新 + static bool isInitialized = false; + if (!isInitialized) { + isInitialized = true; + WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "UpdateQrcodeIfValid: Skipping first call to avoid startup update"); + return; // 第一次调用时不更新 + } // 检查IMEI是否有效 并且 二维码是否有效更新过 if (ThunderBirdModel::GetInstance()->IsIMEIValid() && ThunderBirdModel::GetInstance()->GetQrcodeChecked() == true) { return; } - // 更新二维码 更新一次二维码 不能一直获取 - ThunderBirdGuideView::GetInstance()->UpdateQrcode(); + if (ThunderBirdGuideView::GetInstance()) { + // 更新二维码 更新一次二维码 不能一直获取 + ThunderBirdGuideView::GetInstance()->UpdateQrcode(); + } else { + WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "UpdateQrcodeIfValid: ThunderBirdGuideView instance is null"); + } //设置更新 ThunderBirdModel::GetInstance()->SetQrcodeChecked(true);