mirror of
https://github.com/Silent1566/webhtv.git
synced 2026-10-08 19:44:46 +00:00
fix(dialog): 弹窗改用主题覆盖层,阻止控件 tint 泄漏到系统编辑菜单
BaseAlertDialog.builder() 此前把圆角面板控件样式 MaterialAlertDialog_WebHTV_Rounded 作为 themeResId 传入,使其 backgroundTint 成为对话框上下文级属性,并被系统浮动编辑菜单 (复制/粘贴)的 AppCompat ImageButton 继承。vivo 绘制类在 mutate() 该背景时抛出 ClassCastException,导致弹幕接口输入处长按即崩溃。 圆角本已由 ThemeOverlay.WebHTV.Dialog 的 alertDialogStyle 指向同一控件样式, 面板外观不变;改用主题覆盖层后 tint 不再泄漏。 验证: - 新增设备回归 DanmakuApiDialogDeviceTest(tint 不泄漏、面板样式仍为 Rounded、 复制/剪切/粘贴、浮动工具栏可创建、保存与取消、IME 完成),旧代码 RED、新代码 OK (3 tests)。 - DialogRoundedCornerSourceTest 收紧为断言主题覆盖层,mobile/leanback 均通过。 限制:本地为 Android 9 模拟器,未在 vivo V2307A / Android 14 真机复测。 Verification: 手机源码回归 testMobileArm64_v8aDebugUnitTest DialogRoundedCornerSourceTest 2/2 通过;TV 源码回归 testLeanbackArm64_v8aDebugUnitTest 同用例 2/2 通过;192.168.50.3:5557 设备回归 DanmakuApiDialogDeviceTest OK (3 tests);旧代码上两项均 RED(源码断言命中 theme overlay,设备断言命中 panel backgroundTint leaked into system text actions);覆盖安装未清除应用数据 Task-Guard: FIX-DANMAKU-VIVO-20261007
This commit is contained in:
parent
9b168a1f38
commit
7596ebabb7
4 changed files with 287 additions and 4 deletions
Loading…
Add table
Add a link
Reference in a new issue