From 85313e73faa7275bcd0e95c25ca2f3104f5ca94f Mon Sep 17 00:00:00 2001 From: wilsonshih Date: Mon, 30 Aug 2021 10:49:59 +0800 Subject: Use SystemUI theme to inflate FrameLayout and SplashScreenView The FrameLayout and SplashScreenView are only used as container in StartingSurfaceDrawer, so they do not need to be inflated by app's context, which could be affected by app's resources. Bug: 197936273 Test: cold launch test app and show splash screen. Test: launch several apps to verify that everything is fine. Test: atest StartingSurfaceDrawerTests Change-Id: I6de444546b5dfba23fc1d7c9c4deb12787d667c5 Merged-In: I6de444546b5dfba23fc1d7c9c4deb12787d667c5 (cherry picked from commit c86f1eb19e2578073849118fe1e81f694d5fae4b) --- core/java/android/window/SplashScreenView.java | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) (limited to 'core/java/android/window/SplashScreenView.java') diff --git a/core/java/android/window/SplashScreenView.java b/core/java/android/window/SplashScreenView.java index acf20d701eeb..6a875d1be65d 100644 --- a/core/java/android/window/SplashScreenView.java +++ b/core/java/android/window/SplashScreenView.java @@ -316,7 +316,8 @@ public final class SplashScreenView extends FrameLayout { } private SurfaceView createSurfaceView(@NonNull SplashScreenView view) { - final SurfaceView surfaceView = new SurfaceView(view.getContext()); + final Context viewContext = view.getContext(); + final SurfaceView surfaceView = new SurfaceView(viewContext); surfaceView.setPadding(0, 0, 0, 0); surfaceView.setBackground(mIconBackground); if (mSurfacePackage == null) { @@ -326,10 +327,10 @@ public final class SplashScreenView extends FrameLayout { + Thread.currentThread().getId()); } - SurfaceControlViewHost viewHost = new SurfaceControlViewHost(mContext, - mContext.getDisplay(), + SurfaceControlViewHost viewHost = new SurfaceControlViewHost(viewContext, + viewContext.getDisplay(), surfaceView.getHostToken()); - ImageView imageView = new ImageView(mContext); + ImageView imageView = new ImageView(viewContext); imageView.setBackground(mIconDrawable); viewHost.setView(imageView, mIconSize, mIconSize); SurfaceControlViewHost.SurfacePackage surfacePackage = viewHost.getSurfacePackage(); -- cgit v1.2.3