Files
gangao-tv/CHANGELOG.md
T

129 lines
8.3 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 更新日志
> 包名:`com.iptv807.tv` | Android 5.0+
> 每个版本的 APK 都在 [`apk/`](apk/) 目录与 [Releases](../../releases) 中保留。
---
## v9.3.0(2026-10-08)→ ✨新功能
- ✨ **接入安装统计**:启动时调用 `POST /api/public/installations/check-update` 完成安装登记与在线上报(返回 `install_id`)
- ✨ **接入版本推送**:同一请求同时返回 `update_available / latest_version / download_url / file_size / changelog / min_client_version / is_force`
- ✨ 发现新版本时弹出更新提示(版本号、当前版本、文件大小、更新说明;强制更新额外提示),走系统 `DownloadManager` 下载并在完成后自动拉起安装
- ✨ 每 10 分钟心跳 `POST /api/public/installations/heartbeat`,更新"最后上线"时间
- ✨ 设置页新增「版本更新」区块:显示安装上报结果与 `install_id`,可手动「检查更新」
- 🔧 接入服务端:`https://auth.88531.cn`,请求头 `X-Api-Key`;文档见 `auth.88531.cn/#/docs`
- 🔧 新增权限:`REQUEST_INSTALL_PACKAGES`、`POST_NOTIFICATIONS`
## v9.2.0(2026-10-08)→ ✨新功能 / 🐛修复
- 🐛 从设置页或桌面返回时,直接**重连当前流**(不再依赖 `play()`,避免画面定格)
- ✨「▶ 继续播放」按钮改为强制重连同一路流,恢复更快更可靠
## v9.1.0(2026-10-08)→ 🐛修复
- **修复切台看不到「正在加载」和计时**:切台时旧频道仍在播放,它一有缓冲波动就触发播放回调,把刚弹出的加载遮罩立刻隐藏了(经常一闪而过甚至看不到)
- 加 `awaitingStart` 标记:**只有这次要播的新频道真正起播**才收起加载提示,旧频道的回调不再影响
- 加载遮罩显示时 `bringToFront()`,保证不被其它浮层挡住
## v9.0.0(2026-10-08)
- **修复设置页/商店页看不到选中项**:原来用 `setBackgroundColor` 给按钮设固定底色,把系统自带的焦点高亮覆盖掉了
- 所有可操作项改为**获得焦点即变蓝**(StateListDrawable):卡密输入框、激活、支付成为会员、开机自启动开关
- 商店页同样处理,并改为**遥控手动导航**:上下选套餐、左右切支付宝/微信、OK 购买;选中的套餐行蓝底
- 设置页内容变长,加了滚动容器,下面被挡住的项也能滚到
## v8.9.0(2026-10-08)
- **修复「换不了台」**:上一版把方向/确认键交给系统焦点处理,在部分电视盒子上焦点根本进不了列表 → 按键全部空转
- 改为**完全手动的选择模型**:高亮由 App 自己画(选中行蓝底白字),上下移动、左右切列、OK 确认全部由按键逻辑直接处理,**不再依赖系统焦点机制**
- 面板打开时吞掉其它按键,避免误触发换台;分组列上下移动时确认才会切换("⚙ 设置"停在上面不误进)
- 上下移动频道时会顺手预取那一行的源
## v8.8.0(2026-10-08)
- **实测源站瓶颈**:`m.iptv807.com` 抓播放页需 1~7 秒,且失败率约 50%(半路断连/超时);token **与频道绑定**(换频道 id 复用同一 token 返回 404),所以每次切到没打开过的频道都必须抓一次源
- **修复"切台反而接不了"**:解析原用全局锁,后台预取占锁时用户切台要排队 → 改为**每频道独立锁**
- 缓存有效期 8 分钟 → **30 分钟**(已打开过的频道切回秒开)
- 预取从「整组抓」改为「只抓当前高亮的那一个频道」(1.2 秒去抖动),不再压垮源站
- 全部线路失败时**自动强制刷新源再试一轮**(应对缓存 token 过期)
- 加载提示显示频道名:`正在加载「TVB翡翠台」3 秒…`
## v8.7.0(2026-10-08)
- **修复退出没有提示**:`AlertDialog` 在电视的全屏主题下创建失败(异常被兜底逻辑吞掉 → 直接退出、无提示)
- 退出确认改为**App 内自绘弹层**:半透明遮罩 + 卡片 + 「取消 / 退出」两个按钮,不依赖系统对话框主题
- 按钮有焦点高亮(获得焦点变蓝),默认焦点放在「取消」上防误触;返回键 = 取消
## v8.6.0(2026-10-08)
- **修复遥控器无法在选台面板操作**:原因是面板打开时把方向键/确认键全拦截了,焦点根本进不了列表
- 面板打开后只接管 返回 / MENU(收藏),**方向键与确认键全部交给列表自己处理**
- 频道列表与分组列表加**蓝色焦点高亮**(方向键经过的行变蓝),按 OK 即播放
- 打开面板时焦点自动进入频道列表并定位到当前频道;选中分组后焦点自动跳到频道列表
- 列表行改为白色文字、透明底(原来系统默认样式在暗色主题下几乎看不出选中)
## v8.5.0(2026-10-08)
- **测试卡密:`88531`** —— 在设置页「卡密激活」输入即可,直接永久授权(本地判定,不走服务器),显示「测试卡:永久有效」
- 可用于测试购买/时长逻辑,正式卡密流程不受影响
## v8.4.0(2026-10-08)
- 设置页新增「卡密激活」:输入框 + 激活按钮,验证通过后立即写会员状态
- 从设置返回播放页立即生效(onResume 重新读取会员状态),无需重启
- 激活链路已实测:生成月卡 → `/api/public/verify` 返回 valid / 月卡 / 30 天 / 到期时间
## v8.3.0(2026-10-08)
- **切台提速**:去掉切台前逐条线路预探测(原最大拖累,每条最长等 4 秒),改为直接开播 + 失败自动换线
- 起播缓冲调小(适配直播流):`setBufferDurationsMs(1500, 12000, 500, 1000)`
- 打开选台面板时后台预取该组频道源,切台秒开
- 加载提示带实时计时:`正在加载 N 秒,精彩继续…`(一直走到出画面)
- 播放期间屏幕常亮(FLAG_KEEP_SCREEN_ON)
## v8.2.0(2026-10-08)
- 连滑两次退出前弹窗确认(退出 / 取消)
## v8.1.0(2026-10-08)
- 连续滑动两次完全退出 App(1.5 秒内两次,位移>120px/0.8s 内判定);第一次滑动提示「再滑动一次退出应用」
## v8.0.0(2026-10-08)
- 修复从桌面返回画面卡住:`onResume` 自动续播 + 屏幕中央「▶ 继续播放」按钮(遥控 OK 可点,重连当前频道)
## v7.9.0(2026-10-08)
- **修复套餐列表空白**:接口不返回 `status` 字段,原代码 `optInt("status")==1` 把 4 个套餐全过滤掉
- 套餐按天数排序;无套餐时给出提示
- 已验证下单链路:card-types → orders → orders/query 全部正常
## v7.8.0(2026-10-08)
- 抓源加 3 次重试(15s 连接 / 20s 读取),抗网络抖动
- 失败自动重连(网络波动,正在重试 n/3)+ 内存/磁盘双缓存兜底
- 缓存线路全失效时自动强制刷新源
## v7.7.0(2026-10-08)
- 加载提示文案改为「正在加载,精彩继续…」
## v7.6.0(2026-10-08)
- 按需求去掉加载计时(v8.3.0 已按要求加回)
## v7.5.0(2026-10-08)
- 加载计时不再 12 秒后冻结成固定文字
- 修复右上角「今日免費」计时不走动(无人累计用量)
## v7.4.0(2026-10-08)
- 失败画面信息全开:版本号 + 逐条线路实测状态码 + token 片段
- 播放错误 2004 = HTTP 状态码错误(非网络不通),用于区分故障类型
## v7.3.0(2026-10-08)★ 播放关键修复
- **真根因**:混淆块里 `xx = yy` 复制语句导致取「第 2 个 32 位值」正好等于密钥 → 旧 token 替换失败 → 地址留着过期 token → 全部 404
- 改为取「第一个不等于密钥」的值 + token 兜底替换
- 解释了「台少时能播」:那是编译期写死的地址,不是运行时解析
## v7.2.0(2026-10-08)
- 默认播放 TVB翡翠台
- 启动自检显示解析/拉流状态
## v7.1.0(2026-10-08)
- 去掉解密结果多做的一步 URLDecoder(把 `%2B` 解成 `+` → 服务端当空格 → 404)
- 去掉右上角「原生模式」标签
## v7.0.0(2026-10-08)
- 彻底删除网页兜底(按要求纯原生化)
- 打开即播,不再弹套餐/卡密页
- 设置移到分组列表第一项(显眼位置)
## v7.0.1 / v6.x / v5.x / v4.x / v3.x / v2.x / v1.x
> 早期版本(IPTV807-TV-v1.0.0 起至 v6.1.1)在与新版本交替时已被删除,
> 当时项目无 git 历史与备份,**无法恢复**。自 v8.3.0 起不再删除任何版本。