diff options
author | Sekine Yasuaki <yasuaki.sekine@sony.com> | 2019-04-16 14:36:37 -0700 |
---|---|---|
committer | android-build-merger <android-build-merger@google.com> | 2019-04-16 14:36:37 -0700 |
commit | 96026df419a9203ac2a2ba0ed6a7a41ddf2458e2 (patch) | |
tree | 3bc604f26a834c0266e509212c9b836971c6b919 | |
parent | 91c705de1953ba5528bfbde4064698dc9ed834fa (diff) | |
parent | ea194aec1ee5dc3981097207730e7168d7c27334 (diff) |
Merge "Fix to update peer dimensions when video screen resumes foreground" am: 91bf209306
am: ea194aec1e
Change-Id: Ic0f4a39ee07ceb42caa41de325c2772400a4427b
-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; + } } |