summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMuhammed Siju <msiju@codeaurora.org>2015-08-07 18:00:40 +0530
committerdoc HD <doc.divxm@gmail.com>2016-05-22 12:52:31 +0300
commit2d638ab56088bb37fde4ebac3b6fddd0295ef9c7 (patch)
tree0cad58ec2aec31aff25de123620e2d69c518bfa3
parent94c78cb844ccade5b5aab8a2375761b89cb9e744 (diff)
IMS-VT: Use correct view size when device is rotated.
When peer_resolution received is portrait mode and the device is in landscape, the far-end video view will be re sized to fit the peer aspect ratio. If we rotate the device back to portrait, the view size needs to be re calculated based on the previously received peer_resolution. Change-Id: I47b84fd823c6110dca87bcc372be1aaeb9888efa CRs-Fixed: 887207
-rw-r--r--src/com/android/incallui/VideoCallFragment.java6
-rw-r--r--src/com/android/incallui/VideoCallPresenter.java8
2 files changed, 12 insertions, 2 deletions
diff --git a/src/com/android/incallui/VideoCallFragment.java b/src/com/android/incallui/VideoCallFragment.java
index 7c83f6e7..cf887b49 100644
--- a/src/com/android/incallui/VideoCallFragment.java
+++ b/src/com/android/incallui/VideoCallFragment.java
@@ -817,7 +817,11 @@ public class VideoCallFragment extends BaseFragment<VideoCallPresenter,
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/src/com/android/incallui/VideoCallPresenter.java b/src/com/android/incallui/VideoCallPresenter.java
index 2c889fb7..5ec593f4 100644
--- a/src/com/android/incallui/VideoCallPresenter.java
+++ b/src/com/android/incallui/VideoCallPresenter.java
@@ -1175,6 +1175,12 @@ public class VideoCallPresenter extends Presenter<VideoCallPresenter.VideoCallUi
Point size = ui.getScreenSize();
Log.d("VideoCallPresenter", "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);
@@ -1182,7 +1188,7 @@ public class VideoCallPresenter extends Presenter<VideoCallPresenter.VideoCallUi
// current display width is too much. Correct it
size.x = (int) (size.y * width / height);
}
- ui.setDisplayVideoSize(size.x, size.y);
+ return size;
}
/**