Skip to content

fix(presentation): support the verified SDK 35 Xiaomi host - #124

Merged
silverpoetry merged 4 commits into
mainfrom
codex/android15-native-host-diagnostics
Nov 13, 2026
Merged

silverpoetry merged 4 commits into
mainfrom
codex/android15-native-host-diagnostics

Conversation

@silverpoetry

@silverpoetry silverpoetry commented Nov 8, 2026 •

Copy link
Copy Markdown
Owner

问题

关联 #102:Android 15 / OS3.0.5.0.VMNCNXM 的 BluetoothExtension 15/35 缺少现有 AirPods 展示路径,登记检查初始化失败,原生弹窗和超级岛被挡下;电量通知还使用不同的发布重载。

基于定位包反馈及同版本官方 ROM 的宿主、内置插件,补充旧小米原生展示后端。前序诊断提交和当前 main 均已保留。

实现

  • 已核对宿主通过 SDK、版本码和 APK SHA-256 限定,继续唯一匹配小米登记读取;其他构建保留严格检查。原生登记只读,不写产品 ID、配对记录或连接管理记录。
  • 弹窗复用旧 MiuiControllerCommon。统一窗口授权与生命周期,两个后端各自转换原生状态;旧后端使用本地展示服务,隔离原生配对、广播遥测、云资源初始化和会清理共享状态的销毁分支。
  • 原生单电量行一次性绑定到已核对的原生成功布局,整机/左右耳/盒状态在同一窗口内更新。保留 Adapter 图片声明与设置导航,未知值不夹成 100%。旧插件裁剪 R 类,按实际资源命名空间解析已确认名称。
  • 旧宿主已有通用连接提示工厂及超级岛模型。直接复用原生 getParams 与 Handler 的已连接渲染分支,序列化和状态栏提交由宿主完成;在宿主 Handler 上重新校验当前会话、生产者、设置、归属和电量。
  • 智能模式调用旧宿主 isInLauncher;显式弹窗/超级岛选项保持原意。提示采用原生时长与节流。
  • 通知构造器按实际调用关系识别 notify 或 notifyAsUser,保留 UserHandle、原生取消及既有通知令牌、更新、删除和设置跳转规则。
  • 详细日志保留宿主指纹、后端、窗口生命周期、通知 API 和实际原生渲染提交结果。

验证

  • 原生展示定向测试 54 项通过,0 失败;Release Lint 通过。
  • 目标宿主及插件的方法、字段、服务和启动回调静态核对通过。
  • 新旧两套 TWS/单电量布局、命名资源及提示颜色核对通过。
  • 原 Android 16 宿主、AirPods 插件契约回归通过。
  • Markdown 与站内链接检查通过。

最终维护提交:6807bd364e6e136fdd5209d7c8aecbc083efd9c5。

  • CI通过。
  • 官方签名构建通过。
  • 下载签名维护包(登录 GitHub,下载 ZIP 后解压 APK)。
  • APK:HyperEars-v3.2.1-6807bd36-signed.apk,签名与正式版一致,最低 SDK 35。
  • SHA-256:3f834dcf738b3a636fb2f978ec4fc5bd09ae1c876277d764c4e9ba1297b6dc41。

最终维护包已于 2026-11-08 获 Android 15 反馈者复核。日志确认一个窗口的多次电量更新与关闭、旧原生连接提示提交及 notifyAsUser 更新;反馈者确认布局与通知三个设置目标正常。2026-11-13 合入并发布 3.3.0。#102 保留跟踪其他宿主,具体范围见 收尾说明。

复核内容

自动连接、智能/仅弹窗/仅超级岛、两种预览、整机电量补齐组件电量、关闭与重连、电量通知更新/删除、通知及弹窗点击设置;并确认系统原生耳机继续由系统接管。

设计、样本散列与限制记录在 docs/native-headset-integration-design.md 第 9.5–9.6 节。厂商 APK、反编译文件和资源均未提交或打包。

@silverpoetry silverpoetry mentioned this pull request Nov 8, 2026
3 tasks done
@silverpoetry silverpoetry changed the title fix(diagnostics): retain native host initialization failures fix(presentation): support the verified SDK 35 Xiaomi host Nov 8, 2026
@silverpoetry
silverpoetry marked this pull request as ready for review November 13, 2026 10:42
Copilot AI balanced review requested due to automatic review settings November 13, 2026 10:42
@silverpoetry
silverpoetry merged commit 56b2e6f into main Nov 13, 2026
2 checks passed

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot was unable to review this pull request because the user who requested the review has insufficient remaining quota. Try requesting a review at a lower effort level.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants