Merge "Camera: Query default display size from display manager" into rvc-dev
diff --git a/core/java/android/hardware/camera2/CameraManager.java b/core/java/android/hardware/camera2/CameraManager.java
index cf133d2..6bbc37a 100644
--- a/core/java/android/hardware/camera2/CameraManager.java
+++ b/core/java/android/hardware/camera2/CameraManager.java
@@ -34,6 +34,7 @@
import android.hardware.camera2.params.SessionConfiguration;
import android.hardware.camera2.utils.CameraIdAndSessionConfiguration;
import android.hardware.camera2.utils.ConcurrentCameraIdCombination;
+import android.hardware.display.DisplayManager;
import android.os.Binder;
import android.os.DeadObjectException;
import android.os.Handler;
@@ -47,7 +48,6 @@
import android.util.Log;
import android.util.Size;
import android.view.Display;
-import android.view.WindowManager;
import java.util.ArrayList;
import java.util.Arrays;
@@ -349,19 +349,22 @@
Size ret = new Size(0, 0);
try {
- WindowManager windowManager =
- (WindowManager) mContext.getSystemService(Context.WINDOW_SERVICE);
- Display display = windowManager.getDefaultDisplay();
+ DisplayManager displayManager =
+ (DisplayManager) mContext.getSystemService(Context.DISPLAY_SERVICE);
+ Display display = displayManager.getDisplay(Display.DEFAULT_DISPLAY);
+ if (display != null) {
+ int width = display.getWidth();
+ int height = display.getHeight();
- int width = display.getWidth();
- int height = display.getHeight();
+ if (height > width) {
+ height = width;
+ width = display.getHeight();
+ }
- if (height > width) {
- height = width;
- width = display.getHeight();
+ ret = new Size(width, height);
+ } else {
+ Log.e(TAG, "Invalid default display!");
}
-
- ret = new Size(width, height);
} catch (Exception e) {
Log.e(TAG, "getDisplaySize Failed. " + e.toString());
}