From ae453ec8c07fbee1ccebf933e4fbbfac092161d3 Mon Sep 17 00:00:00 2001 From: Caisking <3449750381@qq.com> Date: Fri, 9 Aug 2024 18:08:27 +0800 Subject: [PATCH] =?utf8?q?=E5=A2=9E=E5=8A=A0=E6=97=B6=E9=97=B4=E7=9A=844?= =?utf8?q?=E4=B8=AA=E6=95=B0=E6=8D=AE=E4=BD=8D=E6=95=B0=E6=8D=AE=E7=B1=BB?= =?utf8?q?=E5=9E=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit --- .../main/include/dial/DialModelHourMin.h | 29 +++++++++++ .../main/include/dial/DialModelHourTens.h | 27 ++++++++++ .../main/include/dial/DialModelHourUnits.h | 29 +++++++++++ .../main/include/dial/DialModelMinTens.h | 27 ++++++++++ .../main/include/dial/DialModelMinUnits.h | 28 +++++++++++ .../main/src/dial/DialModelHourMin.cpp | 49 +++++++++++++++++++ .../main/src/dial/DialModelHourTens.cpp | 32 ++++++++++++ .../main/src/dial/DialModelHourUnits.cpp | 25 ++++++++++ .../main/src/dial/DialModelMinTens.cpp | 37 ++++++++++++++ .../main/src/dial/DialModelMinUnits.cpp | 31 ++++++++++++ 10 files changed, 314 insertions(+) create mode 100644 code/sdk/application/wearable/fd230app/nativeui/main/include/dial/DialModelHourMin.h create mode 100644 code/sdk/application/wearable/fd230app/nativeui/main/include/dial/DialModelHourTens.h create mode 100644 code/sdk/application/wearable/fd230app/nativeui/main/include/dial/DialModelHourUnits.h create mode 100644 code/sdk/application/wearable/fd230app/nativeui/main/include/dial/DialModelMinTens.h create mode 100644 code/sdk/application/wearable/fd230app/nativeui/main/include/dial/DialModelMinUnits.h create mode 100644 code/sdk/application/wearable/fd230app/nativeui/main/src/dial/DialModelHourMin.cpp create mode 100644 code/sdk/application/wearable/fd230app/nativeui/main/src/dial/DialModelHourTens.cpp create mode 100644 code/sdk/application/wearable/fd230app/nativeui/main/src/dial/DialModelHourUnits.cpp create mode 100644 code/sdk/application/wearable/fd230app/nativeui/main/src/dial/DialModelMinTens.cpp create mode 100644 code/sdk/application/wearable/fd230app/nativeui/main/src/dial/DialModelMinUnits.cpp 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 index 000000000..d28ed1d1c --- /dev/null +++ b/code/sdk/application/wearable/fd230app/nativeui/main/include/dial/DialModelHourMin.h @@ -0,0 +1,29 @@ + +#ifndef DIAL_MODEL_HourMin_H +#define DIAL_MODEL_HourMin_H + +#include "DialBaseModel.h" +#include +#include +#include + +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 index 000000000..745f19df3 --- /dev/null +++ b/code/sdk/application/wearable/fd230app/nativeui/main/include/dial/DialModelHourTens.h @@ -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 index 000000000..b517dca23 --- /dev/null +++ b/code/sdk/application/wearable/fd230app/nativeui/main/include/dial/DialModelHourUnits.h @@ -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 index 000000000..7f092b3b2 --- /dev/null +++ b/code/sdk/application/wearable/fd230app/nativeui/main/include/dial/DialModelMinTens.h @@ -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 index 000000000..86720f9cb --- /dev/null +++ b/code/sdk/application/wearable/fd230app/nativeui/main/include/dial/DialModelMinUnits.h @@ -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 index 000000000..2207304c7 --- /dev/null +++ b/code/sdk/application/wearable/fd230app/nativeui/main/src/dial/DialModelHourMin.cpp @@ -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 +#include +#include +#include "sys/time.h" +#include "wearable_log.h" +#include + +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(local_time.tm_hour); + out[1] = static_cast(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 index 000000000..25df34fe4 --- /dev/null +++ b/code/sdk/application/wearable/fd230app/nativeui/main/src/dial/DialModelHourTens.cpp @@ -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 +#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(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 index 000000000..2cbf1baff --- /dev/null +++ b/code/sdk/application/wearable/fd230app/nativeui/main/src/dial/DialModelHourUnits.cpp @@ -0,0 +1,25 @@ + +#include +#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(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 index 000000000..afff9b2f0 --- /dev/null +++ b/code/sdk/application/wearable/fd230app/nativeui/main/src/dial/DialModelMinTens.cpp @@ -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 +#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(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 index 000000000..7d8a50bba --- /dev/null +++ b/code/sdk/application/wearable/fd230app/nativeui/main/src/dial/DialModelMinUnits.cpp @@ -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 +#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(min_units); + + return true; + } +} \ No newline at end of file -- 2.17.1