From 1ab06de89fa897919e531c3ce2609ce24ef79100 Mon Sep 17 00:00:00 2001 From: Jorim Jaggi Date: Tue, 9 Apr 2019 15:16:23 +0200 Subject: [PATCH] Pretend to be having the original background ...as otherwise setWindowBackground(bg) => bg == dv.getBackground property is violated. Test: WindowTest Fixes: 130170137 Change-Id: I21dc45b291fd2568355ff186966a910cd05ed994 --- core/java/com/android/internal/policy/DecorView.java | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/core/java/com/android/internal/policy/DecorView.java b/core/java/com/android/internal/policy/DecorView.java index 66a63290cdbd2..ad603b4267ed1 100644 --- a/core/java/com/android/internal/policy/DecorView.java +++ b/core/java/com/android/internal/policy/DecorView.java @@ -627,7 +627,7 @@ public class DecorView extends FrameLayout implements RootViewSurfaceTaker, Wind drawingBounds.bottom -= framePadding.bottom - frameOffsets.bottom; } - Drawable bg = getBackground(); + Drawable bg = super.getBackground(); if (bg != null) { bg.setBounds(drawingBounds); } @@ -1235,6 +1235,11 @@ public class DecorView extends FrameLayout implements RootViewSurfaceTaker, Wind mLastOriginalBackgroundDrawable = mOriginalBackgroundDrawable; } + @Override + public Drawable getBackground() { + return mOriginalBackgroundDrawable; + } + private int calculateStatusBarColor() { return calculateBarColor(mWindow.getAttributes().flags, FLAG_TRANSLUCENT_STATUS, mSemiTransparentBarColor, mWindow.mStatusBarColor);