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

Commit e00db925 authored by Achim Thesmann's avatar Achim Thesmann Committed by Automerger Merge Worker
Browse files

Ignore virtual presentation windows - RESTRICT AUTOMERGE am: 5bf9607b am:...

Ignore virtual presentation windows - RESTRICT AUTOMERGE am: 5bf9607b am: 7a706ca9 am: 520ebc95

Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/23476871



Change-Id: I26ab6384b4225ec2a37fb445c2b54a4555580de9
Signed-off-by: default avatarAutomerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
parents 786e95f9 520ebc95
Loading
Loading
Loading
Loading
+10 −2
Original line number Diff line number Diff line
@@ -3596,12 +3596,20 @@ 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);
        }
    }

    private boolean isOnVirtualDisplay() {
        return getDisplayContent().mDisplay.getType() == Display.TYPE_VIRTUAL;
    }

    private void logExclusionRestrictions(int side) {
        if (!logsGestureExclusionRestrictions(this)
                || SystemClock.uptimeMillis() < mLastExclusionLogUptimeMillis[side]