From: xue <2144439972@qq.com> Date: Sun, 28 Sep 2025 12:25:58 +0000 (+0800) Subject: Merge branch 'sdk650pathc0423' of https://codeup.aliyun.com/64191456b9581d62e8f81ac0... X-Git-Tag: V1.0.9_20251128_194606_LN~298 X-Git-Url: http://git.snicker.com.cn/?a=commitdiff_plain;h=220787bfd83339398dbd4c1f162ca8623905f37b;p=mirrors%2FFD230.git Merge branch 'sdk650pathc0423' of https://codeup.aliyun.com/64191456b9581d62e8f81ac0/FD230 into sdk650pathc0423 --- 220787bfd83339398dbd4c1f162ca8623905f37b diff --cc code/sdk/application/wearable/ln/nativeapp/nativeui/thunderbird/src/ThunderBirdPresenter.cpp index 966ace265,da11e4afb..aa3f5831e --- 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,12 -146,10 +166,12 @@@ namespace OHO //如果在二维码界面 判断是否绑定 if(ThunderBirdMainView::GetInstance() != nullptr) { + int16_t currentView = ThunderBirdMainView::GetInstance()->GetCurrentView(); int16_t currentSubView = ThunderBirdMainView::GetInstance()->GetCurrentSubView(); + //如果在二维码界面 要一直判断绑定状态 绑定成功就返回主界面 - if(currentView == THUNDERBIRD_GUIDEVIEW && currentSubView == ThunderBirdGuideView::THUNDERBIRD_GUIDEVIEW_3) + if(currentSubView == ThunderBirdGuideView::THUNDERBIRD_GUIDEVIEW_3) { //更新二维码 UpdateQrcodeIfValid(); @@@ -581,70 -627,22 +581,56 @@@ return true; } - // 更新二维码(如果设备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) { - if(ThunderBirdModel::GetInstance() == nullptr) ++ if(ThunderBirdGuideView::GetInstance() == nullptr) + { return; } - - if (ThunderBirdGuideView::GetInstance()) { - // 更新二维码 更新一次二维码 不能一直获取 + // 检查IMEI有效 并且 二维码没有更新过 + if (ThunderBirdModel::GetInstance()->IsIMEIValid() && ThunderBirdModel::GetInstance()->GetQrcodeChecked() == false) { + // 更新二维码 更新一次二维码 不能一直更新 ++ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "UpdateQrcodeIfValid: 更新二维码"); ThunderBirdGuideView::GetInstance()->UpdateQrcode(); - } else { - WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "UpdateQrcodeIfValid: ThunderBirdGuideView instance is null"); + + //设置更新过 + ThunderBirdModel::GetInstance()->SetQrcodeChecked(true); } - - //设置更新 - ThunderBirdModel::GetInstance()->SetQrcodeChecked(true); } + // ==================== FUNC键长按功能 ==================== + + static void HandleFuncKeyLongPressCallBack(void) + { + if (ThunderBirdPresenter::GetInstance()) { + ThunderBirdPresenter::GetInstance()->HandleFuncKeyLongPress(); + } + } + /** + * @brief 处理FUNC键长按事件 + */ + void ThunderBirdPresenter::HandleFuncKeyLongPress(void) + { + WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "ThunderBirdPresenter::HandleFuncKeyLongPress - FUNC key long press detected"); + // 长按FUNC键2秒的处理逻辑 + // 触发对话模式切换 + if (ThunderBirdMainView::GetInstance()) { + int16_t currentView = ThunderBirdMainView::GetInstance()->GetCurrentView(); + int16_t currentSubView = ThunderBirdMainView::GetInstance()->GetCurrentSubView(); + + if(currentSubView == ThunderBirdDialogueView::THUNDERBIRD_DIALOGUEVIEW_STATUS_SHOW) + { + ThunderBirdMainView::GetInstance()->ChangeView(currentView, THUNDERBIRD_DIALOGUEVIEW, ThunderBirdDialogueView::THUNDERBIRD_DIALOGUEVIEW_LISTENING); + isDialogueing = true; + } + else + { + ThunderBirdMainView::GetInstance()->ChangeView(currentView, THUNDERBIRD_DIALOGUEVIEW, ThunderBirdDialogueView::THUNDERBIRD_DIALOGUEVIEW_STATUS_SHOW); + isDialogueing = false; + } + } + } + }