Compare commits
3 Commits
1.6.0
...
e049cab9ad
| Author | SHA1 | Date | |
|---|---|---|---|
| e049cab9ad | |||
| 2b3d9471cd | |||
| 76fd0417e7 |
Vendored
-4
@@ -1,4 +0,0 @@
|
|||||||
{
|
|
||||||
"cmake.ignoreCMakeListsMissing": true,
|
|
||||||
"gitlens.codeLens.enabled": false
|
|
||||||
}
|
|
||||||
@@ -40,6 +40,29 @@
|
|||||||
---
|
---
|
||||||
|
|
||||||
## 机型匹配情况
|
## 机型匹配情况
|
||||||
|
|
||||||
|
| 机型 | 系统版本 | 容量来源 | 设计容量 | 状态 |
|
||||||
|
|---|---|---|---|---|
|
||||||
|
| 魅族 22 | Flyme 12.x | 系统未生成 `mbattery_charger` 目录 | — | ❌ 不支持 |
|
||||||
|
| 魅族 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 12.x | `remaining_cap` + `status=Full` | 4800 mAh | ✅ 1.5.3 字段匹配 |
|
||||||
|
| 魅族 18 / 18s / 18 Pro / 18s Pro | Flyme 9 / 10 | 日志存在,字段适配中 | 4000 / 4500 mAh | ⚠️ 等待测试中 |
|
||||||
|
| 魅族 16s | Flyme 8 / 9 | 需回退原厂固件验证 | — | ⚠️ 待验证 |
|
||||||
|
|
||||||
|
### 📌 说明
|
||||||
|
|
||||||
|
- ✅ **完美支持**:已通过实机验证,日志解析正常,所有字段完整
|
||||||
|
- ⚠️ **测试中**:日志存在但字段格式与 20/21 系不同,需要进一步适配
|
||||||
|
- ⚠️ **待验证**:理论上可能支持,需要实机反馈确认
|
||||||
|
- ❌ **不支持**:系统未生成 BMS 日志目录,或日志格式无法解析
|
||||||
|
- **系统版本说明**:Flyme 12.x 及以上版本日志格式统一,Flyme 10/11 及以下版本日志格式可能存在差异
|
||||||
|
|
||||||
|
|
||||||
目前据群友反馈已知:
|
目前据群友反馈已知:
|
||||||
- 魅族22无mbattery_charger目录生成,无法实时计算相应百分比,因此已在最近版本去除相关匹配信息
|
- 魅族22无mbattery_charger目录生成,无法实时计算相应百分比,因此已在最近版本去除相关匹配信息
|
||||||
- 魅族18在后续的版本中关闭了mbattery_log生成,疑似无效,老版本可能支持
|
- 魅族18在后续的版本中关闭了mbattery_log生成,疑似无效,老版本可能支持
|
||||||
|
|||||||
@@ -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