diff options
author | Wale Ogunwale <ogunwale@google.com> | 2015-04-22 21:41:43 +0000 |
---|---|---|
committer | Android (Google) Code Review <android-gerrit@google.com> | 2015-04-22 21:41:44 +0000 |
commit | 7e0fea355759d4c973fafd6dc005cbead6c964d7 (patch) | |
tree | a8922bc15bfc668c4cba43eba5a22189e79824f7 | |
parent | 891ad60a6fe56732f3711fe351176a49e591796e (diff) | |
parent | b171abbca82044b9f2d1998dd4cb42adfb1113fa (diff) | |
download | frameworks_base-7e0fea355759d4c973fafd6dc005cbead6c964d7.zip frameworks_base-7e0fea355759d4c973fafd6dc005cbead6c964d7.tar.gz frameworks_base-7e0fea355759d4c973fafd6dc005cbead6c964d7.tar.bz2 |
Merge "Don't limit fullscreen stack window size to parent window size"
-rw-r--r-- | services/core/java/com/android/server/wm/WindowState.java | 15 |
1 files changed, 10 insertions, 5 deletions
diff --git a/services/core/java/com/android/server/wm/WindowState.java b/services/core/java/com/android/server/wm/WindowState.java index 4f795a6..16d27fa 100644 --- a/services/core/java/com/android/server/wm/WindowState.java +++ b/services/core/java/com/android/server/wm/WindowState.java @@ -523,8 +523,9 @@ final class WindowState implements WindowManagerPolicy.WindowState { public void computeFrameLw(Rect pf, Rect df, Rect of, Rect cf, Rect vf, Rect dcf, Rect sf) { mHaveFrame = true; - TaskStack stack = mAppToken != null ? getStack() : null; - if (stack != null && !stack.isFullscreen()) { + final TaskStack stack = mAppToken != null ? getStack() : null; + final boolean nonFullscreenStack = stack != null && !stack.isFullscreen(); + if (nonFullscreenStack) { stack.getBounds(mContainingFrame); final WindowState imeWin = mService.mInputMethodWindow; if (imeWin != null && imeWin.isVisibleNow() && mService.mInputMethodTarget == this @@ -607,9 +608,13 @@ final class WindowState implements WindowManagerPolicy.WindowState { y = mAttrs.y; } - // Make sure window fits in containing frame required by {@link Gravity#apply} call. - w = Math.min(w, pw); - h = Math.min(h, ph); + if (nonFullscreenStack) { + // Make sure window fits in containing frame since it is in a non-fullscreen stack as + // required by {@link Gravity#apply} call. + w = Math.min(w, pw); + h = Math.min(h, ph); + } + Gravity.apply(mAttrs.gravity, w, h, mContainingFrame, (int) (x + mAttrs.horizontalMargin * pw), (int) (y + mAttrs.verticalMargin * ph), mFrame); |