virtual ~DialBoxProgressView();
void HandleFloatData(float data) override;
private:
- int32_t value_ = -1;
+ int32_t value_ = 50;
};
}
#endif
\ No newline at end of file
#include "DialBaseModel.h"
-namespace OHOS {
-class DialModelPower : public DialBaseModel {
-public:
- DialModelPower() {}
- virtual ~DialModelPower() {}
- static DialModelPower* GetInstance()
+namespace OHOS
+{
+ class DialModelPower : public DialBaseModel
{
- static DialModelPower instance;
- return &instance;
- }
- bool GetDialFloatData(DialDataType& type, float& out) override;
+ public:
+ DialModelPower() {}
+ virtual ~DialModelPower() {}
+ static DialModelPower *GetInstance()
+ {
+ static DialModelPower instance;
+ return &instance;
+ }
+ bool GetDialFloatData(DialDataType &type, float &out) override;
+ void UpdatePower();
-private:
- int16_t power_ = 90; // 90: default power level
-};
+ private:
+ uint8_t power_ = 0;
+ };
}
#endif
#include "RegisterDialModel.h"
#include "DialModelPower.h"
+#include <string>
+#include "battery_hal.h"
+extern uint8_t battery_get_voltage(float *voltage);
REGIST_DIAL_MODULE(DialDataType::DATA_TYPE_POWER, OHOS::DialModelPower::GetInstance());
-namespace OHOS {
-bool DialModelPower::GetDialFloatData(DialDataType& type, float& out)
+namespace OHOS
{
- (void)type;
- out = power_;
- return true;
-}
+ bool DialModelPower::GetDialFloatData(DialDataType &type, float &out)
+ {
+ if (power_ == 0)
+ {
+ UpdatePower();
+ }
+ (void)type;
+ out = power_;
+ return true;
+ }
+ void DialModelPower::UpdatePower()
+ {
+ // 获取电池电压值
+ float voltage = 0.0F;
+ power_ = battery_get_voltage(&voltage);
+ if (onChangeListener_ != nullptr)
+ {
+ onChangeListener_->OnDialFloatDataUpdate(DialDataType::DATA_TYPE_POWER, power_);
+ }
+ }
}
void TestPicker();
void GetTestView();
- bool OnRotateStart(UIView &view, const RotateEvent &event) override;
+ bool OnRotate(UIView &view, const RotateEvent &event) override;
private:
UIViewGroup *container_ = nullptr;
{
TestPicker();
}
- bool RotateView::OnRotateStart(UIView &view, const RotateEvent &event)
+ bool RotateView::OnRotate(UIView &view, const RotateEvent &event)
{
WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "OnRotateStart");
+ return true;
}
void RotateView::TestPicker()
{