Bug #118680
【IOVDEV-33342】【内部】【VC1】【0106】【台架】【EE环境】【副屏】【设置】跑完monkey后,进入底层多任务栏,顶部状态栏不稳定,会消失不见
Status: | CLOSED | Start date: | 2023-06-08 | |
---|---|---|---|---|
Priority: | Normal | Due date: | ||
Assignee: | CDTS_Test 吴诗雨 | % Done: | 0% | |
Category: | 依赖客户及其供应商解决 | |||
Target version: | - | |||
Need_Info: | -- | Found Version: | 【中控版本号】:03.02.0088.C103 【副屏版本号】:01.00.0106(01.00.0104) |
|
Resolution: | -- | Degrated: | -- | |
Severity: | Normal | Verified Version: | ||
Reproducibility: | Every time | Fixed Version: | ||
Test Type: | ST | Root cause: |
Description
环境信息】EE环境
【问题出现时间】:20230608 08:54
【前提条件】:副屏上电,中控已连接,前一晚执行的monkey,执行monkey时副屏有以下第三方应用(华为应用市场、哔哩哔哩、今日头条、京东、喜马拉雅、保卫萝卜、抖音、瓜子二手车、腾讯新闻、微博、大众点评、腾讯视频、优酷视频、云听、网易云音乐、喜马拉雅、王者荣耀、和平精英)
【操作步骤】
1.前一晚执行monkey,早上来到之后monkey正常运行
【实际结果】
1.进入底层多任务栏,顶部状态栏不稳定,会消失不见
【期望结果】
1.副屏各界面显示正常
【备注】:
【当前开机次数】:167
【应用版本】:
【硬件版本号】:
【VIN】HRYTTESTVINMGM401
【中控版本号】:03.02.0088.C103
【副屏版本号】:01.00.0106(01.00.0104)
History
#2 Updated by CD APP-王营 about 2 years ago
- Status changed from New to ASSIGNED
- Assignee changed from CD APP-王营 to CD APP-王宏
#3 Updated by CD APP-王宏 about 2 years ago
- Category changed from CD-APP to CD-FW
- Assignee changed from CD APP-王宏 to CD FW-廖涛
Hi 廖涛,
麻烦看一下这个是怎么回事。
在Recent中的滑动是不会触发状态栏的修改的,
我在NavigationBar#updateBarMode(int barMode) 中加的日志没有触发。
#4 Updated by CD FW-廖涛 about 2 years ago
- Assignee changed from CD FW-廖涛 to CD FW-周羚洛
#5 Updated by CD FW-周羚洛 about 2 years ago
■ 我的分析
关于statusbar中的图标控制是在
frameworks/base/packages/SystemUI/src/com/android/systemui/statusbar/phone/CollapsedStatusBarFragment.java
修改该文件的提交与该问题有相关性的就只有一个
https://dev.thundercomm.com/gerrit/c/general/platform/frameworks/base/+/143299
在该提交里面对图标进行了重新结构,因此可以存在问题的是
frameworks/base/packages/SystemUI/src/com/android/systemui/statusbar/phone/HeadsUpAppearanceController.java ------------------------------------------------------------------------------------ 183 private void updateTopEntry() { 184 NotificationEntry newEntry = null; 185 if (shouldBeVisible()) { 186 newEntry = mHeadsUpManager.getTopEntry(); 187 } 188 NotificationEntry previousEntry = mHeadsUpStatusBarView.getShowingEntry(); 189 mHeadsUpStatusBarView.setEntry(newEntry); 190 if (newEntry != previousEntry) { 191 boolean animateIsolation = false; 192 if (newEntry == null) { 193 // no heads up anymore, lets start the disappear animation 194 195 setShown(false); 196 animateIsolation = !mIsExpanded; 197 } else if (previousEntry == null) { 198 // We now have a headsUp and didn't have one before. Let's start the disappear 199 // animation 200 setShown(true); 201 animateIsolation = !mIsExpanded; 202 } 203 updateIsolatedIconLocation(false /* requireUpdate */); 204 // HeadUp Notification will dismiss notification and clock,We no need this func 205 //mNotificationIconAreaController.showIconIsolated(newEntry == null ? null ★ 206 // : newEntry.getIcons().getStatusBarIcon(), animateIsolation); ★ 207 } 208 } ------------------------------------------------------------------------------------
frameworks/base/packages/SystemUI/src/com/android/systemui/statusbar/phone/NotificationIconContainer.java ------------------------------------------------------------------------------------ 438 public void calculateIconTranslations() { ... ... 473 /* 474 if (firstOverflowIndex == -1 && (forceOverflow || isOverflowing)) { ★ 475 firstOverflowIndex = noOverflowAfter && !forceOverflow ? i - 1 : i; ★ 476 mVisualOverflowStart = layoutEnd - mOverflowWidth; ★ 477 if (forceOverflow || mIsStaticLayout) { ★ 478 mVisualOverflowStart = Math.min(translationX, mVisualOverflowStart); ★ 479 } 480 } 481 */ ------------------------------------------------------------------------------------
这两处可能会产生该问题。
■ 下一步计划
revert这两处,查看影响度,并测试查看是否可以修复该问题。
#6 Updated by CD FW-周羚洛 about 2 years ago
■ 我的分析
我使用0530复现了这个问题。最近的版本对性能做过优化,因此我将使用最新的版本,再次验证该问题
■ 下一步计划
使用最新的版本验证是否还存在该问题。
#7 Updated by CD FW-周羚洛 about 2 years ago
■ 我的分析
测试步骤:1.运行monkey 2.进入底层多任务栏,顶部状态栏不稳定,会消失不见 视屏:IOVDEV-33342.zip
使用0530版本通过测试我也复现了问题,视屏:飞书20230614-154408.mp4
使用0614版本测试5次没有复现该问题。
通过我的测试视屏可知:整个状态栏有一个图标没有闪烁,其他图标都在闪烁。
通过测试同学给的视屏可知:整个状态栏都在闪烁。
我通过adb shell pkill SystemUI 杀死SystemUI之后,还是会复现整个问题,并且我在状态栏的地方打印日志,也没有日志输出,因此认为和SystemUI没有关系。
通过测试的视屏和我的视屏可以大概知道是 SurfaceFlinger的问题, 要么是硬件加速产生导致的,或者是系统性能问题。
Framework在这次之前的一周对系统做过优化,优化了系统,并且历史APP界面只保存了三个历史APP,而之前是保存64个历史APP,因此测试手法也发生了改变。
■ 下一步计划
请测试同学帮忙使用最新的版本验证是否还会有该问题,如果存在该问题。请使用以下步骤,查看是否还存在该问题。
1.打开开发者
adb shell settings put global development_settings_enabled 1
2.打开硬件加速或者关闭硬件加速,检查是否还有该问题
打开硬件加速:adb shell settings put global hardware_accelerated_rendering 1
关闭硬件加速:adb shell settings put global hardware_accelerated_rendering 0
3.使用电脑软件scrcpy连接副屏进行投屏,检查scrcpy是否有这个问题。(只要是投屏软件都可以)
#8 Updated by CD FW-周羚洛 about 2 years ago
- File 飞书20230614-154408.mp4 added
#9 Updated by CD FW-廖涛 about 2 years ago
- Category changed from CD-FW to 依赖客户及其供应商解决
- Status changed from ASSIGNED to NEED_INFO
- Assignee changed from CD FW-周羚洛 to CDTS_Test 吴诗雨
已在 JIRA 回复,需要客户那边使用新版本测试,看是否能复现问题。
#10 Updated by CDTS_Test 吴诗雨 almost 2 years ago
- Status changed from NEED_INFO to RESOLVED
#11 Updated by CDTS_Test 吴诗雨 almost 2 years ago
- Status changed from RESOLVED to VERIFIED
#12 Updated by CDTS_Test 吴诗雨 almost 2 years ago
- Status changed from VERIFIED to CLOSED