diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/com/android/incallui/VideoCallFragment.java | 6 | ||||
-rw-r--r-- | src/com/android/incallui/VideoCallPresenter.java | 8 |
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; } /** |