# Tigris v2.0.21 ## 中文 本版集中修复更新安装和相框屏保逻辑,包含 [#82](https://github.com/lesnolie/Tigris/pull/82)、[#83](https://github.com/lesnolie/Tigris/pull/83)、[#84](https://github.com/lesnolie/Tigris/pull/84)。 - **相框不再与系统自动待机抢时间**:相框启动时间会比较应用内空闲时间、固件 `screen_saver_timeout` 和 Android `screen_off_timeout`,在最早有效的系统截止时间之前预留余量,避免两者同为 10 分钟时直接休眠。不会改写电视的系统超时设置;支持小米固件报告 `screen_saver_timeout=-1` 的情形。 - **空闲不等于只在桌面**:Tigris 主屏幕、设置、更新、壁纸等页面空闲后可显示屏保;第三方播放器只有在系统能确认它是前台、MediaSession 明确报告 `PAUSED`,且 Android 自行启动屏保时才允许相框。**播放中和已识别的投屏/远程串流接收器(包括静音)优先阻止屏保**。缺少播放或前台状态权限时,不会强行覆盖第三方应用。 - **安装更新更稳**:对部分 Sony 固件,不再依赖可能误判的安装确认页面预检测,而尝试 Android 返回的真实系统确认 Intent;已有可信版本信息时避免点击「更新」后重复请求 GitHub 导致暂时断网即丢失更新。修正 ADB 兜底取回/安装指令和失效安装会话状态。 - **HGTV 版本识别**:接受上游不带 `v` 的数字版本标签,同时保留严格 APK 名称及签名校验。 ### 下载与升级 支持 Android 9+。**versionCode 28**,上一正式版 v2.0.20 为 27。维持原应用 ID 和稳定签名;用与你当前版本对应的 Standard / Guard 安装包直接覆盖升级,不卸载、不清空数据,也不要删除原厂桌面。 - 标准版:`Tigris-v2.0.21.apk` - 兼容守护版:`Tigris-guard-v2.0.21.apk` - SHA-256:`SHA256SUMS-v2.0.21.txt` ### 验证说明 Standard / Guard 的单元测试、APK 构建、安装检查和 Android Lint 已在相关 PR 的 CI 中通过;正式发布工作流会另外校验稳定签名、版本号、校验和及与上一正式版的覆盖升级兼容性。**索尼/小米固件的系统安装确认、静音投屏,以及第三方播放器暂停场景仍需实机回归**;某些播放器不报告 MediaSession 暂停状态、或禁止系统 DreamService 时,Tigris 不会强制覆盖该应用。 ## English This release combines updater reliability and photo-frame idle fixes from [#82](https://github.com/lesnolie/Tigris/pull/82), [#83](https://github.com/lesnolie/Tigris/pull/83), and [#84](https://github.com/lesnolie/Tigris/pull/84). - **Photo frame starts before system sleep:** Compare the app's idle preference with firmware `screen_saver_timeout` and Android `screen_off_timeout`, starting with a safe lead over the earliest applicable deadline. This avoids racing Android standby when both timers are 10 minutes. TV power settings are never overwritten; Xiaomi's `screen_saver_timeout=-1` is handled. - **Idle is not home-only:** System photo dreams are allowed over idle Tigris Home, Settings, Updates and Wallpaper screens, or a third-party foreground player with an explicitly verified MediaSession `PAUSED` state. **Active video/audio and recognized silent casting/remote-play receivers block the photo frame.** Unknown third-party foreground or playback state fails closed rather than forcibly overlaying another app. - **More reliable in-app updates:** Trust Android's actual PackageInstaller confirmation Intent instead of unreliable synthetic resolver checks on some Sony firmware. Preserve validated cached release metadata during transient GitHub failures, avoid a redundant request on Update, repair manual ADB fallback instructions, and reconcile stale sessions. - **HGTV release tags:** Accept numeric release tags with or without `v`, keeping strict APK filename and signer checks. ### Downloads and compatibility Android 9+, **versionCode 28** (v2.0.20 was 27). The same application ID and stable signing identity are retained. Install the corresponding Standard or Guard APK directly over your existing installation to preserve app data; do not uninstall the vendor's original launcher. - Standard: `Tigris-v2.0.21.apk` - Guard: `Tigris-guard-v2.0.21.apk` - Checksums: `SHA256SUMS-v2.0.21.txt` ### Validation The related PRs passed Standard/Guard unit tests, builds, installer tests, and Android Lint. The official release workflow additionally verifies stable signing, APK identity, checksums and upgrade compatibility. Sony/Xiaomi installation confirmation and real-device paused video / silent casting still require acceptance testing. Apps that do not expose PAUSED state or prevent Android from starting its system dream are not forcibly overlaid.