summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Dianne Hackborn <hackbod@google.com> 2011-05-19 03:46:24 -0700
committer Android Git Automerger <android-git-automerger@android.com> 2011-05-19 03:46:24 -0700
commitd37b84edf55e5c242de23f1e7dfc61cc150e7b54 (patch)
treeced920943afde82e878daaa4c3acef896c22141f
parentf74782f6a1b5c8e0529717260a714b4efe3a5c6c (diff)
parentba8fc5b059228402afa965e175d5f6655e3fe555 (diff)
am ba8fc5b0: am 8416e5cf: am 6ad07db7: Merge "Fix fake display size when rotated." into honeycomb-mr2
* commit 'ba8fc5b059228402afa965e175d5f6655e3fe555': Fix fake display size when rotated.
-rw-r--r--services/java/com/android/server/wm/WindowManagerService.java18
1 files changed, 16 insertions, 2 deletions
diff --git a/services/java/com/android/server/wm/WindowManagerService.java b/services/java/com/android/server/wm/WindowManagerService.java
index 0b3f613bcda3..9890bec61647 100644
--- a/services/java/com/android/server/wm/WindowManagerService.java
+++ b/services/java/com/android/server/wm/WindowManagerService.java
@@ -6502,8 +6502,22 @@ public class WindowManagerService extends IWindowManager.Stub
}
if (mBaseDisplayWidth < mInitialDisplayWidth
|| mBaseDisplayHeight < mInitialDisplayHeight) {
- Rect outer = new Rect(0, 0, mInitialDisplayWidth, mInitialDisplayHeight);
- Rect inner = new Rect(0, 0, mBaseDisplayWidth, mBaseDisplayHeight);
+ int initW, initH, baseW, baseH;
+ final boolean rotated = (mRotation == Surface.ROTATION_90
+ || mRotation == Surface.ROTATION_270);
+ if (rotated) {
+ initW = mInitialDisplayHeight;
+ initH = mInitialDisplayWidth;
+ baseW = mBaseDisplayHeight;
+ baseH = mBaseDisplayWidth;
+ } else {
+ initW = mInitialDisplayWidth;
+ initH = mInitialDisplayHeight;
+ baseW = mBaseDisplayWidth;
+ baseH = mBaseDisplayHeight;
+ }
+ Rect outer = new Rect(0, 0, initW, initH);
+ Rect inner = new Rect(0, 0, baseW, baseH);
try {
mBlackFrame = new BlackFrame(mFxSession, outer, inner, MASK_LAYER);
} catch (Surface.OutOfResourcesException e) {