Merge #128 into xts_origin from refs/changes/128/head 129/target/1 130/target/1
author袁清梦 <3449750381@qq.com>
Mon, 6 May 2024 08:09:35 +0000 (08:09 +0000)
committersnickersun@163.com <accounts_62b90f7fcf51ade33b6f628e@mail.teambition.com>
Mon, 6 May 2024 08:09:35 +0000 (08:09 +0000)
替换结构体成员变量

* refs/changes/128/head: (1 commits squashed)

  - 替换结构体成员变量

Signed-off-by: Caisking <3449750381@qq.com>
Reviewed-by: snickersun@163.com <accounts_62b90f7fcf51ade33b6f628e@mail.teambition.com>
Merged-by: snickersun@163.com <accounts_62b90f7fcf51ade33b6f628e@mail.teambition.com>
link: https://codeup.aliyun.com/64191456b9581d62e8f81ac0/FD230/change/128
code/sdk/application/wearable/fd230app/nativeui/main/include/dial/DialModelTime.h
code/sdk/application/wearable/fd230app/nativeui/main/src/dial/DialModelTime.cpp

index d813c65..6f4fb76 100644 (file)
@@ -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;
index afc9a9e..2094fda 100644 (file)
@@ -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<float>(angleH_);
@@ -111,25 +108,25 @@ bool DialModelTime::GetDialFloatData(DialDataType& type, float& out)
             out = static_cast<float>(angleMS_);
             break;
         case DialDataType::DATA_TYPE_TIME_YEAR:
-            out = static_cast<float>((tblock_->tm_year) + 1900);
+            out = static_cast<float>((tblock_.tm_year) + 1900);
             break;
         case DialDataType::DATA_TYPE_TIME_MONTH:
-            out = static_cast<float>((tblock_->tm_mon) + 1);
+            out = static_cast<float>((tblock_.tm_mon) + 1);
             break;
         case DialDataType::DATA_TYPE_TIME_WEEK:
-            out = static_cast<float>(tblock_->tm_wday);
+            out = static_cast<float>(tblock_.tm_wday);
             break;
         case DialDataType::DATA_TYPE_TIME_DATE:
-            out = static_cast<float>(tblock_->tm_mday);
+            out = static_cast<float>(tblock_.tm_mday);
             break;
         case DialDataType::DATA_TYPE_TIME_HOUR:
-            out = static_cast<float>(tblock_->tm_hour);
+            out = static_cast<float>(tblock_.tm_hour);
             break;
         case DialDataType::DATA_TYPE_TIME_MINUTE:
-            out = static_cast<float>(tblock_->tm_min);
+            out = static_cast<float>(tblock_.tm_min);
             break;
         case DialDataType::DATA_TYPE_TIME_SECOND:
-            out = static_cast<float>(tblock_->tm_sec);
+            out = static_cast<float>(tblock_.tm_sec);
             break;
         default:
             return false;