summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--policy/src/com/android/internal/policy/impl/PhoneWindowManager.java2
-rw-r--r--services/java/com/android/server/wm/WindowManagerService.java16
-rw-r--r--services/java/com/android/server/wm/WindowState.java7
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 85121fe..edbd62d 100644
--- a/policy/src/com/android/internal/policy/impl/PhoneWindowManager.java
+++ b/policy/src/com/android/internal/policy/impl/PhoneWindowManager.java
@@ -3459,7 +3459,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 a1e07dc..dc16282 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 377e8e8..7c6da92 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);
}