From: Caisking <3449750381@qq.com> Date: Mon, 6 May 2024 08:08:44 +0000 (+0800) Subject: 替换结构体成员变量 X-Git-Tag: release_V1.2.70_20241020_135402~1025^2~36 X-Git-Url: http://git.snicker.com.cn/?a=commitdiff_plain;h=3e652e33dc2754e1d0066c4b2a62c696b3a0cf74;p=mirrors%2FFD230.git 替换结构体成员变量 --- 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;