From c66f1b4f883774d550c8260418c254e086c761dc Mon Sep 17 00:00:00 2001 From: xue <2144439972@qq.com> Date: Mon, 22 Sep 2025 00:05:35 +0800 Subject: [PATCH] =?utf8?q?=E4=BC=98=E5=8C=96ota=E9=80=BB=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit --- .../thunderbird/src/ThunderBirdMainView.cpp | 4 ++++ .../thunderbird/src/ThunderBirdModel.cpp | 14 +++++++++---- .../thunderbird/src/ThunderBirdOtaView.cpp | 5 +++++ .../thunderbird/src/ThunderBirdPresenter.cpp | 21 ++++++++++++++++--- 4 files changed, 37 insertions(+), 7 deletions(-) diff --git a/code/sdk/application/wearable/ln/nativeapp/nativeui/thunderbird/src/ThunderBirdMainView.cpp b/code/sdk/application/wearable/ln/nativeapp/nativeui/thunderbird/src/ThunderBirdMainView.cpp index 05cada931..257198b8d 100644 --- a/code/sdk/application/wearable/ln/nativeapp/nativeui/thunderbird/src/ThunderBirdMainView.cpp +++ b/code/sdk/application/wearable/ln/nativeapp/nativeui/thunderbird/src/ThunderBirdMainView.cpp @@ -573,6 +573,10 @@ namespace OHOS { ScreenAlwaysOnCtr(CANCEL_SCREEN_ALWAYS_ON); // 关闭屏幕常亮 } + if(prevSubView_ == ThunderBirdOtaView::THUNDERBIRD_OTAVIEW_UPDATING)//上一个界面是OTA升级界面 + { + videoPlay_->StartVideoPlay(); + } // 保存上一级视图信息 prevView_ = currentView_; prevSubView_ = currentSubView_; 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 a3a446e3e..446fb53b0 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 @@ -268,15 +268,21 @@ { WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "ThunderBirdModel::UpdateOtaStatus: %d", status); m_otaStatus = status; + int current_view = ThunderBirdMainView::GetInstance()->GetCurrentView(); // 更新状态检查 - if(status == 1)//强制OTA升级 + if(status == 1)//OTA升级 { - ThunderBirdMainView::GetInstance()->ChangeView(MAXVIEW, THUNDERBIRD_OTAVIEW, ThunderBirdOtaView::THUNDERBIRD_OTAVIEW_UPDATE_NOW); + ThunderBirdMainView::GetInstance()->ChangeView(current_view, THUNDERBIRD_OTAVIEW, ThunderBirdOtaView::THUNDERBIRD_OTAVIEW_UPDATE_NOW); } - else if(status == 0)//可选OTA升级 + else if(status == 2)//OTA升级失败 { - ThunderBirdMainView::GetInstance()->ChangeView(MAXVIEW, THUNDERBIRD_OTAVIEW, ThunderBirdOtaView::THUNDERBIRD_OTAVIEW_NORMAL); + ThunderBirdMainView::GetInstance()->ChangeView(current_view, THUNDERBIRD_OTAVIEW, ThunderBirdOtaView::THUNDERBIRD_OTAVIEW_UPDATE_FAILED); } + else if(status == 3)//OTA升级成功 + { + ThunderBirdMainView::GetInstance()->ChangeView(current_view, THUNDERBIRD_OTAVIEW, ThunderBirdOtaView::THUNDERBIRD_OTAVIEW_UPDATE_SUCCESS); + } + WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "进入OTA界面"); } /*************************获取OTA升级状态*************************/ int ThunderBirdModel::GetOtaStatus() diff --git a/code/sdk/application/wearable/ln/nativeapp/nativeui/thunderbird/src/ThunderBirdOtaView.cpp b/code/sdk/application/wearable/ln/nativeapp/nativeui/thunderbird/src/ThunderBirdOtaView.cpp index c02e75740..837a5c68a 100644 --- a/code/sdk/application/wearable/ln/nativeapp/nativeui/thunderbird/src/ThunderBirdOtaView.cpp +++ b/code/sdk/application/wearable/ln/nativeapp/nativeui/thunderbird/src/ThunderBirdOtaView.cpp @@ -2,6 +2,7 @@ #include "thunderbird/include/ThunderBirdModel.h" #include "thunderbird/include/ThunderBirdPresenter.h" #include "wearable_log.h" +#include "custom_utils.h" namespace OHOS { @@ -497,6 +498,10 @@ namespace OHOS ThunderBirdMainView::GetInstance()->ChangeView(THUNDERBIRD_OTAVIEW, THUNDERBIRD_OTAVIEW, ThunderBirdOtaView::THUNDERBIRD_OTAVIEW_UPDATE_FAILED); return; } + //屏幕常亮 + ScreenAlwaysOnCtr(OPEN_SCREEN_ALWAYS_ON); + //暂停视频播放 + ThunderBirdMainView::GetInstance()->videoPlay_->PauseVideoPlay(); if (TextLabel) { TextLabel->SetPosition(90, 108, 180, 82); 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 aab20df46..d6b403189 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 @@ -29,6 +29,7 @@ #include "wearable_log.h" #include "ln_api.h" +#include "power_display_service.h" #ifdef CUSTOM_UTILS #include "custom_utils.h" @@ -202,9 +203,19 @@ namespace OHOS return true; } - // 短按POWER键(息屏状态下) - if (keyState == InputDevice::STATE_PRESS && screenState == 0) { - return true; + // 短按POWER键处理 + if (keyState == InputDevice::STATE_PRESS) { + if (screenState == 0) { + // 息屏状态下短按:亮屏(由系统自动处理) + return true; + } else if (screenState == 1) { + // 亮屏状态下短按:息屏 + const power_display_svr_api_t *display_api = power_display_svr_get_api(); + if (display_api && display_api->get_screen_state() == SCREEN_ON) { + display_api->turn_off_screen(); + } + return true; + } } return true; @@ -480,6 +491,10 @@ namespace OHOS ThunderBirdModel::GetInstance()->StopOtaCountdown();//取消倒计时界面整个定时器 ThunderBirdModel::GetInstance()->StartOtaCountdown(0);//直接进入更新中,定时器会自己跳转与执行指令 break; + + case ThunderBirdOtaView::THUNDERBIRD_OTAVIEW_NIGHT_UPDATE: + ThunderBirdMainView::GetInstance()->ChangeView(THUNDERBIRD_OTAVIEW, THUNDERBIRD_DIALOGUEVIEW, ThunderBirdDialogueView::THUNDERBIRD_DIALOGUEVIEW_SPEAKING); + break; // VENDOR_DOWN键的特殊处理 -- 2.17.1