设备没有电池,驱动默认给了一个电量11%。驱动路径:drivers/peripheral/battery

某些应用对电量敏感可能会需要修改,这个补丁将电量修改为90%,如下:

--- a/battery/interfaces/hdi_service/src/power_supply_provider.cpp
+++ b/battery/interfaces/hdi_service/src/power_supply_provider.cpp
@@ -954,7 +954,7 @@ void PowerSupplyProvider::CreateMockChargerPath(std::string& mockChargerPath)
 void PowerSupplyProvider::CreateMockBatteryPath(std::string& mockBatteryPath)
 {
     BATTERY_HILOGI(FEATURE_BATT_INFO, "create mockFilePath path");
-    CreateFile(mockBatteryPath + "/capacity", "11");
+    CreateFile(mockBatteryPath + "/capacity", "90");
     CreateFile(mockBatteryPath + "/charge_control_limit", "0");
     CreateFile(mockBatteryPath + "/charge_counter", "4000000");
     CreateFile(mockBatteryPath + "/charge_full", "4000000");
diff --git a/battery/interfaces/hdi_service/test/unittest/src/hdi_service_test.cpp b/battery/interfaces/hdi_service/test/unittest/src/hdi_service_test.cpp
index c0d96eb40..2a3d75570 100644
--- a/battery/interfaces/hdi_service/test/unittest/src/hdi_service_test.cpp
+++ b/battery/interfaces/hdi_service/test/unittest/src/hdi_service_test.cpp
@@ -864,10 +864,10 @@ HWTEST_F(HdiServiceTest, HdiService003, TestSize.Level1)
             LABEL_TEST, "Not Mcok HdiService003::capacity=%{public}d, l=%{public}d", capacity, sysfsCapacity);
         ASSERT_TRUE(capacity == sysfsCapacity);
     } else {
-        CreateFile(MOCK_BATTERY_PATH + "battery/capacity", "11");
+        CreateFile(MOCK_BATTERY_PATH + "battery/capacity", "90");
         giver_->ParseCapacity(&capacity);
         BATTERY_HILOGI(LABEL_TEST, "HdiService003::capacity=%{public}d", capacity);
-        ASSERT_TRUE(capacity == 11);
+        ASSERT_TRUE(capacity == 90);
     }
 }

应用该补丁后在顶部状态条可以看到电量变为90%,也可以用shell指令查看电量:hidumper -s BatteryService -a -i

补丁是在OpenHarmony 5.0.3 下做的,6.1系列版本应该也可以参考。

 

Logo

社区规范:仅讨论OpenHarmony相关问题。

更多推荐