Skip to content

Releases

PoHW v1.2.6 · 家长设置版本更新交互修复

Choose a tag to compare

@jagerzhang jagerzhang released this 07 Nov 03:47
80f7c6b

v1.2.6(versionCode 41)

第十个正式版本:修复真机反馈的「家长设置版本更新卡片」交互问题。题库与守护逻辑不变。

真机现象

  • 「立即检查版本」「下载并安装新版本」点击像没反应;
  • 遥控器无法移动到「修改家长密码」「保存并返回」。

根因

wireVerticalFocus() 在 buildSettings() 时按 isEnabled() 一次性串好单列纵向焦点链,而 refreshRows() 之后把「下载并安装」按钮设为 setEnabled(false)(当前没有新版本时)。链中间出现禁用节点,焦点就卡在这一行,到不了底部固定操作条;两个按钮在无事可做时也缺少即时反馈。

修复

  • 更新卡片按钮永不禁用:状态改用按钮文字(「下载并安装新版本(暂无更新)」/ 带版本号)、状态文字与 Toast 表达;updateChecking / updateDownloading 防重入,不碰 setEnabled。
  • refreshRows() 在状态变化后调用 wireVerticalFocus() 重建焦点链。
  • 两个按钮点击立即 Toast;检查结果(已是最新 / 检查失败 / 发现更新)与下载结果都有 Toast + 状态文字。没有新版本时明确提示「当前已是最新版本;如需重新检查请点立即检查版本」。
  • 新增契约断言禁止 btnUpdateInstall.setEnabled(,新增 CF 负向变异把旧行为改回来会被自动审核拦下。

顺带

update_manifest.py 清理规则改为匹配 PoHW-*.apk(旧包能被清掉);PoHW-src.zip 排除 site/dl/*.apk,Release 源码包不再混入安装包。

验证

LAYOUT_CONTRACT_OK 280、JVM_TESTS_OK 337、MUTATION_SUITE_OK 84/84、UPDATE_MANIFEST_OK_STRICT、BUILD_OK version=1.2.6 code=41。官网 update.json 已指向 v1.2.6,清单 no-store、安装包 must-revalidate,下载包 sha256 0099b4ca… 与清单、站点、构建产物四处一致。

签名证书 76eb6063…6172 连续,旧版可直接覆盖安装。装了 v1.2.5 的设备更新后应能看到 v1.2.6 提示,正好可实测「发现更新 → 点击下载 → 系统安装界面」整条链路;目前仍无电视真机验证,欢迎反馈结果。Android 4.0 低配版仍不接入在线更新。

PoHW v1.2.5 · 可选在线版本更新

Choose a tag to compare

@jagerzhang jagerzhang released this 07 Nov 02:41
2ecdba8

v1.2.5(versionCode 39)

第九个正式版本:新增可选的版本在线更新。联网只用于读取版本清单与下载安装包;题库、守护与答题全程离线,不上传任何设备信息。

交互

  • 自动检查默认开启,冷启动最多每 24 小时拉取一次 update.json。
  • 发现新版本只提示,下载与安装必须由家长主动点击「下载并安装新版本」(家长设置 → 06 版本更新)。
  • 下载完成后先流式校验 SHA-256 与包大小,不一致直接丢弃;通过后才拉起系统安装界面,仍需手动确认。

站点与双通道

  • 官网固定清单 https://pohw.zhangge.net/update.json,Cache-Control: no-store;site/dl/ 只保留最新版,提供 latest-main.apk / latest-legacy.apk 固定别名与带版本号的包,APP 优先用带版本号的 URL 绕开 CDN 旧缓存。
  • 清单分 main(minSdk 21)与 legacy(minSdk 14)两条通道,APP 按自身通道资源选包,避免低配设备被推高版本包。
  • Android 4.0 低配 APP 本轮不接入在线更新,其现有 v1.2.4-legacy(code 38)包仍在 legacy 通道供手动下载;本轮没有新的低配 Release。

改动与门禁

  • 新增 UpdateConfig / UpdateChecker / UpdateInstaller / UpdateProvider / UpdateState,家长设置新增第 6 张卡片,首页状态行显示检查结果;新增 REQUEST_INSTALL_PACKAGES 权限与不导出的私有 Provider。
  • 新增 tools/publish/update_manifest.py 生成与校验清单,site/edgeone.json 配缓存规则;官网文案从事实性错误的「零联网」改为「题库与守护完全离线,仅版本检查按需联网」,并新增 FAQ。
  • LAYOUT_CONTRACT_OK 272、JVM_TESTS_OK 337(新增 U01–U26)、MUTATION_SUITE_OK 82/82(新增 CB/CC/CD)、UPDATE_MANIFEST_OK_STRICT、BUILD_OK version=1.2.5 code=39。

签名证书 76eb6063…6172 连续,旧版可直接覆盖安装,家长密码、设置与错题库都会保留。

PoHW v1.2.4-legacy · Android 4.0 低配版

Choose a tag to compare

@jagerzhang jagerzhang released this 07 Nov 00:32

v1.2.4-legacy(versionCode 38)

面向 Android 4.0(minSdk 14)老电视的独立分支 feat/android4-legacy-v124,不合入 main。

  • 功能与题库同主线 v1.2.4:3964 道题库 v4、题型标签让「仅知识 / 计算题」偏好生效、自由练习题目空白修复、练习年级上限 1–6。
  • minSdkVersion 14、d8 --min-api 14、Holo 主题;移除 API 21+ 的媒体焦点 / 通知 / 启动类引用与高版本 manifest 属性。
  • 不含暂停 / 恢复播放:全屏遮罩仍能挡住画面,但后台视频可能继续播放。
  • 无 Android 4.x 真机验证,仅静态与构建级验证:badging sdkVersion:'14' / versionCode='38';9 个 API 21+ 符号扫描 0 命中;apksigner verify --min-sdk-version 14 通过 v1/v2/v3;全套 253 契约 / 311 JVM / 79 变异 / 题库质量门禁通过;签名证书 76eb6063…6172 连续。

如装上后仍无法安装、遮罩不弹或练习模式异常,请带上报错文案与「设置 → 关于本机」的 Android 版本开 Issue。

PoHW v1.2.4 · 自由练习显示修复与题库 v4

Choose a tag to compare

@jagerzhang jagerzhang released this 07 Nov 00:32
c42add2

v1.2.4(versionCode 37)

第八个正式版本。修复用户反馈的「自由练习题目没有内容」,并带上题库 v4 的出题偏好修复。

修复

  • 自由练习页面题目空白:练习页的题干、两行选项、解析都误用了 Ui.fill(0)(高度与权重均为 0)。Ui.fill(w) 生成 (MATCH_PARENT, 0, w),在垂直 LinearLayout 里这些子 View 会收到 EXACTLY 0 高度,setMinHeight() 也无法覆盖,因此页面上只剩学科标签和空白卡片,A/B/C/D 全被裁掉。守护遮罩一直使用 Ui.fill(1) + 固定高度,不受影响。现改为题干 Ui.fill(3)、选项行固定 64dp、解析 Ui.fill(1);练习年级上限由 9 收为 6,与只覆盖小学 1–6 年级的题库对齐。
  • 「仅知识 / 计算题」偏好失效:题库里每道题的 source 值都相同,筛选条件等于没筛。新增逐题 qtype 标注(3950 道知识 / 计算题 + 14 道辨识分类题),偏好改为按题型过滤;关闭偏好时仍是全量题库。
  • 题库二轮质量校准:52 道低年级超纲题上调到 4–6 年级,短英文单词粘连修复,最终 3964 道题,1–6 年级与难度三档完整。

门禁

静态契约禁止 app 源码出现零高度权重布局并断言练习卡片三处尺寸;题库校验按 144 组练习参数(6 年级 × 3 学科 × 4 难度 × 加权开关)实跑抽题 SQL,逐题检查题干与四个选项非空互异;新增 BZ / CA 两条负向变异锁住修复。

验证

LAYOUT_CONTRACT_OK total=253
BANK_QUALITY_OK questions=3964 qtype=3950/14 practice_combos=144
JVM_TESTS_OK total=311
MUTATION_SUITE_OK 79/79
BUILD_OK version=1.2.4 code=37

签名证书 76eb6063…6172 连续,旧版可直接覆盖安装,家长密码、设置与错题库都会保留。同步发布 Android 4.0 低配变体 v1.2.4-legacy(非 Latest)。

PoHW v1.2.3 低配版(Android 4.0 / minSdk 14)

Choose a tag to compare

@jagerzhang jagerzhang released this 06 Nov 22:26

PoHW v1.2.3 低配版 — Android 4.0 / minSdk 14

独立分支 feat/android4-legacy-v123 的构建,不合入 main,非 Latest。
主线 v1.2.3 仍是最新版、仍要求 Android 5.0+。
本版与主线功能集一致;versionName 1.2.3 / versionCode 36(主线为 35)。

资产

  • PoHW-v1.2.3-legacy.apk — minSdk 14 / versionCode 36 / versionName 1.2.3,
    v1 签名(4.0 可用),SHA-256 3c3123210fdbe0faad97a7b50f9f897d76764cb9c15ccfb0b23266588ba187ce。
  • PoHW-legacy-src.zip — 低配分支完整源码、测试与文档,SHA-256 48bacfd0c9f5243a29a4231135c54e9fa814b9b6a25744ca79b8a1fa1193c994。
  • 签名证书 SHA-256 76eb6063b574…26172,与主线各版本一致。

包含的功能

与主线 v1.2.3 相同的 3965 道题库(全部带 1–6 年级标签、英文空格已修复、
按课标重打年级)、每一层抽题都带年级上限、题库质量门禁、练习模式、
家长设置、错题库、难度倾向、四项可选加固、答对自动继续。

与主线 v1.2.3 的差异 / 限制

项目 主线 v1.2.3 本低配版
最低系统 Android 5.0(API 21) Android 4.0(API 14)
versionCode 35 36
主题 Material Holo
暂停 / 恢复播放 有 取消,只保留短暂音频焦点抢占
常驻通知 NotificationChannel Notification.Builder(Context)
悬浮窗授权 跳系统设置页 提示到 MIUI 设置里手动开启
  1. 未经真机 / 模拟器验证:构建环境只有 android-34 platform、无 4.x 镜像。
    本版只做了静态与构建级验证,请在实际电视上试用并反馈。
  2. 全屏遮罩仍能挡住画面,但后台视频可能继续播放 / 出声。
  3. MIUI 需手动到「设置 → 应用 → 答题守护 → 显示悬浮窗」允许,否则弹不出遮罩。
  4. 可选在线题库源在 4.0 的老 TLS 栈上未验证,建议只用内置离线题库。

静态验证证据

LAYOUT_CONTRACT_OK 211 / JVM_TESTS_OK 308
BANK_QUALITY_OK questions=3965 grades=1..6
VERIFY = PASS (bank-v2) / MUTATION_SUITE_OK 76/76
BUILD_OK version=1.2.3 code=36
aapt: sdkVersion:'14' versionCode='36'
dexdump: 9 个 API 21+ 符号全部 0 命中
apksigner verify --min-sdk-version 14: v1 签名有效
auto-review (CI): success

安装

U 盘拷入 APK → 电视自带「文件管理器」安装 → 允许「未知来源」→ 打开 APP。
不需要电脑连接电视,也不需要 adb。完整边界见仓库 docs/LEGACY_ANDROID4.md。

PoHW v1.2.3

Choose a tag to compare

@jagerzhang jagerzhang released this 06 Nov 22:22
8aa731c

PoHW v1.2.3 — 题库质量重建与年级防超纲

第 7 个正式版本。展示版本 1.2.3 / versionCode 35。
签名证书与 v1.0.0 / v1.0.1 / v1.0.2 / v1.2.0 / v1.2.1 / v1.2.2 一致,旧版可直接覆盖安装。
本版替换了内置题库;覆盖安装后家长 PIN、设置与错题库保留。
Android 4.0 低配变体同步发布为 v1.2.3-legacy(非 Latest)。

资产

  • PoHW-v1.2.3.apk — versionName 1.2.3 / versionCode 35,v1/v2/v3 签名有效,SHA-256 b011d1cc22c02d7ea5a065ab2d282566d885daeb7ca0853b9ef365ba15029273。
  • PoHW-src.zip — 完整源码、测试、文档与静态官网,SHA-256 04e7d9e23440931739e9b7be349ae803f3a5e5488e0ebf81d8f046ad176181cf。
  • APK 内置题库 3965 道,全部带 1–6 年级标签,版本戳 pohw-2026.11.07-bank-v3。

修了什么

用户反馈:3 年级被问到 a×5=a×10(代数等式);英语题存在单词之间没有空格。

根因(对 4733 道题做全量只读审计后发现,问题比个例严重):

  • 3490 题(74%)没有可靠年级标签(grade=-1 通用);
  • 3 年级及以上语文 / 英语专属题为 0,而设置可选 1–9 年级、默认 3;
  • 抽题兜底会放开年级约束到全学科库,把 3490 道无标签题整包放出,混入初中几何、百分数、奥数题和英文脏题;
  • 即使有标签也不可信:TK00258 被上游标成「三年级上册」,实际是代数等式。

修复:

  1. 题库重建:按小学课标知识点白名单逐题重新定级,只有明确且单纯命中 1–3 年级课标的题才进低年级池,其余保守标到 4 年级以上;词表切分修复英文单词空格(Sheisagirl → She is a girl),无法可靠修复的粘连题、修复后选项重复的题、中学课文、截断题干、重复冗余题直接剔除。4733 → 3965 道,全部带 1–6 年级标签与难度分档。
  2. 年级上限:抽题四个池谓词、最后一层保底查询与计数方法全部带 grade<=?,任何兜底层都不会为了凑题放宽到更高年级。
  3. 质量门禁:新增 tests/bank_quality_check.py,把年级标签、英文空格、重复题、超纲关键词、低年级代数题与累积池题量固化进 CI 自动审核;新增可复现的重建脚本 tools/quizbank/rebuild_bank.py。
  4. 文档 QUESTION_BANK.md / BANK_STATS.md 此前仍描述已退役的 5129 题纲目库,这次一并对齐当前题库。

验证

LAYOUT_CONTRACT_OK 211 / JVM_TESTS_OK 308
BANK_QUALITY_OK questions=3965 grades=1..6 pools=18 levels=[1,2,3]
VERIFY = PASS (bank-v2) / STUDY_SCOPE_OK / BANK_DISTRIBUTION_OK
MUTATION_SUITE_OK 76/76
BUILD_OK version=1.2.3 code=35
auto-review (CI): success

验收抽样:3 年级池(1157 题)逐科随机抽样已无中学内容;TK00258 现为 5 年级;英文粘连残留 0。
需说明的是,3965 道题无法做语义级逐题人工复核,本轮是规则化全量扫描 + 分层抽样人工核对 + 规则固化进 CI,个别边界题欢迎继续使用后反馈,再按反馈校准规则并重建。

安装

U 盘拷入 APK → 电视自带「文件管理器」安装 → 首次允许「未知来源」→ 打开 APP。
不需要电脑连接电视,也不需要 adb。

PoHW v1.2.2 低配版(Android 4.0 / minSdk 14)

Choose a tag to compare

@jagerzhang jagerzhang released this 06 Nov 21:38

PoHW v1.2.2 低配版 — Android 4.0 / minSdk 14

独立分支 feat/android4-legacy-v122 的构建,不合入 main,非 Latest。
主线 v1.2.2 仍是最新版、仍要求 Android 5.0+。
本版与主线功能集一致;versionName 1.2.2 / versionCode 34(主线为 33)。

资产

  • PoHW-v1.2.2-legacy.apk — minSdk 14 / versionCode 34 / versionName 1.2.2,
    v1 签名(4.0 可用),SHA-256 76b37f773db05922173865df8c38ce6e9a65eb431212483fde4a1a65aa4bab1c。
  • PoHW-legacy-src.zip — 低配分支完整源码、测试与文档,SHA-256 77fb8038db6e3d9ba689fa9fa89bd66e3558b7988fa65a3b5422fb1c86bd8e95。
  • 签名证书 SHA-256 76eb6063b574…26172,与主线各版本一致。

包含的功能

练习模式(独立全屏自由答题页,学科 / 年级 / 难度可切、答对自动出下一题、统计)、
控制台按钮定稿(练习模式在原「立即出题」位、恢复「授权悬浮窗」)、守护挂起防绕过、
暂停时序修复、默认开启的「答对自动继续」、4733 道离线题库、难度倾向、
四项可选加固、家长 PIN、错题库。

与主线 v1.2.2 的差异 / 限制

项目 主线 v1.2.2 本低配版
最低系统 Android 5.0(API 21) Android 4.0(API 14)
versionCode 33 34
主题 Material Holo
暂停 / 恢复播放 有 取消,只保留短暂音频焦点抢占
常驻通知 NotificationChannel Notification.Builder(Context)
悬浮窗授权 跳系统设置页 提示到 MIUI 设置里手动开启
  1. 未经真机 / 模拟器验证:构建环境只有 android-34 platform、无 4.x 镜像。
    本版只做了静态与构建级验证,请在实际电视上试用并反馈。
  2. 全屏遮罩仍能挡住画面,但后台视频可能继续播放 / 出声。
  3. MIUI 需手动到「设置 → 应用 → 答题守护 → 显示悬浮窗」允许,否则弹不出遮罩。
  4. 可选在线题库源在 4.0 的老 TLS 栈上未验证,建议只用内置离线题库。

静态验证证据

LAYOUT_CONTRACT_OK 209 / JVM_TESTS_OK 308 / MUTATION_SUITE_OK 74/74
BUILD_OK version=1.2.2 code=34
aapt: sdkVersion:'14' versionCode='34'
dexdump: 9 个 API 21+ 符号全部 0 命中
二进制 manifest: 无高版本属性
apksigner verify --min-sdk-version 14: v1 签名有效
auto-review (CI): success

安装

U 盘拷入 APK → 电视自带「文件管理器」安装 → 允许「未知来源」→ 打开 APP。
不需要电脑连接电视,也不需要 adb。完整边界见仓库 docs/LEGACY_ANDROID4.md。

PoHW v1.2.2

Choose a tag to compare

@jagerzhang jagerzhang released this 06 Nov 21:32
bc6fdb5

PoHW v1.2.2 — 控制台按钮定稿正式版

第 6 个正式版本。展示版本 1.2.2 / versionCode 33。
按「已发布资产不覆盖」规则新开 patch 版本:v1.2.1 及其资产保持原样。
签名证书与 v1.0.0 / v1.0.1 / v1.0.2 / v1.2.0 / v1.2.1 一致,旧版可直接覆盖安装。
Android 4.0 低配变体同步发布为 v1.2.2-legacy(非 Latest)。

资产

  • PoHW-v1.2.2.apk — versionName 1.2.2 / versionCode 33,v1/v2/v3 签名有效,
    SHA-256 fc5e174747d79e5ec2cfe37c1a6886b3a67ceb37487b4a608d0206ba845ae045。
  • PoHW-src.zip — 完整源码、测试、文档与静态官网,SHA-256 5d255ca4f3d94ac47e31208f7b21cef8efa787f6466cbce0a3ba66aedf786191。
  • 签名证书 SHA-256 76eb6063b574…26172,家长密码、设置与错题库覆盖安装后保留。

本版内容

相对 v1.2.1 没有新的功能实现改动,是把 PR #11 已合入的控制台调整正式发版:

第 1 列 第 2 列 第 3 列
第 1 行 守护开关 练习模式(原「立即出题」) 家长设置
第 2 行 授权悬浮窗(恢复) 错题库 厂商自启设置
  • 点「练习模式」进入独立全屏自由答题页:可切学科(数学 / 语文 / 英语 / 混合)、年级(1–9)、难度(不限 / 低 / 中 / 高),四选一答题(遥控器或数字键 1–4),答对自动出下一题,底部显示已练 / 正确 / 连对统计
  • 「授权悬浮窗」恢复成直接打开系统授权页;「家长设置 → 03 开机与播放」里的入口也保留,两处都能进
  • 控制台不再发「立即出题」指令(服务侧处理保留)

一并承接 v1.2.1 的能力:进入练习模式只挂起守护弹题、服务不停止(不成为绕过口子);修复答题时视频没暂停、点「继续观看」后反而暂停的时序问题;「答对自动继续」默认开启;4733 道内置离线题库、难度倾向与四项可选加固。

安装(U 盘侧载,不需要电脑连电视)

  1. 下载 PoHW-v1.2.2.apk → 拷进 U 盘;
  2. U 盘插到电视 USB 口 → 电视自带「文件管理器」安装,首次允许「未知来源」;
  3. 打开 APP → 点控制台「授权悬浮窗」,或进「家长设置 → 03 开机与播放」授权;
  4. 设置 PIN 与出题参数,回首页开启守护;想让孩子自己练题就点「练习模式」。

忘记密码:电视「设置 → 应用管理 → PoHW → 清除数据」。

验证

LAYOUT_CONTRACT_OK 209 / JVM_TESTS_OK 308 (13 组)
SYLLABUS_CHECK_OK 12 / STUDY_SCOPE_OK / BANK_DISTRIBUTION_OK
VERIFY = PASS (bank-v2)
MUTATION_SUITE_OK 74/74
BUILD_OK version=1.2.2 code=33
auto-review (CI): success
RELEASE_METADATA_OK (6 versions)

暂停 / 恢复播放涉及具体播放器的 MediaSession 行为,练习页与按钮布局仍建议在真机上复验。

PoHW v1.2.1 低配版(Android 4.0 / minSdk 14)

Choose a tag to compare

@jagerzhang jagerzhang released this 06 Nov 17:01

PoHW v1.2.1 低配版 — Android 4.0 / minSdk 14

独立分支 feat/android4-legacy-v121 的构建,不合入 main,非 Latest。
主线 v1.2.1 仍是最新版、仍要求 Android 5.0+。
本版基于主线 v1.2.1 重建,功能与主线一致;versionName 1.2.1 / versionCode 30。

资产

  • PoHW-v1.2.1-legacy.apk — minSdk 14 / versionCode 30 / versionName 1.2.1,
    v1/v2/v3 签名,SHA-256 228742e8648dd23574aab19cddb341b994846d0cb78e7dfa4276888af8a3ba84。
  • PoHW-legacy-src.zip — 低配分支完整源码、测试与文档,SHA-256 1a7322d9a0debb1f8bfe93f8917dadfef8074d4065f165bc56c6e898a91cd8b0。
  • 签名证书 SHA-256 76eb6063b574…26172,与主线各版本一致。

包含的功能

练习模式(独立全屏自由答题页,学科 / 年级 / 难度可切、答对自动出下一题、统计)、
控制台改版(悬浮窗授权移入家长设置 03 卡片)、暂停时序修复、默认开启的
「答对自动继续」、4733 道离线题库、难度倾向、四项可选加固、家长 PIN、错题库。

与主线的差异 / 限制

项目 主线 v1.2.1 本低配版
最低系统 Android 5.0(API 21) Android 4.0(API 14)
主题 Material Holo
暂停 / 恢复播放 有 取消,只保留短暂音频焦点抢占
常驻通知 NotificationChannel Notification.Builder(Context)
悬浮窗授权 跳系统设置页 提示到 MIUI 设置里手动开启
  1. 未经真机 / 模拟器验证:构建环境只有 android-34 platform、无 4.x 镜像。
    本版只做了静态与构建级验证,请在实际电视上试用并反馈。
  2. 全屏遮罩仍能挡住画面,但后台视频可能继续播放 / 出声。
  3. MIUI 需手动到「设置 → 应用 → 答题守护 → 显示悬浮窗」允许,否则弹不出遮罩。
  4. 可选在线题库源在 4.0 的老 TLS 栈上未验证,建议只用内置离线题库。

静态验证证据

LAYOUT_CONTRACT_OK 208 / JVM_TESTS_OK 308 / MUTATION_SUITE_OK 73/73
BUILD_OK version=1.2.1 code=30
aapt: sdkVersion:'14' versionCode='30'
dexdump: 9 个 API 21+ 符号全部 0 命中
apksigner verify --min-sdk-version 14: v1 签名有效
auto-review (CI): success

安装

U 盘拷入 APK → 电视自带「文件管理器」安装 → 允许「未知来源」→ 打开 APP。
不需要电脑连接电视,也不需要 adb。完整边界见仓库 docs/LEGACY_ANDROID4.md。

PoHW v1.2.1

Choose a tag to compare

@jagerzhang jagerzhang released this 06 Nov 16:56
4b2a2f0

PoHW v1.2.1 — 练习模式与控制台改版

第 5 个正式版本。展示版本 1.2.1 / versionCode 29,覆盖 versionCode 28–29。
签名证书与 v1.0.0 / v1.0.1 / v1.0.2 / v1.2.0 一致,旧版可直接覆盖安装。
Android 4.0 低配变体同步发布为 v1.2.1-legacy(非 Latest)。

资产

  • PoHW-v1.2.1.apk — versionName 1.2.1 / versionCode 29,v1/v2/v3 签名有效,
    SHA-256 7f1613ebdd732ee49c3b3b7657bbd640bc5eef8203092600518ab153fd73c61c。
  • PoHW-src.zip — 完整源码、测试、文档与静态官网,SHA-256 104735ef35f9e4db7526b69f57c2d3b731af30f49eeea6aa491c3160ae30d7f9。
  • 签名证书 SHA-256 76eb6063b574…26172,家长密码、设置与错题库覆盖安装后保留。

主要改动

练习模式(新)

控制台第 2 行第 1 个按钮由「授权悬浮窗」改为「练习模式」,进入独立全屏自由答题页:

  • 顶部切学科(数学 / 语文 / 英语 / 混合)、年级(1–9)、难度(不限 / 低 / 中 / 高)
  • 四选一答题(方向键 + 确定键,或数字键 1–4),答对即时反馈并自动出下一题,答错两次自动换题
  • 底部显示已练 / 正确 / 连对统计,「换一题」与返回键随时可用
  • 练习参数与家长设置的守护参数完全隔离,不复用守护遮罩、计时、冷却与 PIN

守护安全:进入练习页只给守护服务打「挂起弹题」标志,服务本身不停止,退出或进程消失后自动恢复计时。这样练习模式不会变成零成本绕过守护的入口。

控制台改版:「授权悬浮窗」入口移到「家长设置 → 03 开机与播放」,与开机自启、厂商自启动设置放在一起;未授权时控制台提示去该处开启。

上一构建(code 28)一并包含:修复答题时视频没暂停、点「继续观看」后反而暂停的时序问题(暂停与恢复信号改为互斥且成对);新增「答对自动继续」开关,默认开启,答对后不用再按一次遥控器。

安装(U 盘侧载,不需要电脑连电视)

  1. 下载 PoHW-v1.2.1.apk → 拷进 U 盘;
  2. U 盘插到电视 USB 口 → 电视自带「文件管理器」安装,首次允许「未知来源」;
  3. 打开 APP → 进「家长设置 → 03 开机与播放」授权悬浮窗;
  4. 设置 PIN 与出题参数,回首页开启守护;想让孩子自己练题就点「练习模式」。

验证

LAYOUT_CONTRACT_OK 208 / JVM_TESTS_OK 308 (13 组)
SYLLABUS_CHECK_OK 12 / STUDY_SCOPE_OK / BANK_DISTRIBUTION_OK
VERIFY = PASS (bank-v2)
MUTATION_SUITE_OK 73/73
BUILD_OK version=1.2.1 code=29
auto-review (CI): success
RELEASE_METADATA_OK (5 versions)

暂停 / 恢复播放涉及具体播放器的 MediaSession 行为,仍建议在真机上复验。