Merge commit '1fa69735d9e786da4b20c3ab3da3aa66f3cf8116' into gingerbread-plus-aosp * commit '1fa69735d9e786da4b20c3ab3da3aa66f3cf8116': Fix issue #3037083: Problem report for Pinball
This commit is contained in:
@@ -1500,7 +1500,9 @@ public class PhoneWindowManager implements WindowManagerPolicy {
|
||||
}
|
||||
if (attrs.type >= FIRST_APPLICATION_WINDOW
|
||||
&& attrs.type <= LAST_APPLICATION_WINDOW
|
||||
&& win.fillsScreenLw(mW, mH, false, false)) {
|
||||
&& attrs.x == 0 && attrs.y == 0
|
||||
&& attrs.width == WindowManager.LayoutParams.MATCH_PARENT
|
||||
&& attrs.height == WindowManager.LayoutParams.MATCH_PARENT) {
|
||||
if (DEBUG_LAYOUT) Log.v(TAG, "Fullscreen window: " + win);
|
||||
mTopFullscreenOpaqueWindowState = win;
|
||||
if ((attrs.flags & FLAG_SHOW_WHEN_LOCKED) != 0) {
|
||||
|
||||
@@ -6966,31 +6966,6 @@ public class WindowManagerService extends IWindowManager.Stub
|
||||
&& (mOrientationChanging || (!mDrawPending && !mCommitDrawPending));
|
||||
}
|
||||
|
||||
public boolean fillsScreenLw(int screenWidth, int screenHeight,
|
||||
boolean shownFrame, boolean onlyOpaque) {
|
||||
if (mSurface == null) {
|
||||
return false;
|
||||
}
|
||||
if (mAppToken != null && !mAppToken.appFullscreen) {
|
||||
return false;
|
||||
}
|
||||
if (onlyOpaque && mAttrs.format != PixelFormat.OPAQUE) {
|
||||
return false;
|
||||
}
|
||||
final Rect frame = shownFrame ? mShownFrame : mFrame;
|
||||
|
||||
if ((mAttrs.flags & FLAG_COMPATIBLE_WINDOW) != 0) {
|
||||
return frame.left <= mCompatibleScreenFrame.left &&
|
||||
frame.top <= mCompatibleScreenFrame.top &&
|
||||
frame.right >= mCompatibleScreenFrame.right &&
|
||||
frame.bottom >= mCompatibleScreenFrame.bottom;
|
||||
} else {
|
||||
return frame.left <= 0 && frame.top <= 0
|
||||
&& frame.right >= screenWidth
|
||||
&& frame.bottom >= screenHeight;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Return true if the window is opaque and fully drawn. This indicates
|
||||
* it may obscure windows behind it.
|
||||
|
||||
Reference in New Issue
Block a user