Skip to content

Commit d4ac568

Browse files
committed
refactor: remove smart battery management feature
Removed the smart battery management feature including its configuration options and related code. This includes: 1. Removed smartBatteryStatus and smartBatteryOnThreshold configuration options from DSG config 2. Removed smart battery related fields from Battery and Manager structs 3. Removed smart battery logic that fakes 100% battery percentage when charging above threshold 4. Removed refreshSmartBattery method and its calls 5. Removed DSG configuration handling for smart battery settings The feature was removed to simplify the power management system and eliminate potentially misleading battery percentage display behavior that could confuse users about actual battery status. Log: Removed smart battery management feature Influence: 1. Test battery percentage display accuracy during charging 2. Verify battery status reporting remains consistent 3. Test power management functionality without smart battery features 4. Confirm configuration options are properly removed from settings 5. Verify no regression in battery low warnings and power saving modes refactor: 移除智能电量管理功能 移除了智能电量管理功能及其相关配置选项和代码。具体包括: 1. 从 DSG 配置中移除 smartBatteryStatus 和 smartBatteryOnThreshold 配置 选项 2. 从 Battery 和 Manager 结构体中移除智能电量相关字段 3. 移除在充电超过阈值时伪造 100% 电量的智能电量逻辑 4. 移除 refreshSmartBattery 方法及其调用 5. 移除智能电量设置的 DSG 配置处理 此次移除旨在简化电源管理系统,消除可能误导用户对实际电池状态认知的电池百 分比显示行为。 Log: 移除智能电量管理功能 Influence: 1. 测试充电期间电池百分比显示的准确性 2. 验证电池状态报告保持一致性 3. 测试无智能电量功能下的电源管理功能 4. 确认配置选项已从设置中正确移除 5. 验证电池低电量警告和节能模式无回归问题
1 parent ea1f285 commit d4ac568

4 files changed

Lines changed: 0 additions & 89 deletions

File tree

misc/dsg-configs/org.deepin.dde.daemon.power.json

Lines changed: 0 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -577,30 +577,6 @@
577577
"name[zh_CN]": "高性能模式开关",
578578
"description": "high performance enabled",
579579
"permissions": "readwrite"
580-
},
581-
"smartBatteryStatus": {
582-
"value": true,
583-
"serial": 0,
584-
"flags": [
585-
"global"
586-
],
587-
"name": "smart Battery Status",
588-
"name[zh_CN]": "智能电池状态",
589-
"description": "smart Battery Status",
590-
"permissions": "readwrite",
591-
"visibility": "public"
592-
},
593-
"smartBatteryOnThreshold": {
594-
"value": 97.0,
595-
"serial": 0,
596-
"flags": [
597-
"global"
598-
],
599-
"name": "smart Battery On Threshold",
600-
"name[zh_CN]": "智能电量开启阀值, 范围[85, 100]",
601-
"description": "smart Battery On Threshold",
602-
"permissions": "readwrite",
603-
"visibility": "public"
604580
}
605581
}
606582
}

system/power1/battery.go

