diff options
-rw-r--r-- | java/com/android/incallui/VideoCallPresenter.java | 11 | ||||
-rw-r--r-- | java/com/android/incallui/call/DialerCall.java | 16 |
2 files changed, 27 insertions, 0 deletions
diff --git a/java/com/android/incallui/VideoCallPresenter.java b/java/com/android/incallui/VideoCallPresenter.java index 5bdcd7a73..1700d530d 100644 --- a/java/com/android/incallui/VideoCallPresenter.java +++ b/java/com/android/incallui/VideoCallPresenter.java @@ -323,6 +323,17 @@ public class VideoCallPresenter InCallPresenter.InCallState inCallState = InCallPresenter.getInstance().getInCallState(); onStateChange(inCallState, inCallState, CallList.getInstance()); isVideoCallScreenUiReady = true; + + Point sourceVideoDimensions = getRemoteVideoSurfaceTexture().getSourceVideoDimensions(); + if (sourceVideoDimensions != null && primaryCall != null) { + int width = primaryCall.getPeerDimensionWidth(); + int height = primaryCall.getPeerDimensionHeight(); + boolean updated = DialerCall.UNKNOWN_PEER_DIMENSIONS != width + && DialerCall.UNKNOWN_PEER_DIMENSIONS != height; + if (updated && (sourceVideoDimensions.x != width || sourceVideoDimensions.y != height)) { + onUpdatePeerDimensions(primaryCall, width, height); + } + } } /** Called when the user interface is no longer ready to be used. */ diff --git a/java/com/android/incallui/call/DialerCall.java b/java/com/android/incallui/call/DialerCall.java index 1f4e49ad8..f9afd2d54 100644 --- a/java/com/android/incallui/call/DialerCall.java +++ b/java/com/android/incallui/call/DialerCall.java @@ -126,6 +126,8 @@ public class DialerCall implements VideoTechListener, StateChangedListener, Capa private static int idCounter = 0; + public static final int UNKNOWN_PEER_DIMENSIONS = -1; + /** * A counter used to append to restricted/private/hidden calls so that users can identify them in * a conversation. This value is reset in {@link CallList#onCallRemoved(Context, Call)} when there @@ -386,6 +388,8 @@ public class DialerCall implements VideoTechListener, StateChangedListener, Capa }; private long timeAddedMs; + private int peerDimensionWidth = UNKNOWN_PEER_DIMENSIONS; + private int peerDimensionHeight = UNKNOWN_PEER_DIMENSIONS; public DialerCall( Context context, @@ -1558,6 +1562,8 @@ public class DialerCall implements VideoTechListener, StateChangedListener, Capa @Override public void onPeerDimensionsChanged(int width, int height) { + peerDimensionWidth = width; + peerDimensionHeight = height; InCallVideoCallCallbackNotifier.getInstance().peerDimensionsChanged(this, width, height); } @@ -1974,4 +1980,14 @@ public class DialerCall implements VideoTechListener, StateChangedListener, Capa public interface CannedTextResponsesLoadedListener { void onCannedTextResponsesLoaded(DialerCall call); } + + /** Gets peer dimension width. */ + public int getPeerDimensionWidth() { + return peerDimensionWidth; + } + + /** Gets peer dimension height. */ + public int getPeerDimensionHeight() { + return peerDimensionHeight; + } } |