summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author David Lin <dlinls@google.com> 2024-06-03 02:05:16 +0000
committer Android (Google) Code Review <android-gerrit@google.com> 2024-06-03 02:05:16 +0000
commit16418410c47edb5ad3ea48fed3a97005e56008d0 (patch)
tree2d9493cf06110c2e159b33bdba03f7c48c8a655f
parent3e229ec0ec3ecf33d1df539da104a30a2a4416ef (diff)
parent735c764207168f997074936d8a80844d5d886b97 (diff)
Merge "Add rear display check to determine if mirroring of other displays should be disabled" into 24D1-dev
-rw-r--r--services/core/java/com/android/server/display/DisplayManagerService.java7
1 files changed, 5 insertions, 2 deletions
diff --git a/services/core/java/com/android/server/display/DisplayManagerService.java b/services/core/java/com/android/server/display/DisplayManagerService.java
index a4d98faf5dcb..c7b1d6a44239 100644
--- a/services/core/java/com/android/server/display/DisplayManagerService.java
+++ b/services/core/java/com/android/server/display/DisplayManagerService.java
@@ -45,6 +45,8 @@ import static android.os.IServiceManager.DUMP_FLAG_PRIORITY_CRITICAL;
import static android.os.Process.FIRST_APPLICATION_UID;
import static android.os.Process.ROOT_UID;
+import static com.android.server.display.layout.Layout.Display.POSITION_REAR;
+
import android.Manifest;
import android.annotation.EnforcePermission;
import android.annotation.NonNull;
@@ -4864,8 +4866,9 @@ public final class DisplayManagerService extends SystemService {
}
final DisplayDevice displayDevice = display.getPrimaryDisplayDeviceLocked();
- final boolean ownContent = (displayDevice.getDisplayDeviceInfoLocked().flags
- & DisplayDeviceInfo.FLAG_OWN_CONTENT_ONLY) != 0;
+ final boolean isRearDisplay = display.getDevicePositionLocked() == POSITION_REAR;
+ final boolean ownContent = ((displayDevice.getDisplayDeviceInfoLocked().flags
+ & DisplayDeviceInfo.FLAG_OWN_CONTENT_ONLY) != 0) || isRearDisplay;
// If the display has enabled mirroring, but specified that it will be managed by
// WindowManager, return an invalid display id. This is to ensure we don't
// accidentally select the display id to mirror based on DM logic and instead allow