diff options
author | John Spurlock <jspurlock@google.com> | 2013-10-08 10:08:32 -0400 |
---|---|---|
committer | John Spurlock <jspurlock@google.com> | 2013-10-08 11:49:47 -0400 |
commit | 65567d4e6ca61bbf702afd76e8be938982187e9a (patch) | |
tree | bbb12f96b22e850fce367b95be04e91f428213ab /policy/src | |
parent | be5ba9a255e258e03925bb651e5563625ddf6d59 (diff) | |
download | frameworks_base-65567d4e6ca61bbf702afd76e8be938982187e9a.zip frameworks_base-65567d4e6ca61bbf702afd76e8be938982187e9a.tar.gz frameworks_base-65567d4e6ca61bbf702afd76e8be938982187e9a.tar.bz2 |
Don't crop top-most windows at rest.
They can affect the system decor state, cropping to their
current requested state is too aggressive.
Bug:11079003
Change-Id: Ifec576d41cdefd1b851463d4b12311f1a8e27b3d
Diffstat (limited to 'policy/src')
-rw-r--r-- | policy/src/com/android/internal/policy/impl/PhoneWindowManager.java | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/policy/src/com/android/internal/policy/impl/PhoneWindowManager.java b/policy/src/com/android/internal/policy/impl/PhoneWindowManager.java index 3468425..de841da 100644 --- a/policy/src/com/android/internal/policy/impl/PhoneWindowManager.java +++ b/policy/src/com/android/internal/policy/impl/PhoneWindowManager.java @@ -3003,9 +3003,12 @@ public class PhoneWindowManager implements WindowManagerPolicy { dcf.bottom = mSystemBottom; final boolean inheritTranslucentDecor = (attrs.privateFlags & WindowManager.LayoutParams.PRIVATE_FLAG_INHERIT_TRANSLUCENT_DECOR) != 0; - if (attrs.type >= WindowManager.LayoutParams.FIRST_APPLICATION_WINDOW - && attrs.type <= WindowManager.LayoutParams.LAST_APPLICATION_WINDOW - && !inheritTranslucentDecor) { + final boolean isAppWindow = + attrs.type >= WindowManager.LayoutParams.FIRST_APPLICATION_WINDOW && + attrs.type <= WindowManager.LayoutParams.LAST_APPLICATION_WINDOW; + final boolean topAtRest = + win == mTopFullscreenOpaqueWindowState && !win.isAnimatingLw(); + if (isAppWindow && !inheritTranslucentDecor && !topAtRest) { if ((sysUiFl & View.SYSTEM_UI_FLAG_FULLSCREEN) == 0 && (fl & WindowManager.LayoutParams.FLAG_FULLSCREEN) == 0 && (fl & WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS) == 0) { |