增加时间的4个数据位数据类型
authorCaisking <3449750381@qq.com>
Fri, 9 Aug 2024 10:08:27 +0000 (18:08 +0800)
committerCaisking <3449750381@qq.com>
Fri, 9 Aug 2024 10:08:27 +0000 (18:08 +0800)
code/sdk/application/wearable/fd230app/nativeui/main/include/dial/DialModelHourMin.h [new file with mode: 0644]
code/sdk/application/wearable/fd230app/nativeui/main/include/dial/DialModelHourTens.h [new file with mode: 0644]
code/sdk/application/wearable/fd230app/nativeui/main/include/dial/DialModelHourUnits.h [new file with mode: 0644]
code/sdk/application/wearable/fd230app/nativeui/main/include/dial/DialModelMinTens.h [new file with mode: 0644]
code/sdk/application/wearable/fd230app/nativeui/main/include/dial/DialModelMinUnits.h [new file with mode: 0644]
code/sdk/application/wearable/fd230app/nativeui/main/src/dial/DialModelHourMin.cpp [new file with mode: 0644]
code/sdk/application/wearable/fd230app/nativeui/main/src/dial/DialModelHourTens.cpp [new file with mode: 0644]
code/sdk/application/wearable/fd230app/nativeui/main/src/dial/DialModelHourUnits.cpp [new file with mode: 0644]
code/sdk/application/wearable/fd230app/nativeui/main/src/dial/DialModelMinTens.cpp [new file with mode: 0644]
code/sdk/application/wearable/fd230app/nativeui/main/src/dial/DialModelMinUnits.cpp [new file with mode: 0644]

