增加电量,电池进度条
authorCaisking <3449750381@qq.com>
Thu, 22 Feb 2024 03:13:32 +0000 (11:13 +0800)
committerCaisking <3449750381@qq.com>
Thu, 22 Feb 2024 03:13:32 +0000 (11:13 +0800)
code/sdk/application/wearable/fd230app/nativeui/main/include/dial/DialBoxProgressView.h
code/sdk/application/wearable/fd230app/nativeui/main/include/dial/DialModelPower.h
code/sdk/application/wearable/fd230app/nativeui/main/src/dial/DialModelPower.cpp
code/sdk/application/wearable/fd230app/nativeui/rotate/include/RotateView.h
code/sdk/application/wearable/fd230app/nativeui/rotate/src/RotateView.cpp
code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/maomao.bin

index b5ea601..ad1f1d5 100644 (file)
@@ -15,7 +15,7 @@ public:
     virtual ~DialBoxProgressView();
     void HandleFloatData(float data) override;
 private:
-    int32_t value_ = -1;
+    int32_t value_ = 50;
 };
 }
 #endif
\ No newline at end of file
index c09fbc8..e1a9fd4 100644 (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
index e0e1877..55d6a94 100644 (file)
@@ -7,14 +7,32 @@
 
 #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_);
+        }
+    }
 }
index 3f7c061..6064b9e 100644 (file)
@@ -44,7 +44,7 @@ namespace OHOS
 
         void TestPicker();
         void GetTestView();
-        bool OnRotateStart(UIView &view, const RotateEvent &event) override;
+        bool OnRotate(UIView &view, const RotateEvent &event) override;
 
     private:
         UIViewGroup *container_ = nullptr;
index 945617b..f2df842 100644 (file)
@@ -52,9 +52,10 @@ namespace OHOS
     {
         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()
     {
index 767ad3a..e4eace0 100644 (file)
Binary files a/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/maomao.bin and b/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/maomao.bin differ