summaryrefslogtreecommitdiffstats
path: root/services/java/com/android/server/wm/WindowManagerService.java
diff options
context:
space:
mode:
Diffstat (limited to 'services/java/com/android/server/wm/WindowManagerService.java')
-rwxr-xr-xservices/java/com/android/server/wm/WindowManagerService.java18
1 files changed, 9 insertions, 9 deletions
diff --git a/services/java/com/android/server/wm/WindowManagerService.java b/services/java/com/android/server/wm/WindowManagerService.java
index 8c917c1..b3ac6f1 100755
--- a/services/java/com/android/server/wm/WindowManagerService.java
+++ b/services/java/com/android/server/wm/WindowManagerService.java
@@ -479,6 +479,9 @@ public class WindowManagerService extends IWindowManager.Stub
= new ArrayList<IRotationWatcher>();
int mDeferredRotationPauseCount;
+ final Rect mSystemDecorRect = new Rect();
+ int mSystemDecorLayer = 0;
+
int mPendingLayoutChanges = 0;
boolean mLayoutNeeded = true;
boolean mTraversalScheduled = false;
@@ -2646,7 +2649,7 @@ public class WindowManagerService extends IWindowManager.Stub
public int relayoutWindow(Session session, IWindow client, int seq,
WindowManager.LayoutParams attrs, int requestedWidth,
int requestedHeight, int viewVisibility, int flags,
- Rect outFrame, Rect outSystemInsets, Rect outContentInsets,
+ Rect outFrame, Rect outContentInsets,
Rect outVisibleInsets, Configuration outConfig, Surface outSurface) {
boolean displayed = false;
boolean inTouchMode;
@@ -2938,7 +2941,6 @@ public class WindowManagerService extends IWindowManager.Stub
win.mAppToken.updateReportedVisibilityLocked();
}
outFrame.set(win.mCompatFrame);
- outSystemInsets.set(win.mSystemInsets);
outContentInsets.set(win.mContentInsets);
outVisibleInsets.set(win.mVisibleInsets);
if (localLOGV) Slog.v(
@@ -7716,6 +7718,7 @@ public class WindowManagerService extends IWindowManager.Stub
}
mPolicy.beginLayoutLw(dw, dh, mRotation);
+ mSystemDecorLayer = mPolicy.getSystemDecorRectLw(mSystemDecorRect);
int seq = mLayoutSeq+1;
if (seq < 0) seq = 0;
@@ -8178,8 +8181,6 @@ public class WindowManagerService extends IWindowManager.Stub
private void updateResizingWindows(final WindowState w) {
final WindowStateAnimator winAnimator = w.mWinAnimator;
if (w.mHasSurface && !w.mAppFreezing && w.mLayoutSeq == mLayoutSeq) {
- w.mSystemInsetsChanged |=
- !w.mLastSystemInsets.equals(w.mSystemInsets);
w.mContentInsetsChanged |=
!w.mLastContentInsets.equals(w.mContentInsets);
w.mVisibleInsetsChanged |=
@@ -8196,8 +8197,7 @@ public class WindowManagerService extends IWindowManager.Stub
+ ": configChanged=" + configChanged
+ " last=" + w.mLastFrame + " frame=" + w.mFrame);
w.mLastFrame.set(w.mFrame);
- if (w.mSystemInsetsChanged
- || w.mContentInsetsChanged
+ if (w.mContentInsetsChanged
|| w.mVisibleInsetsChanged
|| winAnimator.mSurfaceResized
|| configChanged) {
@@ -8209,7 +8209,6 @@ public class WindowManagerService extends IWindowManager.Stub
+ " configChanged=" + configChanged);
}
- w.mLastSystemInsets.set(w.mSystemInsets);
w.mLastContentInsets.set(w.mContentInsets);
w.mLastVisibleInsets.set(w.mVisibleInsets);
makeWindowFreezingScreenIfNeededLocked(w);
@@ -8593,11 +8592,10 @@ public class WindowManagerService extends IWindowManager.Stub
winAnimator.mDrawState == WindowStateAnimator.DRAW_PENDING) Slog.i(
TAG, "Resizing " + win + " WITH DRAW PENDING");
win.mClient.resized((int)winAnimator.mSurfaceW,
- (int)winAnimator.mSurfaceH, win.mLastSystemInsets,
+ (int)winAnimator.mSurfaceH,
win.mLastContentInsets, win.mLastVisibleInsets,
winAnimator.mDrawState == WindowStateAnimator.DRAW_PENDING,
configChanged ? win.mConfiguration : null);
- win.mSystemInsetsChanged = false;
win.mContentInsetsChanged = false;
win.mVisibleInsetsChanged = false;
winAnimator.mSurfaceResized = false;
@@ -9588,6 +9586,8 @@ public class WindowManagerService extends IWindowManager.Stub
pw.print(" mInTouchMode="); pw.print(mInTouchMode);
pw.print(" mLayoutSeq="); pw.println(mLayoutSeq);
if (dumpAll) {
+ pw.print(" mSystemDecorRect="); pw.print(mSystemDecorRect.toShortString());
+ pw.print(" mSystemDecorLayer="); pw.println(mSystemDecorLayer);
if (mLastStatusBarVisibility != 0) {
pw.print(" mLastStatusBarVisibility=0x");
pw.println(Integer.toHexString(mLastStatusBarVisibility));