diff options
| author | 2013-06-06 00:28:19 +0000 | |
|---|---|---|
| committer | 2013-06-06 00:28:20 +0000 | |
| commit | fb7044598bf017783fbc4d86ef5a7350116b0650 (patch) | |
| tree | 9044964f1aa2cf14812e4becbb69f16be0487960 | |
| parent | e7af0d28668b85b909dcb5996d5ed1da14543f46 (diff) | |
| parent | c5a6e44f59b7606eb03cd1dc8e319ab45abe21e7 (diff) | |
Merge "Extend stacks up under status bar"
3 files changed, 16 insertions, 9 deletions
diff --git a/policy/src/com/android/internal/policy/impl/PhoneWindowManager.java b/policy/src/com/android/internal/policy/impl/PhoneWindowManager.java index 6272ab2957bd..82db56d5cf4b 100644 --- a/policy/src/com/android/internal/policy/impl/PhoneWindowManager.java +++ b/policy/src/com/android/internal/policy/impl/PhoneWindowManager.java @@ -3470,7 +3470,7 @@ public class PhoneWindowManager implements WindowManagerPolicy { } }}); } else { - if (DEBUG_LAYOUT) Slog.v(TAG, "Policy preventing status bar from hiding"); + if (DEBUG_LAYOUT) Slog.v(TAG, "Status bar already hiding"); } } else { if (DEBUG_LAYOUT) Slog.v(TAG, "** SHOWING status bar: top is not fullscreen"); diff --git a/services/java/com/android/server/wm/WindowManagerService.java b/services/java/com/android/server/wm/WindowManagerService.java index b4dcdec18bdc..f166c317fa7c 100644 --- a/services/java/com/android/server/wm/WindowManagerService.java +++ b/services/java/com/android/server/wm/WindowManagerService.java @@ -3487,9 +3487,9 @@ public class WindowManagerService extends IWindowManager.Stub final int firstToken = tokens.size() - 1; for (int tokenNdx = firstToken; tokenNdx >= 0; --tokenNdx) { final AppWindowToken atoken = tokens.get(tokenNdx); - + if (DEBUG_APP_ORIENTATION) Slog.v(TAG, "Checking app orientation: " + atoken); - + // if we're about to tear down this window and not seek for // the behind activity, don't use it for orientation if (!findingBehind @@ -3498,7 +3498,7 @@ public class WindowManagerService extends IWindowManager.Stub + " -- going to hide"); continue; } - + if (tokenNdx == firstToken) { // If we have hit a new Task, and the bottom // of the previous group didn't explicitly say to use @@ -3512,19 +3512,19 @@ public class WindowManagerService extends IWindowManager.Stub return lastOrientation; } } - + // We ignore any hidden applications on the top. if (atoken.hiddenRequested || atoken.willBeHidden) { if (DEBUG_ORIENTATION) Slog.v(TAG, "Skipping " + atoken + " -- hidden on top"); continue; } - + if (tokenNdx == 0) { // Last token in this task. lastOrientation = atoken.requestedOrientation; } - + int or = atoken.requestedOrientation; // If this application is fullscreen, and didn't explicitly say // to use the orientation behind it, then just take whatever @@ -8605,7 +8605,7 @@ public class WindowManagerService extends IWindowManager.Stub || winAnimator.mSurfaceResized || configChanged) { if (DEBUG_RESIZE || DEBUG_ORIENTATION) { - Slog.v(TAG, "Resize reasons: " + Slog.v(TAG, "Resize reasons for w=" + w + ": " + " contentInsetsChanged=" + w.mContentInsetsChanged + " " + w.mContentInsets.toShortString() + " visibleInsetsChanged=" + w.mVisibleInsetsChanged @@ -9346,7 +9346,7 @@ public class WindowManagerService extends IWindowManager.Stub } setFocusedStackFrame(); - + // Check to see if we are now in a state where the screen should // be enabled, because the window obscured flags have changed. enableScreenIfNeededLocked(); diff --git a/services/java/com/android/server/wm/WindowState.java b/services/java/com/android/server/wm/WindowState.java index 377e8e84da22..7c6da92a5d4f 100644 --- a/services/java/com/android/server/wm/WindowState.java +++ b/services/java/com/android/server/wm/WindowState.java @@ -298,6 +298,10 @@ final class WindowState implements WindowManagerPolicy.WindowState { /** When true this window can be displayed on screens owther than mOwnerUid's */ private boolean mShowToOwnerOnly; + /** When true this window is at the top of the screen and should be layed out to extend under + * the status bar */ + boolean mUnderStatusBar = true; + WindowState(WindowManagerService service, Session s, IWindow c, WindowToken token, WindowState attachedWindow, int appOp, int seq, WindowManager.LayoutParams a, int viewVisibility, final DisplayContent displayContent) { @@ -434,6 +438,9 @@ final class WindowState implements WindowManagerPolicy.WindowState { if (mAppToken != null) { mContainingFrame.set(getStackBounds()); + if (mUnderStatusBar) { + mContainingFrame.top = pf.top; + } } else { mContainingFrame.set(pf); } |