Tracking launch activity to decide next splash screen style.
The generic rule to showing an empty splash screen is that if an activity is launched from another visible activity besides Launcher. So with this rule, when prepare the starting window for a launching activity, we can tracking where the source activity comes from and whether it has show splash screen or has drawn window before. This can solve the inconsistent launch sequence when launching an activity from non-system surface for the status either new task or new process. There will show an empty style splash screen if the launching activity was drawn or it has show splash screen before. Another coner case is that a process could start a new activity from service, for the better UX we should also check whether there any existing activities which were from the same process or same package and has already at foreground. We can still add "show icon_style_splash_screen" flag in the future. Bug: 185433040 Bug: 185567723 Bug: 185448781 Test: atest SplashscreenTests ActivityRecordTests Test: manual test Launch browser from -1, empty splash screen Launch calendar from launcher, icon splash screen Launch work app from Settings -> Notifications -> Calendar show empty splash screen Launch Settings -> System update show empty splash screen Launch Dialer -> call out -> show empty splash screen on InCallActivity Change-Id: Id84f1f69de6c5e3f1c21cd249c62404958410193
Loading
Please register or sign in to comment