Apply splash screen and transfer starting window to all activities
This fixes a CTS failure and lack of splash screen for some activities.
When removing the global lock in AppWindowToken in change 1ee84ea,
transferStartingWindow and creating splash screen was accidentally
wrapped by if(theme != 0) by mistake. The error will prevent simple app
from showing splash screen.
This patch fixes the error and the function is now aligned with the old
AppWindowContainerController#addStartingWindow.
Test: atest ActivityMetricsLoggerTests
Test: Test app in b/120968158 will show the splash screen with correct
log information.
Bug: 120968158
Bug: 120779200
Change-Id: I34bf01874eecc3c0402d83d922445cd48ca1b39a
diff --git a/services/core/java/com/android/server/wm/AppWindowToken.java b/services/core/java/com/android/server/wm/AppWindowToken.java
index 8d49bf3..d8b2b52 100644
--- a/services/core/java/com/android/server/wm/AppWindowToken.java
+++ b/services/core/java/com/android/server/wm/AppWindowToken.java
@@ -1837,23 +1837,23 @@
return false;
}
}
-
- if (transferStartingWindow(transferFrom)) {
- return true;
- }
-
- // There is no existing starting window, and we don't want to create a splash screen, so
- // that's it!
- if (type != STARTING_WINDOW_TYPE_SPLASH_SCREEN) {
- return false;
- }
-
- if (DEBUG_STARTING_WINDOW) Slog.v(TAG_WM, "Creating SplashScreenStartingData");
- startingData = new SplashScreenStartingData(mWmService, pkg,
- theme, compatInfo, nonLocalizedLabel, labelRes, icon, logo, windowFlags,
- getMergedOverrideConfiguration());
- scheduleAddStartingWindow();
}
+
+ if (transferStartingWindow(transferFrom)) {
+ return true;
+ }
+
+ // There is no existing starting window, and we don't want to create a splash screen, so
+ // that's it!
+ if (type != STARTING_WINDOW_TYPE_SPLASH_SCREEN) {
+ return false;
+ }
+
+ if (DEBUG_STARTING_WINDOW) Slog.v(TAG_WM, "Creating SplashScreenStartingData");
+ startingData = new SplashScreenStartingData(mWmService, pkg,
+ theme, compatInfo, nonLocalizedLabel, labelRes, icon, logo, windowFlags,
+ getMergedOverrideConfiguration());
+ scheduleAddStartingWindow();
return true;
}