From: 袁清梦 <3449750381@qq.com> Date: Mon, 6 May 2024 08:09:35 +0000 (+0000) Subject: Merge #128 into xts_origin from refs/changes/128/head X-Git-Tag: release_V1.2.70_20241020_135402~1113^2~18^2~5 X-Git-Url: http://git.snicker.com.cn/?a=commitdiff_plain;h=70b914331481d016f02456f2eb67ead8bd4ca997;p=mirrors%2FFD230.git Merge #128 into xts_origin from refs/changes/128/head 替换结构体成员变量 * 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 --- 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;