From 6a884ba67849b4140f670b5f06eaa55d28545919 Mon Sep 17 00:00:00 2001 From: Alex Hart Date: Tue, 4 Feb 2025 11:16:42 -0400 Subject: [PATCH] Fix call screen pip aspect ratio in large landscape group calls. --- .../components/webrtc/WebRtcCallView.java | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/app/src/main/java/org/thoughtcrime/securesms/components/webrtc/WebRtcCallView.java b/app/src/main/java/org/thoughtcrime/securesms/components/webrtc/WebRtcCallView.java index 296f237709..c8a029402b 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/components/webrtc/WebRtcCallView.java +++ b/app/src/main/java/org/thoughtcrime/securesms/components/webrtc/WebRtcCallView.java @@ -584,7 +584,7 @@ public class WebRtcCallView extends InsetAwareConstraintLayout { break; case SMALLER_RECTANGLE: smallLocalRenderFrame.setVisibility(View.VISIBLE); - animatePipToSmallRectangle(localCallParticipant.isMoreThanOneCameraAvailable()); + animatePipToSmallRectangle(displaySmallSelfPipInLandscape, localCallParticipant.isMoreThanOneCameraAvailable()); largeLocalRender.attachBroadcastVideoSink(null); largeLocalRenderFrame.setVisibility(View.GONE); @@ -849,9 +849,17 @@ public class WebRtcCallView extends InsetAwareConstraintLayout { smallLocalRender.setSelfPipMode(CallParticipantView.SelfPipMode.NORMAL_SELF_PIP, moreThanOneCameraAvailable); } - private void animatePipToSmallRectangle(boolean moreThanOneCameraAvailable) { - pictureInPictureExpansionHelper.startDefaultSizeTransition(new Point(ViewUtil.dpToPx(PictureInPictureExpansionHelper.MINI_PIP_WIDTH_DP), - ViewUtil.dpToPx(PictureInPictureExpansionHelper.MINI_PIP_HEIGHT_DP)), + private void animatePipToSmallRectangle(boolean isLandscape, boolean moreThanOneCameraAvailable) { + final Point dimens; + if (isLandscape) { + dimens = new Point(ViewUtil.dpToPx(PictureInPictureExpansionHelper.MINI_PIP_HEIGHT_DP), + ViewUtil.dpToPx(PictureInPictureExpansionHelper.MINI_PIP_WIDTH_DP)); + } else { + dimens = new Point(ViewUtil.dpToPx(PictureInPictureExpansionHelper.MINI_PIP_WIDTH_DP), + ViewUtil.dpToPx(PictureInPictureExpansionHelper.MINI_PIP_HEIGHT_DP)); + } + + pictureInPictureExpansionHelper.startDefaultSizeTransition(dimens, new PictureInPictureExpansionHelper.Callback() { @Override public void onAnimationHasFinished() {