Bug #117421

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

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

【AF】【EVT3】【小窗模式】打开应用宝小窗,按住顶部导航条,小窗变为直角随后全屏显示

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

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

100%

Category:窗口定制
Target version:-
Need_Info:-- Found Version:FlatBuild_HH_MCE_FSE.M.R.user.01.00.0090.C103(X103)
Resolution:FIXED Degrated:No
Severity:Normal Verified Version:FlatBuild_HH_MCE_FSE.M.D.user.01.00.C103(X103).202304210449
Reproducibility:Every time Fixed Version:2023-04-19
Test Type:ST Root cause:产生问题的原因是由于activity在finish的时候,把Task所有的config都还原了导致的

Description

【前提条件】
1、设备正常启动
2、左手模式下

【测试步骤】
1、打开应用宝
2、按住顶部导航条

【预期结果】
2、进入可移动模式

【实际结果】
2、小窗变为直角随后全屏显示

【复现率】
3/3

Phone-STS40X190078 2023-04-12 17-43-58.mp4 (5.37 MB) CD TEST-方永红, 2023-04-12 17:45

History

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

■ 当前的状态
离开freeform状态时,可以观察到如下的log被打印

04-16 02:11:21.577  1145  2265 W FreeFormWindowHelper: Current Display FreeFormTask is Task{d125ae6 #45 type=standard A=10100:com.tencent.android.qqdownloader U=0 visible=true mode=freeform translucent=false sz=3}
04-16 02:11:22.782  1145  1232 D FreeFormWindowHelper: refreshTipWindow mTipWindowTitle : freeform_top_left_tip_window
04-16 02:11:22.784  1145  1232 D FreeFormWindowHelper: Remove freefrom task=Task{d125ae6 #45 type=standard A=10100:com.tencent.android.qqdownloader U=0 visible=true mode=fullscreen translucent=false sz=1}

打印出了堆栈信息

04-16 01:37:26.164  8980  9003 D FreeFormWindowHelper: java.lang.Throwable
04-16 01:37:26.164  8980  9003 D FreeFormWindowHelper:     at com.android.server.wm.FreeFormWindowHelper.removeRootTaskReferenceIfNeeded(FreeFormWindowHelper.java:329)
04-16 01:37:26.164  8980  9003 D FreeFormWindowHelper:     at com.android.server.wm.Task.onConfigurationChangedInner(Task.java:2301)
04-16 01:37:26.164  8980  9003 D FreeFormWindowHelper:     at com.android.server.wm.Task.onConfigurationChanged(Task.java:2378)
04-16 01:37:26.164  8980  9003 D FreeFormWindowHelper:     at com.android.server.wm.ConfigurationContainer.onRequestedOverrideConfigurationChanged(ConfigurationContainer.java:199)
04-16 01:37:26.164  8980  9003 D FreeFormWindowHelper:     at com.android.server.wm.WindowContainer.onRequestedOverrideConfigurationChanged(WindowContainer.java:795)
04-16 01:37:26.164  8980  9003 D FreeFormWindowHelper:     at com.android.server.wm.ConfigurationContainer.setBounds(ConfigurationContainer.java:356)
04-16 01:37:26.164  8980  9003 D FreeFormWindowHelper:     at com.android.server.wm.Task.setBounds(Task.java:7673)
04-16 01:37:26.164  8980  9003 D FreeFormWindowHelper:     at com.android.server.wm.Task.setBounds(Task.java:3315)
04-16 01:37:26.164  8980  9003 D FreeFormWindowHelper:     at com.android.server.wm.Task.resize(Task.java:1051)
04-16 01:37:26.164  8980  9003 D FreeFormWindowHelper:     at com.android.server.wm.ActivityTaskManagerService.resizeTask(ActivityTaskManagerService.java:2742)
04-16 01:37:26.164  8980  9003 D FreeFormWindowHelper:     at com.android.server.wm.TaskPositioner$WindowPositionerEventReceiver.onInputEvent(TaskPositioner.java:171)
04-16 01:37:26.164  8980  9003 D FreeFormWindowHelper:     at android.view.InputEventReceiver.dispatchInputEvent(InputEventReceiver.java:260)
04-16 01:37:26.164  8980  9003 D FreeFormWindowHelper:     at android.view.InputEventReceiver.nativeConsumeBatchedInputEvents(Native Method)
04-16 01:37:26.164  8980  9003 D FreeFormWindowHelper:     at android.view.InputEventReceiver.consumeBatchedInputEvents(InputEventReceiver.java:240)
04-16 01:37:26.164  8980  9003 D FreeFormWindowHelper:     at android.view.BatchedInputEventReceiver.doConsumeBatchedInput(BatchedInputEventReceiver.java:70)
04-16 01:37:26.164  8980  9003 D FreeFormWindowHelper:     at android.view.BatchedInputEventReceiver$BatchedInputRunnable.run(BatchedInputEventReceiver.java:99)
04-16 01:37:26.164  8980  9003 D FreeFormWindowHelper:     at android.view.Choreographer$CallbackRecord.run(Choreographer.java:1120)
04-16 01:37:26.164  8980  9003 D FreeFormWindowHelper:     at android.view.Choreographer.doCallbacks(Choreographer.java:926)
04-16 01:37:26.164  8980  9003 D FreeFormWindowHelper:     at android.view.Choreographer.doFrame(Choreographer.java:851)
04-16 01:37:26.164  8980  9003 D FreeFormWindowHelper:     at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:1105)
04-16 01:37:26.164  8980  9003 D FreeFormWindowHelper:     at android.os.Handler.handleCallback(Handler.java:938)
04-16 01:37:26.164  8980  9003 D FreeFormWindowHelper:     at android.os.Handler.dispatchMessage(Handler.java:99)
04-16 01:37:26.164  8980  9003 D FreeFormWindowHelper:     at android.os.Looper.loopOnce(Looper.java:201)
04-16 01:37:26.164  8980  9003 D FreeFormWindowHelper:     at android.os.Looper.loop(Looper.java:288)
04-16 01:37:26.164  8980  9003 D FreeFormWindowHelper:     at android.os.HandlerThread.run(HandlerThread.java:67)
04-16 01:37:26.164  8980  9003 D FreeFormWindowHelper:     at com.android.server.ServiceThread.run(ServiceThread.java:44)
04-16 01:37:26.165  8980  9003 D FreeFormWindowHelper: Remove freefrom task=Task{88d571d #68 type=standard A=10100:com.tencent.android.qqdownloader U=0 visible=true mode=fullscreen translucent=false sz=1}

■ 下一步动作
进一步调查根本原因

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

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

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

■ 当前进展
1. 通过对比其它应用的正常log,发现是因为拖动应用宝的时候,windowingMode被修改为了1(即fullscreen)。而拖动其它应用一直是5(freeform)
2. 应用宝以小窗形式打开后,先切换为mini态,再切换为默认态,问题就不存在了。

基于如上两点,正在调查是否是因为第一次打开的时候rootTask的windowingMode依然是fullscreen造成的

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

■ 当前状态
该问题与https://share.thundersoft.com/redmine/issues/117413 是同一个原因,在启动应用宝的时候会连续启动3个Activity。 需要保证freeform task启动的所有activity的windowingMode都是WINDOWING_MODE_FREEFORM

04-16 04:02:51.581  3900  5143 I wm_create_activity: [0,18190453,46,com.tencent.android.qqdownloader/com.tencent.pangu.link.SplashActivity,android.intent.action.MAIN,NULL,NULL,270532608]
04-16 04:02:51.620  3900  7105 I wm_create_activity: [0,17033942,46,com.tencent.android.qqdownloader/com.tencent.assistant.activity.SplashImplActivity,NULL,NULL,NULL,268500992]
04-16 04:02:51.764  3900  8353 I wm_create_activity: [0,45834393,46,com.tencent.android.qqdownloader/com.tencent.assistantv2.activity.MainActivity,NULL,NULL,NULL,335544320]

■ 问题修改
https://dev.thundercomm.com/gerrit/c/general/platform/frameworks/base/+/194395

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

  • Status changed from New to RESOLVED
  • % Done changed from 0 to 100
  • Degrated changed from -- to No
  • Fixed Version set to 2023-04-19
  • Root cause set to 产生问题的原因是由于activity在finish的时候,把Task所有的config都还原了导致的

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

  • Assignee changed from CD FW-肖磊 to CD TEST-方永红

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

  • Resolution changed from -- to FIXED

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

  • Status changed from RESOLVED to VERIFIED
  • Verified Version set to FlatBuild_HH_MCE_FSE.M.D.user.01.00.C103(X103).202304210449

4.21
验证通过

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

  • Status changed from VERIFIED to CLOSED

Also available in: Atom PDF