From e6338e4ccb3f6b6646df76d84216579165aed066 Mon Sep 17 00:00:00 2001 From: wilsonshih Date: Tue, 31 May 2022 15:09:11 +0800 Subject: [PATCH] Set OPAQUE pixel format for legacy splash screen. The drawable is read from app's resources which can be transparent, set the pixel format to opaque so the splash screen window cannot blend with below layers. Bug: 234374400 Test: verify the splash screen did not become transparent. Change-Id: Ica881fa4768848afdbcd73a738a8839f469c8c87 --- .../wm/shell/startingsurface/StartingSurfaceDrawer.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/libs/WindowManager/Shell/src/com/android/wm/shell/startingsurface/StartingSurfaceDrawer.java b/libs/WindowManager/Shell/src/com/android/wm/shell/startingsurface/StartingSurfaceDrawer.java index 54d62edf25701..a0e176c7ea685 100644 --- a/libs/WindowManager/Shell/src/com/android/wm/shell/startingsurface/StartingSurfaceDrawer.java +++ b/libs/WindowManager/Shell/src/com/android/wm/shell/startingsurface/StartingSurfaceDrawer.java @@ -261,7 +261,8 @@ public class StartingSurfaceDrawer { WindowManager.LayoutParams.TYPE_APPLICATION_STARTING); params.setFitInsetsSides(0); params.setFitInsetsTypes(0); - params.format = PixelFormat.TRANSLUCENT; + params.format = suggestType == STARTING_WINDOW_TYPE_LEGACY_SPLASH_SCREEN + ? PixelFormat.OPAQUE : PixelFormat.TRANSLUCENT; int windowFlags = WindowManager.LayoutParams.FLAG_HARDWARE_ACCELERATED | WindowManager.LayoutParams.FLAG_LAYOUT_IN_SCREEN | WindowManager.LayoutParams.FLAG_LAYOUT_INSET_DECOR;