Bug #112048
测试 Test-IT #110961: V2.0功能测试
测试 Test-IT #111047: AF-V2.0-小窗模式
【AF】【EVT】【小窗模式】【设置】点击Settings应用小窗中的全屏图标后,Settings应用发生crash
Status: | CLOSED | Start date: | 2022-09-20 | |
---|---|---|---|---|
Priority: | High | Due 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】
其他应用正常
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
ID | Project | Branch | Uploader |
151143 | general/platform/packages/apps/Settings | Pre_figure_turbox-c2130c-la1.1-qssi12-dev | yujie.chen@thundersoft.com |
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 |