diff options
| -rwxr-xr-x | policy/src/com/android/internal/policy/impl/PhoneWindowManager.java | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/policy/src/com/android/internal/policy/impl/PhoneWindowManager.java b/policy/src/com/android/internal/policy/impl/PhoneWindowManager.java index cce55d5..1033296 100755 --- a/policy/src/com/android/internal/policy/impl/PhoneWindowManager.java +++ b/policy/src/com/android/internal/policy/impl/PhoneWindowManager.java @@ -2278,7 +2278,12 @@ public class PhoneWindowManager implements WindowManagerPolicy { // It's a system nav bar or a portrait screen; nav bar goes on bottom. int top = displayHeight - mNavigationBarHeightForRotation[displayRotation]; if (mHdmiPlugged) { - if (top > mExternalDisplayHeight) { + // Move the nav bar up if the external display is the same aspect ratio + // but shorter. This avoids clipping on the external display. + boolean sameAspect = mExternalDisplayHeight > 0 && displayHeight > 0 + && ((float) mExternalDisplayWidth / mExternalDisplayHeight > 1) + == ((float) displayWidth / displayHeight > 1); + if (sameAspect && top > mExternalDisplayHeight) { top = mExternalDisplayHeight; } } |
