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

Commit 2b28fb61 authored by Linus Tufvesson's avatar Linus Tufvesson Committed by Automerger Merge Worker
Browse files

DO NOT MERGE - Exclude TYPE_PRIVATE_PRESENTATION app visiblity am: c97296e9

parents fb6f84fe c97296e9
Loading
Loading
Loading
Loading
+8 −3
Original line number Diff line number Diff line
@@ -25,6 +25,7 @@ import static android.view.WindowManager.LayoutParams.PRIVATE_FLAG_SUSTAINED_PER
import static android.view.WindowManager.LayoutParams.TYPE_APPLICATION_STARTING;
import static android.view.WindowManager.LayoutParams.TYPE_DREAM;
import static android.view.WindowManager.LayoutParams.TYPE_KEYGUARD_DIALOG;
import static android.view.WindowManager.LayoutParams.TYPE_PRIVATE_PRESENTATION;
import static android.view.WindowManager.LayoutParams.TYPE_TOAST;

import static com.android.server.policy.WindowManagerPolicy.FINISH_LAYOUT_REDO_LAYOUT;
@@ -317,13 +318,17 @@ class RootWindowContainer extends WindowContainer<DisplayContent>
    }

    /**
     * Returns true if the callingUid has any non-toast window currently visible to the user.
     * Also ignores TYPE_APPLICATION_STARTING, since those windows don't belong to apps.
     * Returns {@code true} if the callingUid has any non-toast window currently visible to the
     * user. Also ignores {@link android.view.WindowManager.LayoutParams#TYPE_APPLICATION_STARTING},
     * and{@link android.view.WindowManager.LayoutParams#TYPE_PRIVATE_PRESENTATION}, as they
     * should not count towards the apps visibility
     * @see WindowState#isNonToastOrStartingOrPrivatePresentation()
     */
    boolean isAnyNonToastWindowVisibleForUid(int callingUid) {
        return forAllWindows(w ->
                        w.getOwningUid() == callingUid && w.mAttrs.type != TYPE_TOAST
                        && w.mAttrs.type != TYPE_APPLICATION_STARTING && w.isVisibleNow(),
                        && w.mAttrs.type != TYPE_APPLICATION_STARTING
                        && w.mAttrs.type != TYPE_PRIVATE_PRESENTATION && w.isVisibleNow(),
                true /* traverseTopToBottom */);
    }