Merge "Ignore virtual presentation windows - RESTRICT AUTOMERGE" into sc-dev
This commit is contained in:
committed by
Android (Google) Code Review
commit
9857a30885
@@ -3539,8 +3539,12 @@ class WindowState extends WindowContainer<WindowState> implements WindowManagerP
|
||||
// apps won't always be considered as foreground state.
|
||||
// Exclude private presentations as they can only be shown on private virtual displays and
|
||||
// shouldn't be the cause of an app be considered foreground.
|
||||
if (mAttrs.type >= FIRST_SYSTEM_WINDOW && mAttrs.type != TYPE_TOAST
|
||||
&& mAttrs.type != TYPE_PRIVATE_PRESENTATION) {
|
||||
// Exclude presentations on virtual displays as they are not actually visible.
|
||||
if (mAttrs.type >= FIRST_SYSTEM_WINDOW
|
||||
&& mAttrs.type != TYPE_TOAST
|
||||
&& mAttrs.type != TYPE_PRIVATE_PRESENTATION
|
||||
&& !(mAttrs.type == TYPE_PRESENTATION && isOnVirtualDisplay())
|
||||
) {
|
||||
mWmService.mAtmService.mActiveUids.onNonAppSurfaceVisibilityChanged(mOwnerUid, shown);
|
||||
}
|
||||
if (mIsImWindow && mWmService.mAccessibilityController != null) {
|
||||
@@ -3548,6 +3552,10 @@ class WindowState extends WindowContainer<WindowState> implements WindowManagerP
|
||||
}
|
||||
}
|
||||
|
||||
private boolean isOnVirtualDisplay() {
|
||||
return getDisplayContent().mDisplay.getType() == Display.TYPE_VIRTUAL;
|
||||
}
|
||||
|
||||
private void logExclusionRestrictions(int side) {
|
||||
if (!logsGestureExclusionRestrictions(this)
|
||||
|| SystemClock.uptimeMillis() < mLastExclusionLogUptimeMillis[side]
|
||||
|
||||
Reference in New Issue
Block a user