Bug #113017

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

测试 Test-IT #111067: AF-V3.0--Launcher/SystemUI-任务管理器

【AF】【EVT】【任务管理器】进入设置的快捷方式,多任务管理器中会出现两个设置的后台进程

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

Status:CLOSEDStart date:2022-10-26
Priority:HighDue date:
Assignee:CD TEST-方永红% Done:

100%

Category:CD-APP
Target version:VX1_MCE_FSE_V3.0_update_20221115
Need_Info:-- Found Version:FlatBuild_VX1_MCE_xx.xx_FSE.D.userdebug.0.0.0.20221026.alpha
Resolution:FIXED Degrated:--
Severity:Normal Verified Version:FlatBuild_HH_VX1_MCE_FSE.M.D.user.01.00.X101.202210290232
Reproducibility:Every time Fixed Version:2022-10-29
Test Type:IT Root cause:FW中快捷方式启动应用都会创建一个Task,Setting内部对意图进行了复用,继承了创建Task的FLAG(Intent.FLAG_ACTIVITY_NEW_TASK)去启动Setting界面,因此会创建第二个Task.

Description

【前提条件】
1、设备已开机
2、后台进程

【测试步骤】
1、添加设置的快捷方式到桌面(如电池)
2、进入该快捷方式
3、上划打开多任务管理器查看进程卡片

【预期结果】
3、只有一个设置的进程卡片

【实际结果】
3、有两个设置的进程卡片(如图)

【复现率】
必现

1501.txt Magnifier (552 KB) CD TEST-方永红, 2022-10-26 15:03

设置进程.png (87.6 KB) CD TEST-方永红, 2022-10-26 15:03

%e8%ae%be%e7%bd%ae%e8%bf%9b%e7%a8%8b

History

#1 Updated by CD APP-王营 over 2 years ago

  • Status changed from New to ASSIGNED
  • Assignee changed from CD APP-王营 to CD- App-李朝鹏

#2 Updated by CD- App-李朝鹏 over 2 years ago

■ Current conclusion
bug未修复。
■ My analysis
1.根据settings开发同事(陈羽杰)所述,打开新的settings界面会先打开左边activity,再打开右边activity组成新的settings界面。所以task list里面会存在两个设置task。
2.在联想平板(联想android系统,我们项目组未修改该系统,该系统的设置界面为单activity布局)上,先打开一个settings,再通过快捷方式打开一个settings,task list中会存在两个设置task。
3.按陈羽杰所说,通过快捷方式打开新布局的settings需要设置intent的action为com.android.settings.homepage.SettingsHomepageActivity。

#3 Updated by CD- App-李朝鹏 over 2 years ago

  • Assignee changed from CD- App-李朝鹏 to CD APP-黄棚

#4 Updated by CD APP-王营 over 2 years ago

  • Assignee changed from CD APP-黄棚 to CD- FW-石豪

请帮忙分析一下这个问题。

#5 Updated by CD- FW-石豪 over 2 years ago

通过快捷方式启动Settings,经过了启动了两次
10-27 20:58:04.200 1036 24785 I ActivityTaskManager: START u0 {act=android.intent.action.MAIN cat=[com.android.settings.SHORTCUT] flg=0x14000000 cmp=com.android.settings/.*Settings$BluetoothSettingsActivity* bnds=[672,684][932,960]} from uid 1000
10-27 20:58:04.401 24786 24786 D SettingsActivity: START SettingsComponentInfo{com.android.settings/com.android.settings.homepage.SettingsHomepageActivity}
10-27 20:58:04.409 1036 9920 I ActivityTaskManager: START u0 {act=android.intent.action.MAIN cat=[com.android.settings.SHORTCUT] flg=0x14000000 cmp=com.android.settings/.*homepage.SettingsHomepageActivity* bnds=[672,684][932,960] (has extras)} from uid 1000

