From 0fb2a781343281a437fdccfed96b8f8dc89c5ffe Mon Sep 17 00:00:00 2001 From: luozheng <1732036298@qq.com> Date: Thu, 9 May 2024 11:29:51 +0800 Subject: [PATCH] =?utf8?q?=E4=BC=98=E5=8C=96=E4=B8=8B=E6=8B=89=E7=95=8C?= =?utf8?q?=E9=9D=A2=E7=9A=84=E6=95=B0=E6=8D=AE=E6=9B=B4=E6=96=B0=E9=80=BB?= =?utf8?q?=E8=BE=91=20=E5=A6=82=E6=9E=9C=E5=BD=93=E5=89=8D=E6=98=AF?= =?utf8?q?=E4=B8=8B=E6=8B=89=E7=95=8C=E9=9D=A2,=E5=85=88=E6=9B=B4=E6=96=B0?= =?utf8?q?=E4=B8=80=E6=AC=A1=E4=B8=8B=E6=8B=89=E7=AA=97=E5=8F=A3=E7=9A=84?= =?utf8?q?=E6=95=B0=E6=8D=AE=E5=8C=85=E6=8B=AC=EF=BC=8C=E7=94=B5=E6=B1=A0?= =?utf8?q?=E7=94=B5=E9=87=8F=E6=97=B6=E9=97=B4=EF=BC=8C=E4=BF=A1=E5=8F=B7?= =?utf8?q?=E5=BC=BA=E5=BA=A6=E7=AD=89=E7=AD=89=E6=95=B0=E6=8D=AE=EF=BC=8C?= =?utf8?q?=E7=84=B6=E5=90=8E=E5=BC=80=E5=90=AF=E4=B8=80=E4=B8=AA=E6=AF=8F2?= =?utf8?q?=E7=A7=92=E6=9B=B4=E6=96=B0=E6=95=B0=E6=8D=AE=E7=9A=84=E5=AE=9A?= =?utf8?q?=E6=97=B6=E5=99=A8=E3=80=82=20=E5=A6=82=E6=9E=9C=E4=B8=8D?= =?utf8?q?=E5=9C=A8=E4=B8=8B=E6=8B=89=E7=95=8C=E9=9D=A2=E4=BA=86=E5=81=9C?= =?utf8?q?=E6=AD=A2=E5=AE=9A=E6=97=B6=E5=99=A8=E3=80=82=20=E9=81=97?= =?utf8?q?=E7=95=99=E4=B8=80=E4=B8=AA=E9=97=AE=E9=A2=98=EF=BC=9A=E5=A6=82?= =?utf8?q?=E6=9E=9C=E5=9C=A8=E4=B8=8B=E6=8B=89=E7=95=8C=E9=9D=A2=E6=81=AF?= =?utf8?q?=E5=B1=8F=E6=97=B6=E5=80=99=E5=81=9C=E6=AD=A2=E4=BA=86=E5=AE=9A?= =?utf8?q?=E6=97=B6=E5=99=A8=EF=BC=8C=E4=BA=AE=E5=B1=8F=E5=90=8E=E9=9C=80?= =?utf8?q?=E8=A6=81=E6=89=8B=E5=8A=A8=E4=B8=8A=E6=8B=89=E7=95=8C=E9=9D=A2?= =?utf8?q?=E5=86=8D=E4=B8=8B=E6=8B=89=E5=9B=9E=E5=88=B0=E4=B8=8B=E6=8B=89?= =?utf8?q?=E7=95=8C=E9=9D=A2=E6=89=8D=E8=83=BD=E6=9B=B4=E6=96=B0=E6=95=B0?= =?utf8?q?=E6=8D=AE=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit --- .../main/include/MainPresenterSample.h | 3 +- .../nativeui/main/src/MainPresenterSample.cpp | 89 +++++++++++-------- .../nativeui/main/src/PullUpDownView.cpp | 2 +- 3 files changed, 55 insertions(+), 39 deletions(-) diff --git a/code/sdk/application/wearable/fd230app/nativeui/main/include/MainPresenterSample.h b/code/sdk/application/wearable/fd230app/nativeui/main/include/MainPresenterSample.h index ac3329ee9..b02956da6 100644 --- a/code/sdk/application/wearable/fd230app/nativeui/main/include/MainPresenterSample.h +++ b/code/sdk/application/wearable/fd230app/nativeui/main/include/MainPresenterSample.h @@ -2,7 +2,7 @@ * @Author: luozheng 1732036298@qq.com * @Date: 2024-03-01 15:10:34 * @LastEditors: luozheng 1732036298@qq.com - * @LastEditTime: 2024-05-08 15:57:02 + * @LastEditTime: 2024-05-09 10:00:40 * @FilePath: /FD230/code/sdk/application/wearable/fd230app/nativeui/main/include/MainPresenterSample.h */ @@ -79,6 +79,7 @@ public: CardId *GetCardSettings(void); void InitDialSettings(void); DialSetting& GetDialSetting(); + void UpdataTime(); void UpdataBaseData(); void PullUpDown_StartTimer(uint32_t interval); void PullUpDown_StopTimer(void); diff --git a/code/sdk/application/wearable/fd230app/nativeui/main/src/MainPresenterSample.cpp b/code/sdk/application/wearable/fd230app/nativeui/main/src/MainPresenterSample.cpp index 5fa5d6a18..ffef8d019 100644 --- a/code/sdk/application/wearable/fd230app/nativeui/main/src/MainPresenterSample.cpp +++ b/code/sdk/application/wearable/fd230app/nativeui/main/src/MainPresenterSample.cpp @@ -80,7 +80,6 @@ namespace OHOS RootView::GetInstance()->SetOnKeyActListener(keyActListener_); } } - PullUpDown_StartTimer(1000); } void MainPresenterSample::OnPause(void) {} @@ -196,22 +195,6 @@ namespace OHOS UNUSED(event); UNUSED(view); WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "MainPresenterSample OnDrag"); - - uint8_t cardId = view_->GetHorCurrentCard(); - if (cardId == WATCH_FACE) - { - PRINT("WATCH_FACE!\r\n"); - if (event.GetDragDirection() == DragEvent::DIRECTION_TOP_TO_BOTTOM) - { - PRINT("DIRECTION_TOP_TO_BOTTOM!\r\n"); - if (PullUpDownView::GetInstance() == nullptr) - { - WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "TempPresenter::OnDrag TempMainView::GetInstance() nullptr"); - return false; - } - UpdataBaseData(); - } - } return true; } void MainPresenterSample::SetPage(int8_t id) @@ -254,11 +237,24 @@ namespace OHOS void MainPresenterSample::OnSwipe(UISwipeView &view) { - //UNUSED(view); - // if(MainViewSample::GetInstance()->IsPullUpViewPage()) - // { - // UpdataBaseData(); - // } + // UNUSED(view); + /* -------------------------------------------------------------------------- */ + /* + * @brief 如果当前是下拉界面,先更新一次下拉窗口的数据包括,电池电量,时间,信号强度等等数据, + * 然后开启一个每2秒更新数据的定时器。 + * 如果不在下拉界面了停止定时器 + */ + if (MainViewSample::GetInstance()->IsPullUpViewPage()) + { + UpdataBaseData(); + PullUpDownView::GetInstance()->UpdateSignalStrengthStatusAndBatteryPosition(); + PullUpDown_StartTimer(1000); + } + else + { + PullUpDown_StopTimer(); + } + /* -------------------------------------------------------------------------- */ CardId cardId = view_->GetHorCurrentCard(); callback_->OnSwipe(view); @@ -369,11 +365,6 @@ namespace OHOS dynamic_cast(view_->GetViewById(WATCH_FACE))->UpdateTime(); } } - //当前在下拉界面 - // if (view_->IsPullUpViewPage()) - // { - // UpdataBaseData(); - // } } void MainPresenterSample::InitCardSettings(void) @@ -400,10 +391,25 @@ namespace OHOS return MainModel::GetInstance().GetDialSetting(); } + // 更新时间 + void MainPresenterSample::UpdataTime() + { + // 获取当前时间 + char *timeStr = (char *)malloc(9); + if (!timeStr || uapi_get_HHMMSS_Time(timeStr, ':', false) != ERRCODE_SUCC) + { + WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "Failed to get start time"); + free(timeStr); + return; + } + PullUpDownView::GetInstance()->GetTimeLabel()->SetText(timeStr); + free(timeStr); + } + void MainPresenterSample::UpdataBaseData() { WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "PullUpDownView::UpdataBaseData"); - // 获取当前时间 + // 解析日期信息 char *dateStr = (char *)malloc(9); if (uapi_get_YYMMDD_Time(dateStr, '/') != ERRCODE_SUCC) { @@ -411,7 +417,7 @@ namespace OHOS free(dateStr); return; } - // 解析日期信息 + // 获取当前时间 char *timeStr = (char *)malloc(9); if (uapi_get_HHMMSS_Time(timeStr, ':', false) != ERRCODE_SUCC) { @@ -430,7 +436,6 @@ namespace OHOS free(weekStr); return; } - PRINT("Read ALLData!\n"); // 获取电池电量信息 float voltage = 0.0F; @@ -448,7 +453,7 @@ namespace OHOS if (value <= (i + 1) * 10) { progressImageSrc = progressImages[i]; - PRINT("Update progressImageSrc!\n"); + // PRINT("Update progressImageSrc!\n"); break; } } @@ -463,28 +468,37 @@ namespace OHOS free(dateStr); free(timeStr); free(weekStr); + + PRINT("ALLData are refresh!\n"); } /* -------------------------------------------------------------------------- */ // 声明定时器变量 static osTimerId_t g_timer = NULL; - uint8_t MainPresenterSample::g_PullUpDownTimes = 5;//5秒 + static uint8_t UPDATETIME = 2; + uint8_t MainPresenterSample::g_PullUpDownTimes = UPDATETIME; // 2秒 /*定时器到期时的处理*/ static void PullUpDown_TimerCallbackProc(int data) { WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "PullUpDown_TimerCallbackProc"); MainPresenterSample::g_PullUpDownTimes--; - WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "%d",MainPresenterSample::g_PullUpDownTimes); - if(MainPresenterSample::g_PullUpDownTimes <= 0) + WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "%d", MainPresenterSample::g_PullUpDownTimes); + if (MainPresenterSample::g_PullUpDownTimes <= 0) { - MainPresenterSample::g_PullUpDownTimes = 5;//每5秒更新一次,时间 - MainPresenterSample::GetInstance()->UpdataBaseData(); + MainPresenterSample::g_PullUpDownTimes = UPDATETIME; // + MainPresenterSample::GetInstance()->UpdataTime(); PullUpDownView::GetInstance()->UpdateSignalStrengthStatusAndBatteryPosition(); } + + if (uapi_get_screen_state() == 1) // 息屏停止更新数据 + { + GraphicService::GetInstance()->PostGraphicEvent(std::bind(&MainPresenterSample::PullUpDown_StopTimer, MainPresenterSample::GetInstance())); + } + return; } - + /* * @brief 回调函数 */ @@ -549,6 +563,7 @@ namespace OHOS WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "osTimerDelete failed, ret = %lx!!", ret); } g_timer = NULL; + WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "g_timer stop success"); } } diff --git a/code/sdk/application/wearable/fd230app/nativeui/main/src/PullUpDownView.cpp b/code/sdk/application/wearable/fd230app/nativeui/main/src/PullUpDownView.cpp index 06951fcca..ff564c821 100644 --- a/code/sdk/application/wearable/fd230app/nativeui/main/src/PullUpDownView.cpp +++ b/code/sdk/application/wearable/fd230app/nativeui/main/src/PullUpDownView.cpp @@ -520,7 +520,7 @@ namespace OHOS progress->SetImage(progressImageSrc, nullptr); progress->SetBackgroundStyle(STYLE_BACKGROUND_OPA, 0x00); progress->SetBackgroundStyle(STYLE_TEXT_COLOR, 0xff000000); - progress->SetForegroundStyle(STYLE_BACKGROUND_COLOR, 0xff2195F6); + progress->SetForegroundStyle(STYLE_BACKGROUND_COLOR, 0xffffffff); progress->SetForegroundStyle(STYLE_TEXT_COLOR, 0xff000000); progress->SetForegroundStyle(STYLE_LINE_COLOR, 0xff45A5FF); -- 2.17.1