Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 9857a308 authored by Achim Thesmann's avatar Achim Thesmann Committed by Android (Google) Code Review
Browse files

Merge "Ignore virtual presentation windows - RESTRICT AUTOMERGE" into sc-dev

parents 1e48b431 bf60a0c6
Loading
Loading
Loading
Loading
+10 −2
Original line number Diff line number Diff line
@@ -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]