1.9.0-BatteryManager电池充电状态信息引入完成

This commit is contained in:
2026-10-11 17:19:54 +08:00
parent 4829cd1da2
commit 8be4ff7e40
6 changed files with 259 additions and 45 deletions
+32 -2
View File
@@ -70,8 +70,11 @@ class ChargeUtils {
if (power == 0) return "读取中...";
if (wiredLevel != null && ChargeMaps.wiredPower.containsKey(wiredLevel)) {
final requested = ChargeMaps.wiredPower[wiredLevel]!.round();
return "≈${requested}w/L-$wiredLevel";
final requested = ChargeMaps.wiredPower[wiredLevel]!;
final str = requested == requested.roundToDouble()
? requested.toInt().toString()
: requested.toStringAsFixed(1);
return "≈${str}w/L-$wiredLevel";
}
return "≈${power.round()}w";
@@ -96,4 +99,31 @@ class ChargeUtils {
if (chargeType == 'SDP') return 'USB';
return chargeType;
}
/// 主界面:BM 电池端功率 + 档位
/// 示例:5.98w / L-7、12.3w、读取中...
static String getMainDisplayPowerBm(
double bmPower,
int? wiredLevel,
String chargeType,
bool isWireless,
) {
if (bmPower <= 0 || bmPower > 100) return '读取中...';
final powerStr = '${bmPower.toStringAsFixed(1)}w';
if (isWireless || chargeType == 'SDP') return powerStr;
// 有线:拼接标定瓦数
if (wiredLevel != null && ChargeMaps.wiredPower.containsKey(wiredLevel)) {
final requested = ChargeMaps.wiredPower[wiredLevel]!;
// 7.5 → "7.5",27 → "27"
final requestedStr = requested == requested.roundToDouble()
? requested.toInt().toString()
: requested.toStringAsFixed(1);
return '$powerStr / ${requestedStr}w';
}
return powerStr;
}
}