Compare commits
11 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| c85a523ec0 | |||
| 067f0d17e8 | |||
| a63be9f675 | |||
| 86c38a97f5 | |||
| 2026e55fde | |||
| 286162d41b | |||
| 4006684466 | |||
| e5856296d4 | |||
| e049cab9ad | |||
| 2b3d9471cd | |||
| 76fd0417e7 |
Vendored
-4
@@ -1,4 +0,0 @@
|
|||||||
{
|
|
||||||
"cmake.ignoreCMakeListsMissing": true,
|
|
||||||
"gitlens.codeLens.enabled": false
|
|
||||||
}
|
|
||||||
@@ -26,7 +26,7 @@
|
|||||||
| :--- | :--- | :--- |
|
| :--- | :--- | :--- |
|
||||||
| 1.5.0 | 功率计算优化 | ✅ 已发布 |
|
| 1.5.0 | 功率计算优化 | ✅ 已发布 |
|
||||||
| 1.5.2 | 部分场景字体替换 | ✅ 已发布 |
|
| 1.5.2 | 部分场景字体替换 | ✅ 已发布 |
|
||||||
| 1.6.0 | 更新日志独立页面 | 📋近期开发 |
|
| 1.6.0 | 更新日志独立页面 | ✅ 已发布 |
|
||||||
| 1.7.0 | 适配夜间模式 | 📋近期开发 |
|
| 1.7.0 | 适配夜间模式 | 📋近期开发 |
|
||||||
| 2.0.0 | 数据看板月份显示扩展等系列更新 | 📋 远景 |
|
| 2.0.0 | 数据看板月份显示扩展等系列更新 | 📋 远景 |
|
||||||
| 3.0.0 | 搭配PC上位机记录充电信息等 | 📋 远景 |
|
| 3.0.0 | 搭配PC上位机记录充电信息等 | 📋 远景 |
|
||||||
@@ -40,10 +40,36 @@
|
|||||||
---
|
---
|
||||||
|
|
||||||
## 机型匹配情况
|
## 机型匹配情况
|
||||||
目前据群友反馈已知:
|
|
||||||
- 魅族22无mbattery_charger目录生成,无法实时计算相应百分比,因此已在最近版本去除相关匹配信息
|
| 机型 | 系统版本 | 容量来源 | 设计容量 | 状态 |
|
||||||
- 魅族18在后续的版本中关闭了mbattery_log生成,疑似无效,老版本可能支持
|
|---|---|---|---|---|
|
||||||
- 最完美的支持版本至少可覆盖魅族20/21系机型(20inf已确认,机型匹配ID已更新)
|
| 魅族 22 | Flyme 12.x | 系统未生成 `mbattery_charger` 目录 | 5510 mAh | ❌ 不支持 |
|
||||||
|
| 魅族 21 | Flyme 12.x | `learned_cap` | 4800 mAh | ✅ 与 21 Pro 同步获得支持 |
|
||||||
|
| 魅族 21 Pro | Flyme 12.x | `learned_cap` | 5050 mAh | ✅ 初始支持 |
|
||||||
|
| 魅族 21 Note | Flyme 12.x | `learned_cap` | 5500 mAh | ✅ 1.6.0 新增支持 |
|
||||||
|
| 魅族 21 Note | Flyme 10 / 11 | 日志格式异常 | — | ❌ 不支持 |
|
||||||
|
| 魅族 20 | Flyme 12.x | `remaining_cap` + `status=Full` | 4700 mAh | ✅ 1.4.0 首次支持 |
|
||||||
|
| 魅族 20 Pro | Flyme 12.x | `remaining_cap` + `status=Full` | 5000 mAh | ✅ 1.4.0 首次支持 |
|
||||||
|
| 魅族 20 INFINITY | Flyme 10.x | `remaining_cap` + `status=Full` | 4800 mAh | ✅ 1.5.3 字段匹配 |
|
||||||
|
| 魅族 18 / 18s / 18 Pro / 18s Pro / 18X | Flyme 9 | 日志停止生成 | 4000 / 4500 mAh | ❌ 无适配条件 |
|
||||||
|
| 魅族 18 / 18s / 18 Pro / 18s Pro / 18X | Flyme 10 | 不再主动适配 | 4000 / 4500 mAh | ⚠️ 实验性支持 |
|
||||||
|
| 魅族 17 / 17Pro | Flyme 8 / 9 / 10 | 等待群友提供字段信息 | 4500 / 4500mAh | ⚠️ 待验证 |
|
||||||
|
| 魅族 16th / 16th Plus / 16X / 16s / 16sPro / 16Xs / 16T | Flyme 7 / 8 / 9 | 需回退原厂固件验证 | - | ⚠️ 若新版本无日志,则变为实验性支持,不主动适配 |
|
||||||
|
|
||||||
|
### 状态说明
|
||||||
|
|
||||||
|
| 状态 | 含义 |
|
||||||
|
|---|---|
|
||||||
|
| ✅ 完美支持 | 已通过实机验证,所有字段完整解析 |
|
||||||
|
| ⚠️ 实验性支持 | 理论上可支持,但需要用户协助验证 |
|
||||||
|
| ⚠️ 待验证 | 尚未收到实机日志反馈,待确认 |
|
||||||
|
| ❌ 不支持 | 系统未生成 BMS 日志,或日志格式无法解析 |
|
||||||
|
|
||||||
|
### 特别说明
|
||||||
|
|
||||||
|
- **Flyme 版本差异**:同一机型在不同 Flyme 版本下日志格式可能不同。例如 21 Note 在 Flyme 12.x 下可正常读取 `learned_cap`,但在 Flyme 10/11 下日志格式异常。
|
||||||
|
- **日志停止生成**:部分机型在升级到新系统后(如 17/18 系升级到 Flyme 10),系统不再向 `mbattery_charger` 目录写入新日志,文件夹虽存在但停止更新。
|
||||||
|
- **适配策略**:优先支持日志格式稳定的 Flyme 12.x 机型,旧版本系统暂不主动适配,若有用户长期停留在旧版本并愿意协助测试,可酌情增加支持。
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
|
|||||||
@@ -2,6 +2,11 @@
|
|||||||
|
|
||||||
### ✨ 新增
|
### ✨ 新增
|
||||||
|
|
||||||
|
- **魅族 21 Note 机型适配**:新增 `21 Note` 特征字识别,设计容量 5500mAh
|
||||||
|
- 21 Note 运行 Flyme 12.6 版本,日志格式与 21 系列一致
|
||||||
|
- 支持 `learned_cap` 字段直接读取,与 21 / 21 Pro 逻辑相同
|
||||||
|
- 已加入 `DeviceMatching` 机型映射表
|
||||||
|
|
||||||
- **更新日志页面**:内置 `CHANGELOG.md` 渲染,版本历史一目了然
|
- **更新日志页面**:内置 `CHANGELOG.md` 渲染,版本历史一目了然
|
||||||
- 使用 `flutter_markdown` 解析,支持标准 Markdown 格式
|
- 使用 `flutter_markdown` 解析,支持标准 Markdown 格式
|
||||||
- 滚动进度条:实时显示阅读进度,提升浏览体验
|
- 滚动进度条:实时显示阅读进度,提升浏览体验
|
||||||
@@ -17,6 +22,14 @@
|
|||||||
- 进入更新日志页面自动触发
|
- 进入更新日志页面自动触发
|
||||||
- 退出页面自动释放,不影响系统省电策略
|
- 退出页面自动释放,不影响系统省电策略
|
||||||
|
|
||||||
|
### ✅ 已确认完美支持(更新)
|
||||||
|
|
||||||
|
| 机型 | 容量来源 | 设计容量 |
|
||||||
|
|---|---|---|
|
||||||
|
| 魅族 20 / 20 Pro / 20 INFINITY | `remaining_cap` + `status=Full` | 4700 / 5000 / 4800 mAh |
|
||||||
|
| 魅族 21 / 21 Pro | `learned_cap` | 4800 / 5050 mAh |
|
||||||
|
| **魅族 21 Note(新增)** | `learned_cap` | **5500 mAh** |
|
||||||
|
|
||||||
### ⚡ 优化
|
### ⚡ 优化
|
||||||
|
|
||||||
- **UI 拆分**:将 `BatteryHealthPage` 的 UI 部分抽离至独立文件,降低耦合度
|
- **UI 拆分**:将 `BatteryHealthPage` 的 UI 部分抽离至独立文件,降低耦合度
|
||||||
@@ -32,12 +45,17 @@
|
|||||||
|
|
||||||
### 📊 影响范围
|
### 📊 影响范围
|
||||||
|
|
||||||
|
- `device_matching.dart`:新增 21 Note 机型映射
|
||||||
- `battery_health_page.dart`:AppBar 重构,动画简化
|
- `battery_health_page.dart`:AppBar 重构,动画简化
|
||||||
- `battery_data_layout.dart`(新增):UI 布局抽离
|
- `battery_data_layout.dart`(新增):UI 布局抽离
|
||||||
- `changelog_page.dart`(新增):更新日志页面
|
- `changelog_page.dart`(新增):更新日志页面
|
||||||
- `MainActivity.kt`:新增原生高刷控制通道
|
- `MainActivity.kt`:新增原生高刷控制通道
|
||||||
- `pubspec.yaml`:新增 `flutter_markdown` 依赖,添加 `assets/CHANGELOG.md`
|
- `pubspec.yaml`:新增 `flutter_markdown` 依赖,添加 `assets/CHANGELOG.md`
|
||||||
|
|
||||||
|
### 📌 备注
|
||||||
|
|
||||||
|
- 本次更新为 1.6.0 封版版本,后续将聚焦 1.7.0(深色模式 + 关于页面)
|
||||||
|
- 21 Note 在 Flyme 12.6 上测试通过,日志解析正常 ✅
|
||||||
----
|
----
|
||||||
|
|
||||||
## [1.5.3] - 2026-07-19
|
## [1.5.3] - 2026-07-19
|
||||||
|
|||||||
@@ -3,6 +3,7 @@ class DeviceMatching {
|
|||||||
/// 根据机型返回设计容量(mAh)
|
/// 根据机型返回设计容量(mAh)
|
||||||
static int getDesignCapacity(String model) {
|
static int getDesignCapacity(String model) {
|
||||||
if (model.contains('21 Pro')) return 5050;
|
if (model.contains('21 Pro')) return 5050;
|
||||||
|
if (model.contains('21 Note')) return 5500;
|
||||||
if (model.contains('21')) return 4800;
|
if (model.contains('21')) return 4800;
|
||||||
if (model.contains('20 Pro')) return 5000;
|
if (model.contains('20 Pro')) return 5000;
|
||||||
if (model.contains('20 Inf')) return 4800;
|
if (model.contains('20 Inf')) return 4800;
|
||||||
@@ -29,6 +30,7 @@ class DeviceMatching {
|
|||||||
/// 根据机型返回显示名称
|
/// 根据机型返回显示名称
|
||||||
static String getModelName(String model) {
|
static String getModelName(String model) {
|
||||||
if (model.contains('21 Pro')) return '魅族21 Pro';
|
if (model.contains('21 Pro')) return '魅族21 Pro';
|
||||||
|
if (model.contains('21 Note')) return '魅族21 Note';
|
||||||
if (model.contains('21')) return '魅族21';
|
if (model.contains('21')) return '魅族21';
|
||||||
if (model.contains('20 Pro')) return '魅族20 Pro';
|
if (model.contains('20 Pro')) return '魅族20 Pro';
|
||||||
if (model.contains('20 Inf')) return '魅族20 Infinity';
|
if (model.contains('20 Inf')) return '魅族20 Infinity';
|
||||||
|
|||||||
+1
-1
@@ -16,7 +16,7 @@ publish_to: 'none' # Remove this line if you wish to publish to pub.dev
|
|||||||
# https://developer.apple.com/library/archive/documentation/General/Reference/InfoPlistKeyReference/Articles/CoreFoundationKeys.html
|
# https://developer.apple.com/library/archive/documentation/General/Reference/InfoPlistKeyReference/Articles/CoreFoundationKeys.html
|
||||||
# In Windows, build-name is used as the major, minor, and patch parts
|
# In Windows, build-name is used as the major, minor, and patch parts
|
||||||
# of the product and file versions while build-number is used as the build suffix.
|
# of the product and file versions while build-number is used as the build suffix.
|
||||||
version: 1.5.3
|
version: 1.6.0
|
||||||
|
|
||||||
environment:
|
environment:
|
||||||
sdk: ^3.9.2
|
sdk: ^3.9.2
|
||||||
|
|||||||
Reference in New Issue
Block a user