From: Caisking <3449750381@qq.com> Date: Sat, 27 Apr 2024 09:46:59 +0000 (+0800) Subject: 修复表盘电量更新问题;需要更新表盘资源 X-Git-Tag: release_V1.2.70_20241020_135402~1025^2~63 X-Git-Url: http://git.snicker.com.cn/?a=commitdiff_plain;h=f900d3fec142e5cd47ed23d97b248381b9e633e8;p=mirrors%2FFD230.git 修复表盘电量更新问题;需要更新表盘资源 --- diff --git a/code/sdk/application/wearable/fd230app/CMakeLists.txt b/code/sdk/application/wearable/fd230app/CMakeLists.txt index 1823754d7..045d8d834 100644 --- a/code/sdk/application/wearable/fd230app/CMakeLists.txt +++ b/code/sdk/application/wearable/fd230app/CMakeLists.txt @@ -152,6 +152,7 @@ set(SOURCES ${CMAKE_CURRENT_SOURCE_DIR}/nativeui/main/src/dial/DialModelHeartRate.cpp ${CMAKE_CURRENT_SOURCE_DIR}/nativeui/main/src/dial/DialModelSteps.cpp ${CMAKE_CURRENT_SOURCE_DIR}/nativeui/main/src/dial/DialModelPower.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/nativeui/main/src/dial/DialModelPowerStandby.cpp ${CMAKE_CURRENT_SOURCE_DIR}/nativeui/main/src/dial/DialModelCharge.cpp ${CMAKE_CURRENT_SOURCE_DIR}/nativeui/main/src/dial/DialModelSPO2.cpp ${CMAKE_CURRENT_SOURCE_DIR}/nativeui/bloodoxygen/src/BloodOxygenView.cpp diff --git a/code/sdk/application/wearable/fd230app/nativeui/main/include/dial/DialDataBase.h b/code/sdk/application/wearable/fd230app/nativeui/main/include/dial/DialDataBase.h index a35b08a90..d8e476996 100644 --- a/code/sdk/application/wearable/fd230app/nativeui/main/include/dial/DialDataBase.h +++ b/code/sdk/application/wearable/fd230app/nativeui/main/include/dial/DialDataBase.h @@ -1,3 +1,9 @@ +/*** + * @Date: 2024-04-15 10:55:58 + * @LastEditors: Caisking 3449750381@qq.com + * @LastEditTime: 2024-04-27 11:16:57 + * @FilePath: /XTS_FD230/FD230/code/sdk/application/wearable/fd230app/nativeui/main/include/dial/DialDataBase.h + */ /* * Copyright (c) CompanyNameMagicTag 2023. All rights reserved. @@ -32,11 +38,12 @@ enum class DialDataType DATA_TYPE_TIME_MONTH, // 月份 DATA_TYPE_TIME_YEAR, // 年份 /* ------------------------------- 在下面增加新数据类型 ------------------------------- */ - DATA_TYPE_CHARGE, // 充电状态 - DATA_TYPE_DIALPATH, // 表盘路径 - DATA_TYPE_SPO2, // 血氧 - DATA_TYPE_DISTANCE, // 距离 - DATA_TYPE_WEATHER, // 天气 + DATA_TYPE_CHARGE, // 充电状态 + DATA_TYPE_DIALPATH, // 表盘路径 + DATA_TYPE_SPO2, // 血氧 + DATA_TYPE_DISTANCE, // 距离 + DATA_TYPE_WEATHER, // 天气 + DATA_TYPE_POWER_STANDBY, // 备用电量数据类型 DATA_TYPE_MULTI_FLOAT_BASE = 0x2fff, // 多个浮点数据类型基值 diff --git a/code/sdk/application/wearable/fd230app/nativeui/main/include/dial/DialModelPower.h b/code/sdk/application/wearable/fd230app/nativeui/main/include/dial/DialModelPower.h index 598edb345..537b00948 100644 --- a/code/sdk/application/wearable/fd230app/nativeui/main/include/dial/DialModelPower.h +++ b/code/sdk/application/wearable/fd230app/nativeui/main/include/dial/DialModelPower.h @@ -1,3 +1,9 @@ +/*** + * @Date: 2024-04-15 10:55:58 + * @LastEditors: Caisking 3449750381@qq.com + * @LastEditTime: 2024-04-27 10:01:25 + * @FilePath: /XTS_FD230/FD230/code/sdk/application/wearable/fd230app/nativeui/main/include/dial/DialModelPower.h + */ /* * Copyright (c) CompanyNameMagicTag 2023. All rights reserved. * Description: DialModelPower @@ -24,9 +30,11 @@ namespace OHOS } bool GetDialFloatData(DialDataType &type, float &out) override; void UpdatePower(); + void NotifyPowerUpdate(); private: - uint8_t power_ = 101; + uint8_t power_ = 0; + bool powerUpdated_{false}; }; } #endif diff --git a/code/sdk/application/wearable/fd230app/nativeui/main/include/dial/DialModelPowerStandby.h b/code/sdk/application/wearable/fd230app/nativeui/main/include/dial/DialModelPowerStandby.h new file mode 100644 index 000000000..d0c5156df --- /dev/null +++ b/code/sdk/application/wearable/fd230app/nativeui/main/include/dial/DialModelPowerStandby.h @@ -0,0 +1,46 @@ +/*** + * @Date: 2024-04-27 11:55:14 + * @LastEditors: Caisking 3449750381@qq.com + * @LastEditTime: 2024-04-27 11:56:11 + * @FilePath: /XTS_FD230/FD230/code/sdk/application/wearable/fd230app/nativeui/main/include/dial/DialModelPowerStanbyStandby.h + */ +/*** + * @Date: 2024-04-15 10:55:58 + * @LastEditors: Caisking 3449750381@qq.com + * @LastEditTime: 2024-04-27 10:01:25 + * @FilePath: /XTS_FD230/FD230/code/sdk/application/wearable/fd230app/nativeui/main/include/dial/DialModelPowerStanby.h + */ +/* + * Copyright (c) CompanyNameMagicTag 2023. All rights reserved. + * Description: DialModelPowerStanby + * Author: + * Create: 2023-12 + */ + +#ifndef DIAL_MODEL_POWER_STANDBY_H +#define DIAL_MODEL_POWER_STANDBY_H + +#include "DialBaseModel.h" + +namespace OHOS +{ + class DialModelPowerStanby : public DialBaseModel + { + public: + DialModelPowerStanby() {} + virtual ~DialModelPowerStanby() {} + static DialModelPowerStanby *GetInstance() + { + static DialModelPowerStanby instance; + return &instance; + } + bool GetDialFloatData(DialDataType &type, float &out) override; + void UpdatePowerStanby(); + void NotifyPowerStanbyUpdate(); + + private: + uint8_t PowerStanby_ = 0; + bool PowerStanbyUpdated_{false}; + }; +} +#endif diff --git a/code/sdk/application/wearable/fd230app/nativeui/main/src/dial/DialModelPower.cpp b/code/sdk/application/wearable/fd230app/nativeui/main/src/dial/DialModelPower.cpp index c2aa59f82..49962d680 100644 --- a/code/sdk/application/wearable/fd230app/nativeui/main/src/dial/DialModelPower.cpp +++ b/code/sdk/application/wearable/fd230app/nativeui/main/src/dial/DialModelPower.cpp @@ -1,4 +1,10 @@ -/*** +/*** + * @Date: 2024-04-15 10:55:58 + * @LastEditors: Caisking 3449750381@qq.com + * @LastEditTime: 2024-04-27 10:00:50 + * @FilePath: /XTS_FD230/FD230/code/sdk/application/wearable/fd230app/nativeui/main/src/dial/DialModelPower.cpp + */ +/*** * @Author: Caisking 3449750381@qq.com * @Date: 2024-02-21 10:06:53 * @LastEditors: Caisking 3449750381@qq.com @@ -28,28 +34,38 @@ namespace OHOS bool DialModelPower::GetDialFloatData(DialDataType &type, float &out) { (void)type; - if (power_ == 101) + if (!powerUpdated_) { UpdatePower(); - return true; + WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "UpdatePower %d", power_); + return false; } - // 获取电池电压值 float voltage = 0.0F; - power_ = battery_get_voltage(&voltage); // 进度条0.1~1;电量1~100 + power_ = battery_get_voltage(&voltage); out = static_cast(power_); - // WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "GetDialFloatData %d", power_); return true; } + void DialModelPower::UpdatePower() { - // 获取电池电压值 float voltage = 0.0F; power_ = battery_get_voltage(&voltage); - WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "UpdatePower %d", power_); + if (power_ == 0) + { + WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "Failed to get battery voltage"); + return; + } + powerUpdated_ = true; + NotifyPowerUpdate(); + } + + void DialModelPower::NotifyPowerUpdate() + { + onChangeListener_ = new OnDialDataUpdateListener(); if (onChangeListener_ != nullptr) { onChangeListener_->OnDialFloatDataUpdate(DialDataType::DATA_TYPE_POWER, power_); + PRINT("[UpdatePower!]\r\n"); } } - } diff --git a/code/sdk/application/wearable/fd230app/nativeui/main/src/dial/DialModelPowerStandby.cpp b/code/sdk/application/wearable/fd230app/nativeui/main/src/dial/DialModelPowerStandby.cpp new file mode 100644 index 000000000..a4a376364 --- /dev/null +++ b/code/sdk/application/wearable/fd230app/nativeui/main/src/dial/DialModelPowerStandby.cpp @@ -0,0 +1,63 @@ +/*** + * @Date: 2024-04-27 11:56:33 + * @LastEditors: Caisking 3449750381@qq.com + * @LastEditTime: 2024-04-27 11:58:02 + * @FilePath: /XTS_FD230/FD230/code/sdk/application/wearable/fd230app/nativeui/main/src/dial/DialModelPowerStandby.cpp + */ +/* + * Copyright (c) CompanyNameMagicTag 2023. All rights reserved. + * Description: DialModelPowerStanby + * Author: + * Create: 2023-12 + */ + +#include "RegisterDialModel.h" +#include "DialModelPowerStandby.h" +#include "DialBoxProgressView.h" +#include +#include "battery_hal.h" +#include "wearable_log.h" +extern uint8_t battery_get_voltage(float *voltage); + +REGIST_DIAL_MODULE(DialDataType::DATA_TYPE_POWER_STANDBY, OHOS::DialModelPowerStanby::GetInstance()); + +namespace OHOS +{ + bool DialModelPowerStanby::GetDialFloatData(DialDataType &type, float &out) + { + (void)type; + if (!PowerStanbyUpdated_) + { + UpdatePowerStanby(); + WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "UpdatePowerStanby %d", PowerStanby_); + return false; + } + float voltage = 0.0F; + PowerStanby_ = battery_get_voltage(&voltage); + out = static_cast(PowerStanby_); + return true; + } + + void DialModelPowerStanby::UpdatePowerStanby() + { + float voltage = 0.0F; + PowerStanby_ = battery_get_voltage(&voltage); + if (PowerStanby_ == 0) + { + WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "Failed to get battery voltage"); + return; + } + PowerStanbyUpdated_ = true; + NotifyPowerStanbyUpdate(); + } + + void DialModelPowerStanby::NotifyPowerStanbyUpdate() + { + onChangeListener_ = new OnDialDataUpdateListener(); + if (onChangeListener_ != nullptr) + { + onChangeListener_->OnDialFloatDataUpdate(DialDataType::DATA_TYPE_POWER_STANDBY, PowerStanby_); + PRINT("[UpdatePowerStanby!]\r\n"); + } + } +} diff --git a/code/sdk/application/wearable/fd230app/nativeui/traing/training_card/include/TraingCardPresenter.h b/code/sdk/application/wearable/fd230app/nativeui/traing/training_card/include/TraingCardPresenter.h index 907250881..62b343714 100644 --- a/code/sdk/application/wearable/fd230app/nativeui/traing/training_card/include/TraingCardPresenter.h +++ b/code/sdk/application/wearable/fd230app/nativeui/traing/training_card/include/TraingCardPresenter.h @@ -65,7 +65,6 @@ namespace OHOS bool OnDrag(UIView &view, const DragEvent &event) override; int tag_ = 0; bool opensensorstuats{false}; - bool goalSet{nullptr}; // bool OnDragEnd(UIView& view, const DragEvent& event) override; }; } // namespace OHOS diff --git a/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/dial/Dynamic_cat.bin b/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/dial/Dynamic_cat.bin index cc28596cb..af584d574 100644 --- a/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/dial/Dynamic_cat.bin +++ b/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/dial/Dynamic_cat.bin @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:53c9ec30b55f0ac36eb75004ee4879ee89da2a55641c92f4d9d3a8c347ce5279 -size 1589658 +oid sha256:cbca2bd87da90ab2f57fe5ee82c98a82b6143694c461c859806e4ad62ffa2a59 +size 1589634 diff --git a/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/dial/classic.bin b/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/dial/classic.bin index e8efc2317..e63bbad59 100644 --- a/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/dial/classic.bin +++ b/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/dial/classic.bin @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:ca273f320f6d7baa851297c6ed8fe0c88baba9a52e8e41a841d8588c7965909b -size 209311 +oid sha256:8fedf9d0e0bae4092e18acfa11df03eeec8702dd0359f5040d76470a13062b2a +size 209287 diff --git a/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/dial/galaxy.bin b/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/dial/galaxy.bin index 34e02cfb9..27e4bba21 100644 --- a/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/dial/galaxy.bin +++ b/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/dial/galaxy.bin @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:8f51a2a85639bdbbffd8a5d92442a2c8a8ed7240146b2b1ad8ff504c5432558b -size 217103 +oid sha256:8c8c35e839eeb124353a58fd7be8dd2f80330f1f1597493bf0aa877b896e2333 +size 217079 diff --git a/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/dial/geometry.bin b/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/dial/geometry.bin index d56dfa897..dcc99a95d 100644 --- a/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/dial/geometry.bin +++ b/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/dial/geometry.bin @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:7856fb100c166ae04cb5c782d00e471d7999edc96d23c2e96f890909359de690 -size 355785 +oid sha256:2a0d12e250a461b18ff3ca36a17ace0d9c9c712254641b2155d8d626429f67f6 +size 355761 diff --git a/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/dial/jellyfish.bin b/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/dial/jellyfish.bin index ffe780c09..f30f25d3b 100644 --- a/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/dial/jellyfish.bin +++ b/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/dial/jellyfish.bin @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:8608142cbc6bc56be0f5e74a4ec670b44bc5fa7be20cc5d5cec3c28f58e23ec8 -size 202416 +oid sha256:8f8bd3c281d4a283f0d456f1e94bedf66e6ab6df252d3b2018e44944652614ec +size 202392 diff --git a/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/dial/maomao.bin b/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/dial/maomao.bin index db3498918..538f02369 100644 --- a/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/dial/maomao.bin +++ b/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/dial/maomao.bin @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:1243a86f7910561ee45d991fd82821f2fe3834e07fa723eb50ace1d6f8a2b755 -size 209311 +oid sha256:0e94a8c269d1f3a37114475f377b3f5bf7dfe714722420d2f60494a341060803 +size 209287 diff --git a/dial_resource_files/Dynamic_cat.xml b/dial_resource_files/Dynamic_cat.xml index cd608b479..7f256c62e 100644 --- a/dial_resource_files/Dynamic_cat.xml +++ b/dial_resource_files/Dynamic_cat.xml @@ -15,8 +15,8 @@ - - + + bind_data="1"> + bind_data="2"> + + color="0xFFFFFFFF" cap_type="none" direction="left_to_right" background_color="0x00FFFFFF" + bind_data="25" + period="60"> - + + +