From bc8d90d4848da14e680e136bead2527fbb4039ef Mon Sep 17 00:00:00 2001 From: Filip Gruszczynski Date: Sun, 8 Nov 2015 13:40:19 -0800 Subject: [PATCH] Always add PhoneWindow when creating DecorView. Because DecorView is now a static inner class, we need to remember to always add the PhoneWindow on which it depends. PhoneWindow.generateDecor will do that now to prevent further mistakes. Also remove PhoneWindow.setFeatureFromAttrs which is not used anywhere and seems to be an artifact from the past. Bug: 25086413 Change-Id: I0d8e5df717d7046e85ffc58f7ec4e94ce15a7d80 --- .../android/internal/policy/PhoneWindow.java | 22 ++++--------------- 1 file changed, 4 insertions(+), 18 deletions(-) diff --git a/core/java/com/android/internal/policy/PhoneWindow.java b/core/java/com/android/internal/policy/PhoneWindow.java index 1bce585c83585..83f810fa76e5d 100644 --- a/core/java/com/android/internal/policy/PhoneWindow.java +++ b/core/java/com/android/internal/policy/PhoneWindow.java @@ -2404,7 +2404,7 @@ public class PhoneWindow extends Window implements MenuBuilder.Callback { private PhoneWindow mWindow; - public DecorView(Context context, int featureId) { + private DecorView(Context context, int featureId, PhoneWindow window) { super(context); mFeatureId = featureId; @@ -2415,6 +2415,8 @@ public class PhoneWindow extends Window implements MenuBuilder.Callback { mBarEnterExitDuration = context.getResources().getInteger( R.integer.dock_enter_exit_duration); + + setWindow(window); } public void setBackgroundFallback(int resId) { @@ -3868,22 +3870,7 @@ public class PhoneWindow extends Window implements MenuBuilder.Callback { context.setTheme(mTheme); } } - return new DecorView(context, featureId); - } - - protected void setFeatureFromAttrs(int featureId, TypedArray attrs, - int drawableAttr, int alphaAttr) { - Drawable d = attrs.getDrawable(drawableAttr); - if (d != null) { - requestFeature(featureId); - setFeatureDefaultDrawable(featureId, d); - } - if ((getFeatures() & (1 << featureId)) != 0) { - int alpha = attrs.getInt(alphaAttr, -1); - if (alpha >= 0) { - setFeatureDrawableAlpha(featureId, alpha); - } - } + return new DecorView(context, featureId, this); } protected ViewGroup generateLayout(DecorView decor) { @@ -4268,7 +4255,6 @@ public class PhoneWindow extends Window implements MenuBuilder.Callback { mForceDecorInstall = false; if (mDecor == null) { mDecor = generateDecor(-1); - mDecor.setWindow(this); mDecor.setDescendantFocusability(ViewGroup.FOCUS_AFTER_DESCENDANTS); mDecor.setIsRootNamespace(true); if (!mInvalidatePanelMenuPosted && mInvalidatePanelMenuFeatures != 0) {