From 17629e2e4e570d2a9e093bee5cca8498d1b8804c Mon Sep 17 00:00:00 2001 From: Emilian Peev Date: Fri, 14 Jan 2022 13:54:30 -0800 Subject: [PATCH] CameraManager: Update display size query Account for any UI insets by retrieving the real display size. Bug: 214576274 Test: Camera CTS Change-Id: I7842b3cda4df99a84cf7325da5c097b0ff3f81d4 --- core/java/android/hardware/camera2/CameraManager.java | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/core/java/android/hardware/camera2/CameraManager.java b/core/java/android/hardware/camera2/CameraManager.java index c12e8195eeb45..d6d3a97687b5c 100644 --- a/core/java/android/hardware/camera2/CameraManager.java +++ b/core/java/android/hardware/camera2/CameraManager.java @@ -25,6 +25,7 @@ import android.annotation.SystemService; import android.annotation.TestApi; import android.content.Context; import android.content.pm.PackageManager; +import android.graphics.Point; import android.hardware.CameraStatus; import android.hardware.ICameraService; import android.hardware.ICameraServiceListener; @@ -458,12 +459,14 @@ public final class CameraManager { (DisplayManager) mContext.getSystemService(Context.DISPLAY_SERVICE); Display display = displayManager.getDisplay(Display.DEFAULT_DISPLAY); if (display != null) { - int width = display.getWidth(); - int height = display.getHeight(); + Point sz = new Point(); + display.getRealSize(sz); + int width = sz.x; + int height = sz.y; if (height > width) { height = width; - width = display.getHeight(); + width = sz.y; } ret = new Size(width, height); @@ -471,7 +474,7 @@ public final class CameraManager { Log.e(TAG, "Invalid default display!"); } } catch (Exception e) { - Log.e(TAG, "getDisplaySize Failed. " + e.toString()); + Log.e(TAG, "getDisplaySize Failed. " + e); } return ret;