Bug #116971

测试 Test-IT #111062: V3.0功能测试

测试 Test-IT #111069: AF-V3.0--Launcher/SystemUI-小窗模式入口

【AF】【EVT】【小窗模式】打开视频小窗,播放视频,切换成mini模式,双击会先显示小窗大小,再显示全屏

Added by CDTS_Test 吴诗雨 over 2 years ago. Updated about 2 years ago.

Status:CLOSEDStart date:2023-03-15
Priority:NormalDue date:2023-04-04
Assignee:CD TEST-方永红% Done:

100%

Category:窗口定制
Target version:-
Need_Info:-- Found Version:FlatBuild_HH_MCE_FSE.M.R.user.01.00.0082.C101(X101)
Resolution:FIXED Degrated:No
Severity:Normal Verified Version:FlatBuild_HH_MCE_FSE.M.R.user.01.00.0100.C103(X103)
Reproducibility:Every time Fixed Version:2023-05-16
Test Type:ST Root cause:原生应用切换动画异常,单独为视频应用做了规避方案

Description

【前提条件】
1、设备已开机

【测试步骤】
1、长按视频,点击打开视频小窗
2、点击播放视频
3、点击mini模式按钮
4、双击小窗,观察屏幕

【预期结果】
4、正常显示成全屏

【实际结果】
4、先显示小窗大小,再显示全屏

log6.txt Magnifier (5.59 MB) CDTS_Test 吴诗雨, 2023-03-15 20:12

20230315-200442.mp4 (5.37 MB) CDTS_Test 吴诗雨, 2023-03-15 20:12

History

#1 Updated by CD FW-鲁凯峰 over 2 years ago

  • Due date set to 2023-04-04

#2 Updated by CD FW-鲁凯峰 over 2 years ago

目前还没有找到具体原因,还需要具体分析

#3 Updated by CD FW 曹覃刚 about 2 years ago

  • Status changed from New to ASSIGNED
  • Assignee changed from CD FW-鲁凯峰 to CD FW-肖磊

#4 Updated by CD FW-肖磊 about 2 years ago

■ 当前状态
本地已经能够复现该问题,正在resizeTask方法添加log,看是否调整了两次窗口大小。

#5 Updated by CD FW 曹覃刚 about 2 years ago

  • Assignee changed from CD FW-肖磊 to CD FW王武军

#6 Updated by CD FW王武军 about 2 years ago

【】当前状态
1、现象层面
第一个界面com.android.gallery3d/.app.GalleryActivity,做测试时,不会有问题;
第二个界面com.android.gallery3d/.app.MovieActivity,做测试时发生问题
是不是被启动的第二个task会存在问题?需要从逻辑层面进一步分析
2、检查小窗周边的逻辑
目前还未找到异常点。

#7 Updated by CD FW王武军 about 2 years ago

【】当前状态
1、对比中小窗的mini态和小窗态,在第一个task界面时,他们的表现都是一致的。
现在只要在第一个界面中启动了第二或者第三个,他们在mini态或者小窗态切全屏都会有一个界面的抖动(先变为小窗再全屏)。
2、目前的调查方向是:小窗态变为全屏态时,动画异常,今天主要是按照这个思路在调查周边的逻辑,
找到了一些怀疑点,但是修改了代码逻辑后都不能达到效果
3、下一步
继续沿着动画的方便调查,另外task堆栈的变化是不是潜在的问题原因,这个方向也会着手分析。

#8 Updated by CD FW王武军 about 2 years ago

【】当前状态

4月26日进展:
主要从下面几个方面展开调查:
1、继续动画方面的思路,从代码中可以发现发生问题和不发生问题,在动画方面的
差异的点:出问题时执行动画的是ActivityRecord,而不是Task,那么就意味着动画的策略就不一样,
从这个表现上继续调查了动画的数据构建来源;
2、之前怀疑task栈的影响,今天也进行了跟进,结合这个数据正好与上面动画数据源的差异对上;
3、下一步:
现在的思路就是:根据小窗的当前数据作为动画数据源的判断条件,寻找时机修改动画的数据源,
做了一些代码修改, 但是问题还是存在,后面继续调整代码,这个是继续调查的方向。

#9 Updated by CD FW王武军 about 2 years ago

【】当前状态
4月27日进展:尝试修改动画的类型和动画的参数
尝试了两种修改策略,都没能达到效果
1)根据当前小窗的Task和ActivityRecord作为判断条件,调整DisplayContent中的mOpeningApps、mClosingApps、mChangingContainers
值,虽然达到了启动相同类型动画的问题,但是动画效果确不是想要的效果,这个思路可能还需要调整看看;
2)不管动画的类型,只修改动画时的参数,但是并未到达效果,反而效果更差了
下一步:
单纯的修改动画或者动画参数也许还不够完整,可能流程上面也需要调整,但是这个点还未找到。
后面的调查方向:依旧是沿着动画的思路,周边的逻辑也需要考虑。

#10 Updated by CD FW王武军 about 2 years ago

【】当前状态
4月28日进展:
1、继续沿着调整动画的方向研究
1)现在通过小窗辅助类FreeFormWindowHelper保存的ActivityRecord,获取的Task
作为判断条件,调整和拦截了DisplayContent.mChangingContainers的动画内容,这个
修改已经可以确保第二界面能够正常执行动画了,而不是直接闪现;
2)现在还剩下一个问题就是,在执行全屏逻辑时,即动画之前会有一个窗口大小闪动的过程,
这个现在还没有找到问题点,针对这个点的研究方向是:窗口被强制重建了或者界面绘制时窗口被调整了,
做了一些修改但是效果并不太理想
下一步
1、动画调整就用现在的方案;
2、动画之前的窗口闪动,方案还在研究

