From 0df63d5d57ee3741704290bd7f73f17c38cb1ee8 Mon Sep 17 00:00:00 2001 From: Chong Zhang Date: Wed, 24 Feb 2016 15:39:53 -0800 Subject: [PATCH] Make sure background drawable callback is cleared during resizing bug: 27297724 Change-Id: I8ee3d0e093f94a7fc293f64949abbb612e0b2aa4 --- core/java/com/android/internal/policy/DecorView.java | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/core/java/com/android/internal/policy/DecorView.java b/core/java/com/android/internal/policy/DecorView.java index 48328814abbd8..aaa800ad84f25 100644 --- a/core/java/com/android/internal/policy/DecorView.java +++ b/core/java/com/android/internal/policy/DecorView.java @@ -1744,6 +1744,10 @@ public class DecorView extends FrameLayout implements RootViewSurfaceTaker, Wind mCaptionBackgroundDrawable = getContext().getDrawable( R.drawable.decor_caption_title_focused); } + if (mResizingBackgroundDrawable != null) { + mLastBackgroundDrawableCb = mResizingBackgroundDrawable.getCallback(); + mResizingBackgroundDrawable.setCallback(null); + } } // Free floating overlapping windows require a caption. @@ -1914,11 +1918,6 @@ public class DecorView extends FrameLayout implements RootViewSurfaceTaker, Wind final ThreadedRenderer renderer = getHardwareRenderer(); if (renderer != null) { loadBackgroundDrawablesIfNeeded(); - if (mResizingBackgroundDrawable != null) { - mLastBackgroundDrawableCb = mResizingBackgroundDrawable.getCallback(); - mResizingBackgroundDrawable.setCallback(null); - } - mBackdropFrameRenderer = new BackdropFrameRenderer(this, renderer, initialBounds, mResizingBackgroundDrawable, mCaptionBackgroundDrawable, mUserCaptionBackgroundDrawable, getCurrentColor(mStatusColorViewState),