Bug #117894

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

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

【AF】【EVT3】【小窗模式】网易云小窗首次启动时,马上切换mini态,等添加微件的界面出来 ,再去切换到正常态,显示异常

Added by CD TEST-方永红 over 2 years ago. Updated almost 2 years ago.

Status:NewStart date:2023-05-11
Priority:NormalDue date:
Assignee:物联网测试组_TSCD 王维% Done:

100%

Category:窗口定制
Target version:-
Need_Info:-- Found Version:FlatBuild_HH_MCE_FSE.M.R.user.01.00.0099.C103(X103)
Resolution:FIXED Degrated:--
Severity:Normal Verified Version:
Reproducibility:Every time Fixed Version:2023-05-20
Test Type:ST Root cause:问题原因:
网易云应用内部启动机制的原因,导致ActivityRecord的关于bounds的计算出现问题,进而影响界面的显示。
问题处理:
特殊处理网易云音乐ActivityRecord的bounds,可以修正大小显示的异常

Description

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

【测试步骤】
1、打开网易云小窗
2、马上切换mini态
3、等添加微件的界面出来 ,再去切换到正常态

【预期结果】
3、显示正常小窗

【实际结果】
3、页面显示异常

screen-20230506-015903.mp4 (1.43 MB) CD TEST-方永红, 2023-05-12 10:06

History

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

由于windowFrames里面的mParentFrame设置不对引起的

当调用resizeTask时,WindowState在重新计算视图大小时拿到的bounds不对

目前还没有什么解决方案

#2 Updated by CD FW 曹覃刚 over 2 years ago

  • Assignee changed from CD FW-鲁凯峰 to CD FW王武军

#3 Updated by CD FW王武军 over 2 years ago

1、5月16日进展
1)调查resize的逻辑流程,发现task的bounds在动画启动时和动画结束后是正常的,但是
用于承载frame的bounds应该是存在问题,这个与activityrecord对应的task设置为null可能有关系,
从启动的流程来看:IconChangeDefaultAlias是被finish掉的,然后启动了LoginActivity,这个过程中
task相关的bounds设置应该是调查的方向。
2、下一步
从task设置bounds的方向调查,细化bounds设置逻辑,看是否可以找到问题切入点

#4 Updated by CD FW王武军 over 2 years ago

1、5月17日进展
1)今天沿着task设置bounds的方向进行了调查:发现当执行动画的过程中
正常情况下bounds的设置是满足task和activiytrecord的要求的,但是出现问题时
task的bounds是正确的,activityrecord的bounds是错误的,导致动画结束后
task是正常大小,但是界面的实际内容却变小了。
2)尝试了一些修改:在computeFrame时将activityrecord获取的bounds替换为task的
界面有改善但是问题依旧存在,在小窗动画执行完时,在onAnimationEnd中检查bounds并重新执行resize逻辑,
但是有时候onAnimationEnd不会被触发,也不能达到效果。

2、下一步
详细调查Configuration的流程,看能否在changed触发时进行对应bounds的修改。

#5 Updated by CD FW王武军 over 2 years ago

1、5月18日进展
1)追查了Configuration的更新逻辑,发现在设置bounds时,Configuration的值会起决定性的作用,
特别是出现问题时,mFullConfiguration与mResolvedOverrideConfiguration的值并不匹配
2)尝试在ActivityRecord通过Configuration更新bounds时,将ConfigurationContainer类中的Configuration涉及的
bounds的值,用newConfiguration的值进行更新。目前来看:修改有一定的效果,还需要进行周边验证。
2、下一步
验证目前修改方案的周边

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

1、5月19日进展
1)目前的修改方案:修正Configuration中的bounds值,以确保Resolve的值可以被正常更新。
2)周边问题:该问题只发生网易云音乐,所以修改方案是针对网易云进行了适配,其他小窗应用不受该逻辑的影响;
票中提到的网易云音乐,大小异常的问题能够被修改,但是在动画时可能会存在闪动的情况,不是完全的丝滑展现,
这个是因为值被修正的原因,修正的值是理想中的正确值。
3)代码review中
4)请测试知晓2)中提到的周边问题

#7 Updated by IoT scm over 2 years ago

Gerrit Merge Information
ID Project Branch Uploader
201394 general/platform/frameworks/base Pre_figure_turbox-c2130c-la1.1-qssi12-dev
AF:MultiWindow: fix bounds error for cloudmusic
Add logic to sepcial compatility the cloudmusic,
when resize the mini and normal.
TC-RID: 1201-0204601
IssueID: TS-R-BUG-117894
Change-Id: Iefc605663a6691b93f18d56443ae66da8f3264f1

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

  • Assignee changed from CD FW王武军 to CD TEST-方永红
  • % Done changed from 0 to 100
  • Resolution changed from -- to FIXED
  • Fixed Version set to 2023-05-20
  • Root cause set to 问题原因: 网易云应用内部启动机制的原因,导致ActivityRecord的关于bounds的计算出现问题,进而影响界面的显示。 问题处理: 特殊处理网易云音乐ActivityRecord的bounds,可以修正大小显示的异常

#9 Updated by CDTS_TEST 王成 almost 2 years ago

  • Assignee changed from CD TEST-方永红 to 物联网测试组_TSCD 王维

Also available in: Atom PDF