Lines changed: 0 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -45,12 +45,6 @@ type Battery struct {
4545
TimeToFull uint64
4646
UpdateTime int64
4747

48-
// 是否开启"智能电量"
49-
smartBatteryStatus bool
50-
51-
// 开启"智能电量"阀值
52-
smartBatteryOnThreshold float64
53-
5448
batteryHistory []float64
5549

5650
refreshDone func()
@@ -72,7 +66,6 @@ func newBattery(manager *Manager, device *gudev.Device) *Battery {
7266
service: manager.service,
7367
gudevClient: manager.gudevClient,
7468
SysfsPath: sysfsPath,
75-
smartBatteryOnThreshold: 97.0,
7669
}
7770
ok := bat.refresh(device)
7871
if !ok {
@@ -207,14 +200,6 @@ func (bat *Battery) _refresh(info *battery.BatteryInfo, setTimeToFull bool) {
207200
time.Duration(info.TimeToFull)*time.Second,
208201
info.TimeToFull)
209202

210-
/* lie to full */
211-
bat.appendToHistory(info.Percentage)
212-
if bat.Status != battery.StatusNotCharging && bat.smartBatteryStatus && info.Percentage > bat.smartBatteryOnThreshold && bat.getHistoryLength() >= 10 && bat.calcHistoryVariance() < 0.3 {
213-
logger.Debugf("fake 100 : true percentage %.4f%% variance %.4f%%", info.Percentage, bat.calcHistoryVariance())
214-
info.Percentage = 100.0
215-
info.TimeToFull = 0
216-
}
217-
218203
bat.PropsMu.Lock()
219204
bat.setPropIsPresent(isPresent)
220205
bat.setPropUpdateTime(updateTime)

system/power1/battery_display.go

Lines changed: 0 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -121,13 +121,6 @@ func (m *Manager) refreshBatteryDisplay() {
121121
}
122122
}
123123

124-
func (m *Manager) refreshSmartBattery() {
125-
for _, bat := range m.batteries {
126-
bat.smartBatteryOnThreshold = m.smartBatteryOnThreshold
127-
bat.smartBatteryStatus = m.smartBatteryStatus
128-
}
129-
}
130-
131124
func (m *Manager) changeBatteryLowByBatteryPercentage(percentage float64) {
132125
logger.Debug("changeBatteryLowByBatteryPercentage, battery percentage: ", percentage)
133126
batteryLow := percentage <= float64(m.PowerSavingModeAutoBatteryPercent)

system/power1/manager.go

Lines changed: 0 additions & 43 deletions
Original file line numberDiff line numberDiff line change
@@ -32,8 +32,6 @@ const (
3232
dsettingsPowerSavingModeAutoBatteryPercent = "powerSavingModeAutoBatteryPercent"
3333
dsettingsPowerMappingConfig = "powerMappingConfig"
3434
dsettingsMode = "mode"
35-
dsettingsSmartBatteryStatus = "smartBatteryStatus"
36-
dsettingsSmartBatteryOnThreshold = "smartBatteryOnThreshold"
3735
)
3836

3937
type supportMode struct {
@@ -92,12 +90,6 @@ type Manager struct {
9290
// 开启节能模式时保存的数据
9391
PowerSavingModeBrightnessData string `prop:"access:rw"`
9492

95-
// 是否开启"智能电量"
96-
smartBatteryStatus bool
97-
98-
// 开启"智能电量"阀值
99-
smartBatteryOnThreshold float64
100-
10193
// CPU频率调节模式,支持powersave和performance
10294
CpuGovernor string
10395

@@ -418,41 +410,13 @@ func (m *Manager) initDsgConfig() error {
418410
}
419411
}
420412

421-
getSmartBatteryStatus := func() {
422-
data, err := dsPower.GetValueBool(dsettingsSmartBatteryStatus)
423-
if err != nil {
424-
logger.Warning(err)
425-
return
426-
}
427-
428-
m.smartBatteryStatus = data
429-
logger.Info("dsg of smartBatteryStatus : ", m.smartBatteryStatus)
430-
}
431-
432-
getSmartBatteryOnThreshold := func() {
433-
data, err := dsPower.GetValueFloat64(dsettingsSmartBatteryOnThreshold)
434-
if err != nil {
435-
logger.Warning(err)
436-
return
437-
}
438-
m.smartBatteryOnThreshold = data
439-
if m.smartBatteryOnThreshold < 85.0 {
440-
m.smartBatteryOnThreshold = 85.0
441-
} else if m.smartBatteryOnThreshold > 100.0 {
442-
m.smartBatteryOnThreshold = 100.0
443-
}
444-
logger.Info("dsg of smartBatteryOnThreshold : ", m.smartBatteryOnThreshold)
445-
}
446-
447413
getPowerSavingModeAuto(true)
448414
getPowerSavingModeEnabled(true)
449415
getPowerSavingModeAutoWhenBatteryLow(true)
450416
getPowerSavingModeBrightnessDropPercent(true)
451417
getPowerSavingModeAutoBatteryPercent(true)
452418
getMode(true)
453419
getPowerMappingConfig()
454-
getSmartBatteryStatus()
455-
getSmartBatteryOnThreshold()
456420

457421
dsPower.ConnectValueChanged(func(key string) {
458422
logger.Info("dconfig org.deepin.dde.daemon.power valueChanged, key : ", key)
@@ -483,12 +447,6 @@ func (m *Manager) initDsgConfig() error {
483447
return
484448
case dsettingsPowerMappingConfig:
485449
getPowerMappingConfig()
486-
case dsettingsSmartBatteryStatus:
487-
getSmartBatteryStatus()
488-
m.refreshSmartBattery()
489-
case dsettingsSmartBatteryOnThreshold:
490-
getSmartBatteryOnThreshold()
491-
m.refreshSmartBattery()
492450
default:
493451
logger.Debug("Not process. valueChanged, key : ", key)
494452
}
@@ -584,7 +542,6 @@ func (m *Manager) addBattery(dev *gudev.Device) (*Battery, bool) {
584542
m.batteriesMu.Lock()
585543
m.batteries[sysfsPath] = bat
586544
m.refreshBatteryDisplay()
587-
m.refreshSmartBattery()
588545
m.batteriesMu.Unlock()
589546
bat.setRefreshDoneCallback(m.refreshBatteryDisplay)
590547
return bat, true

0 commit comments

Comments
 (0)