Bug #112048

测试 Test-IT #110961: V2.0功能测试

测试 Test-IT #111047: AF-V2.0-小窗模式

【AF】【EVT】【小窗模式】【设置】点击Settings应用小窗中的全屏图标后,Settings应用发生crash

Added by CD Test赵飞 almost 3 years ago. Updated over 2 years ago.

Status:CLOSEDStart date:2022-09-20
Priority:HighDue date:2022-09-27
Assignee:CDTS_TEST 王成% Done:

100%

Category:CD-FW
Target version:VX1_MCE_FSE_V2.0_20220930
Need_Info:-- Found Version:FlatBuild_VX1_MCE_xx.xx_FSE.R.userdebug.0.0.0.20220920.alpha_0016
Resolution:FIXED Degrated:No
Severity:Critical Verified Version:FlatBuild_VX1_MCE_xx.xx_FSE.R.userdebug.0.0.0.20220928.alpha_0022
Reproducibility:Every time Fixed Version:
Test Type:IT Root cause:编码问题

Description

测试版本:FlatBuild_VX1_MCE_xx.xx_FSE.R.userdebug.0.0.0.20220920.alpha_0016

【前提条件】
1、设备已开机
2、后台未运行任何应用

【测试步骤】
1、长按桌面上的“设置”图标
2、在弹出的菜单中点击“小窗”
3、点击应用小窗上的全屏图标

【预期结果】
3、“设置”应用以全屏正常显示

【实际结果】
3、“设置”应用发生crash

【复现率】
5/5

【Log】
见附件

【Note】
其他应用正常

logcat.txt Magnifier (1.7 MB) CD Test赵飞, 2022-09-20 17:59

History

#1 Updated by CD FW-王伟 almost 3 years ago

  • Assignee changed from CD FW-王伟 to CD- FW-石豪

#2 Updated by CD- FW-石豪 almost 3 years ago

  • Assignee changed from CD- FW-石豪 to CD AF-陈羽杰
  • Root cause set to SettingsHomepageActivity中的onCreate中的surper.onCreate方法经过一系列回调后调到TopLevelSettings.onPreferenceStartFragment然后调用SettingsHomepageActivity.changeSettingsDetailsFragment方法,此时SettingsHomepageActivity本就没有初始化成功资源还没有初始化。

【日志分析】
Caused by: java.lang.NullPointerException: Attempt to invoke virtual method 'void android.widget.TextView.setVisibility(int)' on a null object reference
09-21 12:42:50.816 11905 11905 E AndroidRuntime: at com.android.settings.homepage.SettingsHomepageActivity.*setSettingsDetailsTitle(SettingsHomepageActivity.java:278)*
09-21 12:42:50.816 11905 11905 E AndroidRuntime: at com.android.settings.homepage.SettingsHomepageActivity.*changeSettingsDetailsFragment(SettingsHomepageActivity.java:293)*
09-21 12:42:50.816 11905 11905 E AndroidRuntime: at com.android.settings.homepage.TopLevelSettings.onPreferenceStartFragment(TopLevelSettings.java:102)
09-21 12:42:50.816 11905 11905 E AndroidRuntime: at com.android.settings.homepage.TopLevelSettings.onCreatePreferences(TopLevelSettings.java:126)
09-21 12:42:50.816 11905 11905 E AndroidRuntime: at androidx.preference.PreferenceFragmentCompat.onCreate(PreferenceFragmentCompat.java:161)
09-21 12:42:50.816 11905 11905 E AndroidRuntime: at com.android.settingslib.core.lifecycle.ObservablePreferenceFragment.onCreate(ObservablePreferenceFragment.java:61)
09-21 12:42:50.816 11905 11905 E AndroidRuntime: at com.android.settings.SettingsPreferenceFragment.onCreate(SettingsPreferenceFragment.java:127)
09-21 12:42:50.816 11905 11905 E AndroidRuntime: at com.android.settings.dashboard.DashboardFragment.onCreate(DashboardFragment.java:150)
09-21 12:42:50.816 11905 11905 E AndroidRuntime: at androidx.fragment.app.Fragment.performCreate(Fragment.java:2939)
09-21 12:42:50.816 11905 11905 E AndroidRuntime: at androidx.fragment.app.FragmentStateManager.create(FragmentStateManager.java:451)
09-21 12:42:50.816 11905 11905 E AndroidRuntime: at androidx.fragment.app.FragmentStateManager.moveToExpectedState(FragmentStateManager.java:254)
09-21 12:42:50.816 11905 11905 E AndroidRuntime: at androidx.fragment.app.FragmentStore.moveToExpectedState(FragmentStore.java:112)
09-21 12:42:50.816 11905 11905 E AndroidRuntime: at androidx.fragment.app.FragmentManager.moveToState(FragmentManager.java:1667)
09-21 12:42:50.816 11905 11905 E AndroidRuntime: at androidx.fragment.app.FragmentManager.dispatchStateChange(FragmentManager.java:3234)
09-21 12:42:50.816 11905 11905 E AndroidRuntime: at androidx.fragment.app.FragmentManager.dispatchCreate(FragmentManager.java:3167)
09-21 12:42:50.816 11905 11905 E AndroidRuntime: at androidx.fragment.app.FragmentController.dispatchCreate(FragmentController.java:240)
09-21 12:42:50.816 11905 11905 E AndroidRuntime: at androidx.fragment.app.FragmentActivity.onCreate(FragmentActivity.java:272)
09-21 12:42:50.816 11905 11905 E AndroidRuntime: at com.android.settings.homepage.SettingsHomepageActivity.*onCreate(SettingsHomepageActivity.java:117)*

