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