Let the window manager place the rest of the windows on screen when the status bar is at the bottom.
Change-Id: I29c43beee047bb99695a34e6b202ff3f8400c8c2
This commit is contained in:
@@ -1254,10 +1254,17 @@ public class PhoneWindowManager implements WindowManagerPolicy {
|
||||
if (mStatusBar.isVisibleLw()) {
|
||||
// If the status bar is hidden, we don't want to cause
|
||||
// windows behind it to scroll.
|
||||
mDockTop = mContentTop = mCurTop = mStatusBar.getFrameLw().bottom;
|
||||
if (DEBUG_LAYOUT) Log.v(TAG, "Status bar: mDockBottom="
|
||||
+ mDockBottom + " mContentBottom="
|
||||
+ mContentBottom + " mCurBottom=" + mCurBottom);
|
||||
final Rect r = mStatusBar.getFrameLw();
|
||||
if (mDockTop == r.top) mDockTop = r.bottom;
|
||||
else if (mDockBottom == r.bottom) mDockBottom = r.top;
|
||||
mContentTop = mCurTop = mDockTop;
|
||||
mContentBottom = mCurBottom = mDockBottom;
|
||||
if (DEBUG_LAYOUT) Log.v(TAG, "Status bar: mDockTop=" + mDockTop
|
||||
+ " mContentTop=" + mContentTop
|
||||
+ " mCurTop=" + mCurTop
|
||||
+ " mDockBottom=" + mDockBottom
|
||||
+ " mContentBottom=" + mContentBottom
|
||||
+ " mCurBottom=" + mCurBottom);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -10184,6 +10184,11 @@ public class WindowManagerService extends IWindowManager.Stub
|
||||
|
||||
private final void performLayoutAndPlaceSurfacesLockedInner(
|
||||
boolean recoveringMemory) {
|
||||
if (mDisplay == null) {
|
||||
Slog.i(TAG, "skipping performLayoutAndPlaceSurfacesLockedInner with no mDisplay");
|
||||
return;
|
||||
}
|
||||
|
||||
final long currentTime = SystemClock.uptimeMillis();
|
||||
final int dw = mDisplay.getWidth();
|
||||
final int dh = mDisplay.getHeight();
|
||||
|
||||
Reference in New Issue
Block a user