第一次启动快捷方式Settings$BluetoothSettingsActivity,第二次启动 homepage.SettingsHomepageActivity
recent创建了2个task。
定位到引入改bug的提交:https://dev.thundercomm.com/gerrit/c/general/platform/packages/apps/Settings/+/150404
考虑到Setting采用分栏的方式是多Activity呈现的界面。考虑在Launcher的recent loadTasks或ActivityManagerWrapper相关业务中对这种情况做处理

#6 Updated by CD- FW-石豪 over 2 years ago

  • Status changed from ASSIGNED to RESOLVED
  • Assignee changed from CD- FW-石豪 to CD TEST-方永红
  • Resolution changed from -- to FIXED
  • Verified Version set to FlatBuild_VX1_MCE_xx.xx_FSE.D.userdebug.0.0.0.20221029
  • Fixed Version set to 2022-10-29
  • Root cause set to FW中快捷方式启动应用都会创建一个Task,Setting内部对意图进行了复用,继承了创建Task的FLAG(Intent.FLAG_ACTIVITY_NEW_TASK)去启动Setting界面,因此会创建第二个Task.

【根本原因】FW中快捷方式启动应用都会创建一个Task,Setting内部对意图进行了复用,继承了创建Task的FLAG(Intent.FLAG_ACTIVITY_NEW_TASK)去启动Setting界面,因此会创建第二个Task.
【解决方案】Setting界面部分是sigleTask的启动方式,因此单纯在Setting中移除flag并不起作用,还要同时修改启动模式。修改启动模式风险太大会引起人机交互混乱。
因此,针对Settting Shortcut,在启动时就设置隐藏Shortcut的task,保留最新一次Settings的task,保证Recent中只存在一个最新的task

【提交代码】
https://dev.thundercomm.com/gerrit/c/general/platform/packages/apps/Settings/+/158716
https://dev.thundercomm.com/gerrit/c/general/platform/frameworks/base/+/158713
【合入时间】10.28需要在10.29或之后版本验证
【验证方式】
1、开机完成
2、添加Settings的微件(快捷方式)
3、点击快捷方式,上拉进入recent查看Setting进程数量,预期只有一个Settings的进程
4、回到桌面,上拉进入recent查看Setting进程数量,预期只有一个Settings的进程
5、点击Dock栏Setting图标进入Setting,上拉进入recent查看Setting进程数量,预期只有一个Settings的进程
6、回到桌面,上拉进入recent查看Setting进程数量,预期只有一个Settings的进程

#7 Updated by CD- FW-石豪 over 2 years ago

  • % Done changed from 0 to 100

#8 Updated by CDTS_TEST 王成 over 2 years ago

  • Target version changed from VX1_MCE_FSE_V3.0_20221030 to VX1_MCE_FSE_V3.0_update_20221115

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

  • Status changed from RESOLVED to VERIFIED
  • Verified Version changed from FlatBuild_VX1_MCE_xx.xx_FSE.D.userdebug.0.0.0.20221029 to FlatBuild_HH_VX1_MCE_FSE.M.D.user.01.00.X101.202210290232

10.31 目前通过长按屏幕添加微件所添加的快捷方式,点击进入已经不会出现两个进程了,可以先关闭

#10 Updated by CD TEST-方永红 over 2 years ago

  • Status changed from VERIFIED to CLOSED

#11 Updated by CD FW-王伟 over 2 years ago

Gerrit Merge Information
ID Project Branch Uploader
158713 general/platform/frameworks/base Pre_figure_turbox-c2130c-la1.1-qssi12-dev
AF:Recents:Fix multiple same tasks in recent
TC-RID: 1201-0205302
IssueID: TS-R-DF-113017
Change-Id: I79bc49c5932f3a638fd3295c647c3d2569278d3d

#12 Updated by CD FW-王伟 over 2 years ago

Gerrit Merge Information
ID Project Branch Uploader
158716 general/platform/packages/apps/Settings Pre_figure_turbox-c2130c-la1.1-qssi12-dev
AF:Recents:Fix multiple settings tasks in recent
TC-RID: 1201-0205302
IssueID: TS-R-DF-113017
Change-Id: I914c740e0ef723f160e8b527260f2cc362693a71

Also available in: Atom PDF