diff --git a/code/sdk/application/wearable/fd230app/nativeui/main/include/dial/DialModelHourMin.h b/code/sdk/application/wearable/fd230app/nativeui/main/include/dial/DialModelHourMin.h
new file mode 100644 (file)
index 0000000..d28ed1d
--- /dev/null
@@ -0,0 +1,29 @@
+
+#ifndef DIAL_MODEL_HourMin_H
+#define DIAL_MODEL_HourMin_H
+
+#include "DialBaseModel.h"
+#include <cstdint>
+#include <string>
+#include <vector>
+
+namespace OHOS
+{
+    class DialModelHourMin : public DialBaseModel
+    {
+    public:
+        DialModelHourMin() {}
+        virtual ~DialModelHourMin() {}
+        static DialModelHourMin *GetInstance()
+        {
+            static DialModelHourMin instance;
+            return &instance;
+        }
+        bool GetDialFloatData(DialDataType &type, float *&out, int16_t len) override;
+        void UpdateHourMin(const std::string *&dialHourMin);
+
+    private:
+        float dialhourmin{2};
+    };
+}
+#endif
\ No newline at end of file
diff --git a/code/sdk/application/wearable/fd230app/nativeui/main/include/dial/DialModelHourTens.h b/code/sdk/application/wearable/fd230app/nativeui/main/include/dial/DialModelHourTens.h
new file mode 100644 (file)
index 0000000..745f19d
--- /dev/null
@@ -0,0 +1,27 @@
+
+#ifndef DIAL_MODEL_HourTens_H
+#define DIAL_MODEL_HourTens_H
+
+#include "DialBaseModel.h"
+
+namespace OHOS
+{
+    class DialModelHourTens : public DialBaseModel
+    {
+    public:
+        DialModelHourTens() {}
+        ~DialModelHourTens() override {}
+        static DialModelHourTens *GetInstance()
+        {
+            static DialModelHourTens instance;
+            return &instance;
+        }
+        bool GetDialFloatData(DialDataType &type, float &out) override;
+        void UpdateHourTens();
+
+    private:
+        struct tm tblock_;
+        uint8_t hour_tens;
+    };
+}
+#endif
diff --git a/code/sdk/application/wearable/fd230app/nativeui/main/include/dial/DialModelHourUnits.h b/code/sdk/application/wearable/fd230app/nativeui/main/include/dial/DialModelHourUnits.h
new file mode 100644 (file)
index 0000000..b517dca
--- /dev/null
@@ -0,0 +1,29 @@
+
+
+#ifndef DIAL_MODEL_HourUnits_H
+#define DIAL_MODEL_HourUnits_H
+
+#include "DialBaseModel.h"
+
+namespace OHOS
+{
+    class DialModelHourUnits : public DialBaseModel
+    {
+    public:
+        DialModelHourUnits() {}
+        ~DialModelHourUnits() override {}
+        static DialModelHourUnits *GetInstance()
+        {
+            static DialModelHourUnits instance;
+            return &instance;
+        }
+        bool GetDialFloatData(DialDataType &type, float &out) override;
+        void UpdateHourUnits();
+
+    private:
+        struct tm tblock_;
+        uint8_t hour_units;
+     
+    };
+}
+#endif
diff --git a/code/sdk/application/wearable/fd230app/nativeui/main/include/dial/DialModelMinTens.h b/code/sdk/application/wearable/fd230app/nativeui/main/include/dial/DialModelMinTens.h
new file mode 100644 (file)
index 0000000..7f092b3
--- /dev/null
@@ -0,0 +1,27 @@
+
+#ifndef DIAL_MODEL_MinTens_H
+#define DIAL_MODEL_MinTens_H
+
+#include "DialBaseModel.h"
+
+namespace OHOS
+{
+    class DialModelMinTens : public DialBaseModel
+    {
+    public:
+        DialModelMinTens() {}
+        ~DialModelMinTens() override {}
+        static DialModelMinTens *GetInstance()
+        {
+            static DialModelMinTens instance;
+            return &instance;
+        }
+        bool GetDialFloatData(DialDataType &type, float &out) override;
+        void UpdateMinTens();
+
+    private:
+        struct tm tblock_;
+        uint8_t min_tens;
+    };
+}
+#endif
diff --git a/code/sdk/application/wearable/fd230app/nativeui/main/include/dial/DialModelMinUnits.h b/code/sdk/application/wearable/fd230app/nativeui/main/include/dial/DialModelMinUnits.h
new file mode 100644 (file)
index 0000000..86720f9
--- /dev/null
@@ -0,0 +1,28 @@
+
+
+#ifndef DIAL_MODEL_MinUnits_H
+#define DIAL_MODEL_MinUnits_H
+
+#include "DialBaseModel.h"
+
+namespace OHOS
+{
+    class DialModelMinUnits : public DialBaseModel
+    {
+    public:
+        DialModelMinUnits() {}
+        ~DialModelMinUnits() override {}
+        static DialModelMinUnits *GetInstance()
+        {
+            static DialModelMinUnits instance;
+            return &instance;
+        }
+        bool GetDialFloatData(DialDataType &type, float &out) override;
+        void UpdateMinUnits();
+
+    private:
+        struct tm tblock_;
+        uint8_t min_units;
+    };
+}
+#endif
diff --git a/code/sdk/application/wearable/fd230app/nativeui/main/src/dial/DialModelHourMin.cpp b/code/sdk/application/wearable/fd230app/nativeui/main/src/dial/DialModelHourMin.cpp
new file mode 100644 (file)
index 0000000..2207304
--- /dev/null
@@ -0,0 +1,49 @@
+/***
+ * @Date: 2024-08-08 16:15:49
+ * @LastEditors: Caisking 3449750381@qq.com
+ * @LastEditTime: 2024-08-08 16:28:43
+ * @FilePath: /FD230/code/sdk/application/wearable/fd230app/nativeui/main/src/dial/DialModelHourMin.cpp
+ */
+#include "RegisterDialModel.h"
+#include "DialModelHourMin.h"
+#include <string>
+#include <ctime>
+#include <time.h>
+#include "sys/time.h"
+#include "wearable_log.h"
+#include <vector>
+
+REGIST_DIAL_MODULE(DialDataType::DATA_TYPE_HOUR_MIN, OHOS::DialModelHourMin::GetInstance());
+namespace OHOS
+{
+    /*继承的虚函数 不能修改*/
+    bool DialModelHourMin::GetDialFloatData(DialDataType &type, float *&out, int16_t len)
+    {
+        (void)type;
+
+        struct tm local_time = {0};
+        time_t seconds = time(nullptr);
+
+        if (localtime_r(&seconds, &local_time) == nullptr)
+        {
+            WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "get localtime error!");
+            return false;
+        }
+
+        out[0] = static_cast<float>(local_time.tm_hour);
+        out[1] = static_cast<float>(local_time.tm_min);
+        printf("GetDialFloatData %f %f\r\n", out[0], out[1]);
+        len = 2;
+        return true;
+    }
+
+    void DialModelHourMin::UpdateHourMin(const std::string *&dialHourMin)
+    {
+        // dialdateStr_.clear();
+        // dialdateStr_ = *dialHourMin; // 更新字符串
+        // if (onChangeListener_ != nullptr)
+        // {
+        //     onChangeListener_->OnDialTextDataUpdate(DialDataType::DialModelMinUnits, &dialdateStr_, dialdateStr_.size());
+        // }
+    }
+}
\ No newline at end of file
diff --git a/code/sdk/application/wearable/fd230app/nativeui/main/src/dial/DialModelHourTens.cpp b/code/sdk/application/wearable/fd230app/nativeui/main/src/dial/DialModelHourTens.cpp
new file mode 100644 (file)
index 0000000..25df34f
--- /dev/null
@@ -0,0 +1,32 @@
+/*** 
+ * @Date: 2024-08-08 15:01:28
+ * @LastEditors: Caisking 3449750381@qq.com
+ * @LastEditTime: 2024-08-08 15:13:46
+ * @FilePath: /FD230/code/sdk/application/wearable/fd230app/nativeui/main/src/dial/DialModelHourTens.cpp
+ */
+
+#include <sys/time.h>
+#include "RegisterDialModel.h"
+#include "DialModelHourTens.h"
+#include "custom_runtime.h"
+
+// 注册模块
+REGIST_DIAL_MODULE(DialDataType::DATA_TYPE_HOUR_TENS, OHOS::DialModelHourTens::GetInstance());
+
+namespace OHOS
+{
+
+    bool DialModelHourTens::GetDialFloatData(DialDataType &type, float &out)
+    {
+        (void)type;
+        struct timeval tv;
+        gettimeofday(&tv, NULL); // 获取当前时间
+        localtime_r(&tv.tv_sec, &tblock_);
+        hour_tens = tblock_.tm_hour / 10; // 小时十位
+
+        out = static_cast<float>(hour_tens);
+
+        return true;
+    }
+
+}
\ No newline at end of file
diff --git a/code/sdk/application/wearable/fd230app/nativeui/main/src/dial/DialModelHourUnits.cpp b/code/sdk/application/wearable/fd230app/nativeui/main/src/dial/DialModelHourUnits.cpp
new file mode 100644 (file)
index 0000000..2cbf1ba
--- /dev/null
@@ -0,0 +1,25 @@
+
+#include <sys/time.h>
+#include "RegisterDialModel.h"
+#include "DialModelHourUnits.h"
+#include "custom_runtime.h"
+
+// 注册模块
+REGIST_DIAL_MODULE(DialDataType::DATA_TYPE_HOUR_UNITS, OHOS::DialModelHourUnits::GetInstance());
+
+namespace OHOS
+{
+
+    bool DialModelHourUnits::GetDialFloatData(DialDataType &type, float &out)
+    {
+        (void)type;
+        struct timeval tv;
+        gettimeofday(&tv, NULL); // 获取当前时间
+        localtime_r(&tv.tv_sec, &tblock_);
+        hour_units = tblock_.tm_hour % 10; // 小时十位
+
+        out = static_cast<float>(hour_units);
+
+        return true;
+    }
+}
\ No newline at end of file
diff --git a/code/sdk/application/wearable/fd230app/nativeui/main/src/dial/DialModelMinTens.cpp b/code/sdk/application/wearable/fd230app/nativeui/main/src/dial/DialModelMinTens.cpp
new file mode 100644 (file)
index 0000000..afff9b2
--- /dev/null
@@ -0,0 +1,37 @@
+/*** 
+ * @Date: 2024-08-08 15:02:25
+ * @LastEditors: Caisking 3449750381@qq.com
+ * @LastEditTime: 2024-08-08 15:12:41
+ * @FilePath: /FD230/code/sdk/application/wearable/fd230app/nativeui/main/src/dial/DialModelMinTens.cpp
+ */
+/***
+ * @Date: 2024-08-08 15:01:28
+ * @LastEditors: Caisking 3449750381@qq.com
+ * @LastEditTime: 2024-08-08 15:10:38
+ * @FilePath: /FD230/code/sdk/application/wearable/fd230app/nativeui/main/src/dial/DialModelMinTens.cpp
+ */
+
+#include <sys/time.h>
+#include "RegisterDialModel.h"
+#include "DialModelMinTens.h"
+#include "custom_runtime.h"
+
+// 注册模块
+REGIST_DIAL_MODULE(DialDataType::DATA_TYPE_MINUTE_TENS, OHOS::DialModelMinTens::GetInstance());
+
+namespace OHOS
+{
+
+    bool DialModelMinTens::GetDialFloatData(DialDataType &type, float &out)
+    {
+        (void)type;
+        struct timeval tv;
+        gettimeofday(&tv, NULL); // 获取当前时间
+        localtime_r(&tv.tv_sec, &tblock_);
+        min_tens = tblock_.tm_min / 10; // 分钟十位
+
+        out = static_cast<float>(min_tens);
+
+        return true;
+    }
+}
\ No newline at end of file
diff --git a/code/sdk/application/wearable/fd230app/nativeui/main/src/dial/DialModelMinUnits.cpp b/code/sdk/application/wearable/fd230app/nativeui/main/src/dial/DialModelMinUnits.cpp
new file mode 100644 (file)
index 0000000..7d8a50b
--- /dev/null
@@ -0,0 +1,31 @@
+/***
+ * @Date: 2024-08-08 15:02:35
+ * @LastEditors: Caisking 3449750381@qq.com
+ * @LastEditTime: 2024-08-08 15:12:59
+ * @FilePath: /FD230/code/sdk/application/wearable/fd230app/nativeui/main/src/dial/DialModelMinUnits.cpp
+ */
+
+#include <sys/time.h>
+#include "RegisterDialModel.h"
+#include "DialModelMinUnits.h"
+#include "custom_runtime.h"
+
+// 注册模块
+REGIST_DIAL_MODULE(DialDataType::DATA_TYPE_MINUTE_UNITS, OHOS::DialModelMinUnits::GetInstance());
+
+namespace OHOS
+{
+
+    bool DialModelMinUnits::GetDialFloatData(DialDataType &type, float &out)
+    {
+        (void)type;
+        struct timeval tv;
+        gettimeofday(&tv, NULL); // 获取当前时间
+        localtime_r(&tv.tv_sec, &tblock_);
+        min_units = tblock_.tm_hour % 10; // 小时十位
+
+        out = static_cast<float>(min_units);
+
+        return true;
+    }
+}
\ No newline at end of file