summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorWale Ogunwale <ogunwale@google.com>2015-04-22 21:41:43 +0000
committerAndroid (Google) Code Review <android-gerrit@google.com>2015-04-22 21:41:44 +0000
commit7e0fea355759d4c973fafd6dc005cbead6c964d7 (patch)
treea8922bc15bfc668c4cba43eba5a22189e79824f7
parent891ad60a6fe56732f3711fe351176a49e591796e (diff)
parentb171abbca82044b9f2d1998dd4cb42adfb1113fa (diff)
downloadframeworks_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.java15
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);