From 735c764207168f997074936d8a80844d5d886b97 Mon Sep 17 00:00:00 2001 From: Kenneth Ford Date: Tue, 21 May 2024 21:34:47 +0000 Subject: Add rear display check to determine if mirroring of other displays should be disabled Bug: 333678561 Test: Manual 1) Enable dual display feature and confirm smooth presentation 2) Enable desktop mirroring and confirm feature works Change-Id: I0bf4f2689a4fd7687f15c097bf50b9cf7556354e --- .../java/com/android/server/display/DisplayManagerService.java | 7 +++++-- 1 file 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 -- cgit v1.2.3-59-g8ed1b