Merge "IMS-VT: Use correct view size when device is rotated." into atel.lnx.2.0-dev
diff --git a/InCallUI/src/com/android/incallui/VideoCallFragment.java b/InCallUI/src/com/android/incallui/VideoCallFragment.java
index 1d5d58e..087f278 100644
--- a/InCallUI/src/com/android/incallui/VideoCallFragment.java
+++ b/InCallUI/src/com/android/incallui/VideoCallFragment.java
@@ -858,7 +858,12 @@
Log.d(this, "inflateVideoCallViews: sVideoSurfacesInUse=" + sVideoSurfacesInUse);
//If peer adjusted screen size is not available, set screen size to default display size
- Point screenSize = sDisplaySize == null ? getScreenSize() : sDisplaySize;
+ Point screenSize = getScreenSize();
+ if (sDisplaySize != null) {
+ screenSize = VideoCallPresenter.resizeForAspectRatio(screenSize,
+ sDisplaySize.x, sDisplaySize.y);
+ }
+
setSurfaceSizeAndTranslation(displaySurface, screenSize);
if (!sVideoSurfacesInUse) {
diff --git a/InCallUI/src/com/android/incallui/VideoCallPresenter.java b/InCallUI/src/com/android/incallui/VideoCallPresenter.java
index 82aae4c..9a3e34b 100644
--- a/InCallUI/src/com/android/incallui/VideoCallPresenter.java
+++ b/InCallUI/src/com/android/incallui/VideoCallPresenter.java
@@ -1220,6 +1220,12 @@
Point size = ui.getScreenSize();
Log.v(this, "setDisplayVideoSize: windowmgr width=" + size.x
+ " windowmgr height=" + size.y);
+ size = resizeForAspectRatio(size, width, height);
+ ui.setDisplayVideoSize(size.x, size.y);
+ }
+
+ public static Point resizeForAspectRatio(Point inSize, int width, int height) {
+ Point size = new Point(inSize);
if (size.y * width > size.x * height) {
// current display height is too much. Correct it
size.y = (int) (size.x * height / width);
@@ -1227,7 +1233,7 @@
// current display width is too much. Correct it
size.x = (int) (size.y * width / height);
}
- ui.setDisplayVideoSize(size.x, size.y);
+ return size;
}
/**