From 70b914331481d016f02456f2eb67ead8bd4ca997 Mon Sep 17 00:00:00 2001 From: =?utf8?q?=E8=A2=81=E6=B8=85=E6=A2=A6?= <3449750381@qq.com> Date: Mon, 6 May 2024 08:09:35 +0000 Subject: [PATCH] Merge #128 into xts_origin from refs/changes/128/head MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit 替换结构体成员变量 * refs/changes/128/head: (1 commits squashed) - 替换结构体成员变量 Signed-off-by: Caisking <3449750381@qq.com> Reviewed-by: snickersun@163.com Merged-by: snickersun@163.com CR-link: https://codeup.aliyun.com/64191456b9581d62e8f81ac0/FD230/change/128 --- .../main/include/dial/DialModelTime.h | 2 +- .../nativeui/main/src/dial/DialModelTime.cpp | 33 +++++++++---------- 2 files changed, 16 insertions(+), 19 deletions(-) diff --git a/code/sdk/application/wearable/fd230app/nativeui/main/include/dial/DialModelTime.h b/code/sdk/application/wearable/fd230app/nativeui/main/include/dial/DialModelTime.h index d813c65b5..6f4fb7607 100644 --- a/code/sdk/application/wearable/fd230app/nativeui/main/include/dial/DialModelTime.h +++ b/code/sdk/application/wearable/fd230app/nativeui/main/include/dial/DialModelTime.h @@ -24,7 +24,7 @@ public: void UpdateTime(); private: - struct tm *tblock_; + struct tm tblock_; uint16_t angleH_ = 0; uint16_t angleM_ = 0; uint16_t angleS_ = 0; diff --git a/code/sdk/application/wearable/fd230app/nativeui/main/src/dial/DialModelTime.cpp b/code/sdk/application/wearable/fd230app/nativeui/main/src/dial/DialModelTime.cpp index afc9a9e9b..2094fdae0 100644 --- a/code/sdk/application/wearable/fd230app/nativeui/main/src/dial/DialModelTime.cpp +++ b/code/sdk/application/wearable/fd230app/nativeui/main/src/dial/DialModelTime.cpp @@ -74,29 +74,26 @@ void DialModelTime::UpdateTime() struct timeval tv; gettimeofday(&tv, NULL); tblock_ = localtime(&tv.tv_sec); - int realMS = tblock_->tm_sec * S_MS_US_TRANS + tv.tv_usec / S_MS_US_TRANS; + int realMS = tblock_.tm_sec * S_MS_US_TRANS + tv.tv_usec / S_MS_US_TRANS; #else /*优化为更安全的localtime_r()*/ struct timeval tv; gettimeofday(&tv, NULL); - struct tm tblock; - localtime_r(&tv.tv_sec, &tblock); - tblock_ = &tblock; - int realMS = tblock.tm_sec * S_MS_US_TRANS + tv.tv_usec / S_MS_US_TRANS; + localtime_r(&tv.tv_sec, &tblock_); + int realMS = tblock_.tm_sec * S_MS_US_TRANS + tv.tv_usec / S_MS_US_TRANS; #endif - angleH_ = ConvertHandValueToAngle(tblock_->tm_hour, HALF_DAY_IN_HOUR, tblock_->tm_min, ONE_HOUR_IN_MINUTE); - angleM_ = ConvertHandValueToAngle(tblock_->tm_min, ONE_HOUR_IN_MINUTE, tblock_->tm_sec, ONE_MINUTE_IN_SECOND); - angleS_ = ConvertHandValueToAngle(tblock_->tm_sec, ONE_MINUTE_IN_SECOND, 0, 1); + angleH_ = ConvertHandValueToAngle(tblock_.tm_hour, HALF_DAY_IN_HOUR, tblock_.tm_min, ONE_HOUR_IN_MINUTE); + angleM_ = ConvertHandValueToAngle(tblock_.tm_min, ONE_HOUR_IN_MINUTE, tblock_.tm_sec, ONE_MINUTE_IN_SECOND); + angleS_ = ConvertHandValueToAngle(tblock_.tm_sec, ONE_MINUTE_IN_SECOND, 0, 1); angleMS_ = ConvertHandSecondValueToAngle(realMS, S_MS_US_TRANS * ONE_MINUTE_IN_SECOND); } bool DialModelTime::GetDialFloatData(DialDataType& type, float& out) { - if (tblock_ == nullptr) { - UpdateTime(); - } + UpdateTime(); + switch (type) { case DialDataType::DATA_TYPE_CLOCK_ANGLE_H: out = static_cast(angleH_); @@ -111,25 +108,25 @@ bool DialModelTime::GetDialFloatData(DialDataType& type, float& out) out = static_cast(angleMS_); break; case DialDataType::DATA_TYPE_TIME_YEAR: - out = static_cast((tblock_->tm_year) + 1900); + out = static_cast((tblock_.tm_year) + 1900); break; case DialDataType::DATA_TYPE_TIME_MONTH: - out = static_cast((tblock_->tm_mon) + 1); + out = static_cast((tblock_.tm_mon) + 1); break; case DialDataType::DATA_TYPE_TIME_WEEK: - out = static_cast(tblock_->tm_wday); + out = static_cast(tblock_.tm_wday); break; case DialDataType::DATA_TYPE_TIME_DATE: - out = static_cast(tblock_->tm_mday); + out = static_cast(tblock_.tm_mday); break; case DialDataType::DATA_TYPE_TIME_HOUR: - out = static_cast(tblock_->tm_hour); + out = static_cast(tblock_.tm_hour); break; case DialDataType::DATA_TYPE_TIME_MINUTE: - out = static_cast(tblock_->tm_min); + out = static_cast(tblock_.tm_min); break; case DialDataType::DATA_TYPE_TIME_SECOND: - out = static_cast(tblock_->tm_sec); + out = static_cast(tblock_.tm_sec); break; default: return false; -- 2.17.1