#11 Updated by CD FW王武军 about 2 years ago

1、5月4日进展:
目前聚焦在执行过渡动画之前为什么小窗窗口会突然变化大小?
目前能想到的方法是通过对比:小窗态变为全屏态时,单activityrecord和多activityrecord的数据差异情况,
但是还未找到合适的差异点,还需要进一步check
2、下一步
还是只有从数据差异点,找到逻辑层面的差异点,找到为什么窗口会发生变化大小

#12 Updated by CD FW王武军 about 2 years ago

1、5月5日进展
1)、对比分析1个ActivityRecord和2个ActivityRecord,在全屏态
切换时,2个ActivityRecord会执行两次relaunch,即task栈里的两个界面都会被重启一次,
这个从逻辑层面来说应该是不合理的。这个可能是引起在执行动画前,窗口变化的一个问题点,
如果只执行一次relaunch会不会有改善,这个还在代码调试中。
2)、在分析过程中,我又发现一个新的怀疑点,窗口的大小变化时,与DecorCaption消失的动画
不会不会存在关联?这点会继续看下
2、下一步
根据目前的2个怀疑点,继续代码调试

#13 Updated by CD FW王武军 about 2 years ago

1、5月8日进展
1)、代码调试了DecorCaptionView消失的动画,未能改善问题;
2)、代码调试了Activity的Relaunch次数,现在控制在一次,未能改善问题;
3)目前计划分段检索,准备用代码的方式,控制逻辑的执行流程,将出问题的区域通过分段的方式进行检索
2、下一步
从流程上检索逻辑段,希望找出问题的区域,再细化逻辑

#14 Updated by CD FW王武军 about 2 years ago

1、5月9日进展
1)重新理了下问题发生的逻辑:窗口大小的变化影响了小窗态
到全屏态的变化效果,但是这个到底是哪里影响的还没有定位到原因
2)分段代码测试中
2、下一步
还是只有继续跟进代码结合数据的变化调查问题

#15 Updated by CD FW王武军 about 2 years ago

1、5月10日进展
1)细化比较了1个ActivityRecord和2个ActivityRecord在小窗态变为全屏态过程中执行流程和数据的差异性,
逻辑流程并未发现明显的差异性,数据方面,2个ActvivityRecord时,在layout、resize、applySurface等流程中
都存在2个ActivityRecord和2WindowState的数据:GalleryActivity和MovieActivity,用当前小窗对象过滤了GalleryActivity
但是修改后的现象来看并没有效果。
2)从联想的板子中单独比较了2个ActivityRecord时小窗态到全屏态的动画是正常的,我怀疑该问题可能与切换流程中的高合代码有关系,
后面想从这个角度来做下过滤。
2、下一步
去掉切换流程中的高合代码,看看效果是否有改善

#16 Updated by CD FW王武军 about 2 years ago

1、5月11日进展
1)去掉了小窗态到全屏态中高合的相关代码,没有效果。
2)继续分段调查,去掉了2个ActivityRecord中的多余一个,从今天的
修改来看,动画已经可以正常执行了,窗口大小的异常变动也有明显改善,但是也引出其他周边的问题,
导致至少说明去掉重复数据这个方向是正确的。
2、下一步
沿着去掉重复ActivityRecord的思路继续代码调试

#17 Updated by CD FW 曹覃刚 about 2 years ago

  • Assignee changed from CD FW王武军 to CD FW 曹覃刚

#18 Updated by IoT scm about 2 years ago

Gerrit Merge Information
ID Project Branch Uploader
199934 general/platform/packages/apps/SnapdragonMusic Pre_figure_turbox-c2130c-la1.1-qssi12-dev
AF:Music: In order to improve the animation behavior of the small window when opening the video player from the video application, the behavior of the video application after starting the player was changed to end the activity
TC-RID: 1201-0301201
IssueID: TS-R-BUG-116971
Change-Id: I13c8521fd581e77546736093e4de8ec052ccdbc2

#19 Updated by IoT scm about 2 years ago

Gerrit Merge Information
ID Project Branch Uploader
199935 general/platform/frameworks/base Pre_figure_turbox-c2130c-la1.1-qssi12-dev
AF:Music: In order to improve the animation behavior of the small window when opening the video player from the video application, the behavior of the video application after starting the player was changed to end the activity
TC-RID: 1201-0301201
IssueID: TS-R-BUG-116971
Change-Id: I1a47b717432831bfc5587e4d2ae00d9f45300acf

#20 Updated by CD FW 曹覃刚 about 2 years ago

  • Status changed from ASSIGNED to RESOLVED
  • Assignee changed from CD FW 曹覃刚 to CD TEST-方永红
  • % Done changed from 0 to 100
  • Resolution changed from -- to FIXED
  • Degrated changed from -- to No
  • Fixed Version set to 2023-05-16
  • Root cause set to 原生应用切换动画异常,单独为视频应用做了规避方案

Hi 永红
如线下沟通
该问题为原生动画切换逻辑处理异常,经研发调查发现,修改困难,且修改的影响范围大(应用之间的切换动画都有可能被影响)
因此,针对视频应用,做了一个规避方案
该方案调整了视频应用启动播放器后的行为,启动播放器后,视频应用的视频选择页面会主动结束,用户下一次打开视频选择页面将会是冷启动的方式
经线下讨论,可以采用该方案,请帮助在0516后的版本验证,谢谢

#21 Updated by CD TEST-方永红 about 2 years ago

  • Status changed from RESOLVED to VERIFIED
  • Verified Version set to FlatBuild_HH_MCE_FSE.M.R.user.01.00.0100.C103(X103)

5.16
验证通过

#22 Updated by CD TEST-方永红 about 2 years ago

  • Status changed from VERIFIED to CLOSED

Also available in: Atom PDF