Merge "Ignore virtual presentation windows - RESTRICT AUTOMERGE" into rvc-dev
diff --git a/services/core/java/com/android/server/wm/WindowState.java b/services/core/java/com/android/server/wm/WindowState.java
index cf23c20..6927586 100644
--- a/services/core/java/com/android/server/wm/WindowState.java
+++ b/services/core/java/com/android/server/wm/WindowState.java
@@ -61,7 +61,6 @@
 import static android.view.WindowManager.LayoutParams.SOFT_INPUT_MASK_ADJUST;
 import static android.view.WindowManager.LayoutParams.SYSTEM_FLAG_HIDE_NON_SYSTEM_OVERLAY_WINDOWS;
 import static android.view.WindowManager.LayoutParams.SYSTEM_FLAG_SHOW_FOR_ALL_USERS;
-import static android.view.WindowManager.LayoutParams.TYPE_ACCESSIBILITY_MAGNIFICATION_OVERLAY;
 import static android.view.WindowManager.LayoutParams.TYPE_APPLICATION;
 import static android.view.WindowManager.LayoutParams.TYPE_APPLICATION_MEDIA;
 import static android.view.WindowManager.LayoutParams.TYPE_APPLICATION_MEDIA_OVERLAY;
@@ -5820,7 +5819,8 @@
      */
     boolean isNonToastOrStartingOrPrivatePresentation() {
         return mAttrs.type != TYPE_TOAST && mAttrs.type != TYPE_APPLICATION_STARTING
-                && mAttrs.type != TYPE_PRIVATE_PRESENTATION;
+                && mAttrs.type != TYPE_PRIVATE_PRESENTATION
+                && !(mAttrs.type == TYPE_PRESENTATION && isOnVirtualDisplay());
     }
 
     boolean isNonToastWindowVisibleForUid(int callingUid) {
@@ -5833,6 +5833,10 @@
                 && isVisibleNow();
     }
 
+    private boolean isOnVirtualDisplay() {
+        return getDisplayContent().mDisplay.getType() == Display.TYPE_VIRTUAL;
+    }
+
     void setViewVisibility(int viewVisibility) {
         mViewVisibility = viewVisibility;
         // The viewVisibility is set to GONE with a client request to relayout. If this occurs and