报错原因:setSettingsDetailsTitle方法中mSettingsDetailsTitle为null导致crash

【根本原因】SettingsHomepageActivity中的onCreate中的surper.onCreate方法经过一系列回调后调到TopLevelSettings.onPreferenceStartFragment然后调用SettingsHomepageActivity.changeSettingsDetailsFragment方法,此时SettingsHomepageActivity本就没有初始化成功资源还没有初始化。
【解决方案】更改TopLevelSettings.onPreferenceStartFragment里的回调逻辑,做延时机制
【下一步动作】这个是做feature时,衍生出来的bug,需要转给相关同事处理

#3 Updated by CDTS_TEST 王成 almost 3 years ago

  • Target version set to VX1_MCE_FSE_V2.0_20220930

#4 Updated by CD AF-陈羽杰 almost 3 years ago

  • Status changed from New to ASSIGNED

#5 Updated by CD AF-陈羽杰 almost 3 years ago

  • % Done changed from 0 to 80
  • Root cause deleted (SettingsHomepageActivity中的onCreate中的surper.onCreate方法经过一系列回调后调到TopLevelSettings.onPreferenceStartFragment然后调用SettingsHomepageActivity.changeSettingsDetailsFragment方法,此时SettingsHomepageActivity本就没有初始化成功资源还没有初始化。)

Current conclusion
已经定位到问题
■ My analysis
SettingsHomepageActivity中的onCreate中的surper.onCreate方法经过一系列回调后调到TopLevelSettings.onPreferenceStartFragment然后调用SettingsHomepageActivity.changeSettingsDetailsFragment方法,此时SettingsHomepageActivity本就没有初始化成功资源还没有初始化。
■ Next action
本地修复并验证

#6 Updated by CD AF-陈羽杰 almost 3 years ago

  • Status changed from ASSIGNED to RESOLVED
  • Degrated changed from -- to No
  • Root cause set to 编码问题

#7 Updated by CD AF-陈羽杰 almost 3 years ago

  • Assignee changed from CD AF-陈羽杰 to CDTS_TEST 王成
  • % Done changed from 80 to 100
  • Resolution changed from -- to FIXED

Current conclusion
已经定位到问题
■ My analysis
SettingsHomepageActivity中的onCreate中的surper.onCreate方法经过一系列回调后调到TopLevelSettings.onPreferenceStartFragment然后调用SettingsHomepageActivity.changeSettingsDetailsFragment方法,此时SettingsHomepageActivity本就没有初始化成功资源还没有初始化。
■ submit url
https://dev.thundercomm.com/gerrit/c/general/platform/packages/apps/Settings/+/151143

#8 Updated by CDTS_TEST 王成 almost 3 years ago

  • Severity changed from Normal to Critical

#9 Updated by CD Test赵飞 almost 3 years ago

  • Status changed from RESOLVED to VERIFIED
  • Verified Version set to FlatBuild_VX1_MCE_xx.xx_FSE.R.userdebug.0.0.0.20220928.alpha_0022

验证版本:FlatBuild_VX1_MCE_xx.xx_FSE.R.userdebug.0.0.0.20220928.alpha_0022
验证结果:PASS
Settings应用的小窗模式已被移除,此问题不再复现

#10 Updated by CD Test赵飞 almost 3 years ago

  • Status changed from VERIFIED to CLOSED

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

Gerrit Merge Information
ID Project Branch Uploader
151143 general/platform/packages/apps/Settings Pre_figure_turbox-c2130c-la1.1-qssi12-dev
AF:Settings: Fix Small window BUG
1.Fix Settings small window to full screen crash
TC-RID: 1201-0201813
IssueID: TS-R-DF-112048
Change-Id: I99cb43637bf6619834cbfd9823a2a9f15d36d62b

Also available in: Atom PDF