From 0797c862192bcb8c777e4e548532f2d17f9f9d62 Mon Sep 17 00:00:00 2001 From: wilsonshih Date: Mon, 21 Jun 2021 18:07:21 +0800 Subject: [PATCH] Clear padding and background after create view from context. When create view with Context, there will also load some view attributes from the Context and pre-set to the View object, to ensure the splash screen view not affected by those attributes, clear padding and background after create those view objects. Bug: 191339594 Test: manual launch several apps from Launcher/Notification. Tets: atest SplashscreenTests Change-Id: I05be9c296a04cd49a0896ad8aef57643720d60ce --- core/java/android/window/SplashScreenView.java | 1 + core/res/res/layout/splash_screen_view.xml | 5 +++++ .../wm/shell/startingsurface/StartingSurfaceDrawer.java | 1 + 3 files changed, 7 insertions(+) diff --git a/core/java/android/window/SplashScreenView.java b/core/java/android/window/SplashScreenView.java index 4a3bf91645f21..148986a558e77 100644 --- a/core/java/android/window/SplashScreenView.java +++ b/core/java/android/window/SplashScreenView.java @@ -292,6 +292,7 @@ public final class SplashScreenView extends FrameLayout { private SurfaceView createSurfaceView(@NonNull SplashScreenView view) { final SurfaceView surfaceView = new SurfaceView(view.getContext()); + surfaceView.setPadding(0, 0, 0, 0); if (mSurfacePackage == null) { if (DEBUG) { Log.d(TAG, diff --git a/core/res/res/layout/splash_screen_view.xml b/core/res/res/layout/splash_screen_view.xml index e6d724f1ecb2a..0b7b49cdea832 100644 --- a/core/res/res/layout/splash_screen_view.xml +++ b/core/res/res/layout/splash_screen_view.xml @@ -18,12 +18,15 @@ xmlns:android="http://schemas.android.com/apk/res/android" android:layout_height="match_parent" android:layout_width="match_parent" + android:padding="0dp" android:orientation="vertical"> \ No newline at end of file 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 46db35a6e29fe..670af963230a1 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 @@ -288,6 +288,7 @@ public class StartingSurfaceDrawer { // create splash screen view finished. final SplashScreenViewSupplier viewSupplier = new SplashScreenViewSupplier(); final FrameLayout rootLayout = new FrameLayout(context); + rootLayout.setPadding(0, 0, 0, 0); final Runnable setViewSynchronized = () -> { Trace.traceBegin(TRACE_TAG_WINDOW_MANAGER, "addSplashScreenView"); // waiting for setContentView before relayoutWindow