diff options
-rw-r--r-- | services/core/java/com/android/server/display/DisplayManagerService.java | 30 |
1 files changed, 12 insertions, 18 deletions
diff --git a/services/core/java/com/android/server/display/DisplayManagerService.java b/services/core/java/com/android/server/display/DisplayManagerService.java index b10cd12cdba5..3ac2185c374d 100644 --- a/services/core/java/com/android/server/display/DisplayManagerService.java +++ b/services/core/java/com/android/server/display/DisplayManagerService.java @@ -1423,17 +1423,18 @@ public final class DisplayManagerService extends SystemService { private Optional<Integer> getViewportType(DisplayDeviceInfo info) { // Get the corresponding viewport type. - if ((info.flags & DisplayDeviceInfo.FLAG_DEFAULT_DISPLAY) != 0) { - return Optional.of(VIEWPORT_INTERNAL); - } else if (info.touch == DisplayDeviceInfo.TOUCH_EXTERNAL) { - return Optional.of(VIEWPORT_EXTERNAL); - } else if (info.touch == DisplayDeviceInfo.TOUCH_VIRTUAL - && !TextUtils.isEmpty(info.uniqueId)) { - return Optional.of(VIEWPORT_VIRTUAL); - } else { - if (DEBUG) { - Slog.i(TAG, "Display " + info + " does not support input device matching."); - } + switch (info.touch) { + case DisplayDeviceInfo.TOUCH_INTERNAL: + return Optional.of(VIEWPORT_INTERNAL); + case DisplayDeviceInfo.TOUCH_EXTERNAL: + return Optional.of(VIEWPORT_EXTERNAL); + case DisplayDeviceInfo.TOUCH_VIRTUAL: + if (!TextUtils.isEmpty(info.uniqueId)) { + return Optional.of(VIEWPORT_VIRTUAL); + } + // fallthrough + default: + Slog.w(TAG, "Display " + info + " does not support input device matching."); } return Optional.empty(); } @@ -1483,13 +1484,6 @@ public final class DisplayManagerService extends SystemService { return null; } - // Only allow a single INTERNAL or EXTERNAL viewport by forcing their uniqueIds - // to be identical (in particular, empty). - // TODO (b/116824030) allow multiple EXTERNAL viewports and remove this function. - if (viewportType != VIEWPORT_VIRTUAL) { - uniqueId = ""; - } - DisplayViewport viewport; final int count = mViewports.size(); for (int i = 0; i < count; i++) { |