Merge "Fix application overlay visibility bug" into qt-r1-dev
am: 1665ee540e
Change-Id: I10c5ee40a8d334fc270830a22b9dbbb7e67d9d09
This commit is contained in:
@@ -2004,6 +2004,7 @@ public class WindowManagerService extends IWindowManager.Stub
|
||||
|
||||
int attrChanges = 0;
|
||||
int flagChanges = 0;
|
||||
int privateFlagChanges = 0;
|
||||
if (attrs != null) {
|
||||
displayPolicy.adjustWindowParamsLw(win, attrs, pid, uid);
|
||||
// if they don't have the permission, mask out the status bar bits
|
||||
@@ -2032,6 +2033,7 @@ public class WindowManagerService extends IWindowManager.Stub
|
||||
}
|
||||
|
||||
flagChanges = win.mAttrs.flags ^= attrs.flags;
|
||||
privateFlagChanges = win.mAttrs.privateFlags ^ attrs.privateFlags;
|
||||
attrChanges = win.mAttrs.copyFrom(attrs);
|
||||
if ((attrChanges & (WindowManager.LayoutParams.LAYOUT_CHANGED
|
||||
| WindowManager.LayoutParams.SYSTEM_UI_VISIBILITY_CHANGED)) != 0) {
|
||||
@@ -2049,7 +2051,7 @@ public class WindowManagerService extends IWindowManager.Stub
|
||||
mAccessibilityController.onSomeWindowResizedOrMovedLocked();
|
||||
}
|
||||
|
||||
if ((flagChanges & SYSTEM_FLAG_HIDE_NON_SYSTEM_OVERLAY_WINDOWS) != 0) {
|
||||
if ((privateFlagChanges & SYSTEM_FLAG_HIDE_NON_SYSTEM_OVERLAY_WINDOWS) != 0) {
|
||||
updateNonSystemOverlayWindowsVisibilityIfNeeded(
|
||||
win, win.mWinAnimator.getShown());
|
||||
}
|
||||
@@ -7592,7 +7594,7 @@ public class WindowManagerService extends IWindowManager.Stub
|
||||
return;
|
||||
}
|
||||
final boolean systemAlertWindowsHidden = !mHidingNonSystemOverlayWindows.isEmpty();
|
||||
if (surfaceShown) {
|
||||
if (surfaceShown && win.hideNonSystemOverlayWindowsWhenVisible()) {
|
||||
if (!mHidingNonSystemOverlayWindows.contains(win)) {
|
||||
mHidingNonSystemOverlayWindows.add(win);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user