From ae41dcab07804b4c56fc5b005282d00b0d5ece71 Mon Sep 17 00:00:00 2001 From: Bryce Lee Date: Wed, 1 Apr 2015 10:57:21 -0700 Subject: [PATCH] Do not use the status bar as the system decor layer if it is not visible. Doing so leads to cropping of the content view, which is smaller than the screen size on some devices with improperly configured overscan values. It can also lead to performance issues with some activity transition animations on Wear. Bug: 19928768 Change-Id: Ic50c2fedb1f8be9a8ea5166fef5a5665958601de --- .../internal/policy/impl/PhoneWindowManager.java | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/policy/src/com/android/internal/policy/impl/PhoneWindowManager.java b/policy/src/com/android/internal/policy/impl/PhoneWindowManager.java index 4664aa32350f6..58c2fba9ee835 100644 --- a/policy/src/com/android/internal/policy/impl/PhoneWindowManager.java +++ b/policy/src/com/android/internal/policy/impl/PhoneWindowManager.java @@ -3508,8 +3508,14 @@ public class PhoneWindowManager implements WindowManagerPolicy { /** {@inheritDoc} */ @Override public int getSystemDecorLayerLw() { - if (mStatusBar != null) return mStatusBar.getSurfaceLayer(); - if (mNavigationBar != null) return mNavigationBar.getSurfaceLayer(); + if (mStatusBar != null && mStatusBar.isVisibleLw()) { + return mStatusBar.getSurfaceLayer(); + } + + if (mNavigationBar != null && mNavigationBar.isVisibleLw()) { + return mNavigationBar.getSurfaceLayer(); + } + return 0; }