From 89397ae7cc4dec34e588bdc25476884e06a66b8d Mon Sep 17 00:00:00 2001 From: Nicholas Date: Tue, 25 Apr 2023 15:45:25 -0400 Subject: [PATCH] Picture-in-Picture call improvements. --- .../org/thoughtcrime/securesms/WebRtcCallActivity.java | 7 +++---- .../securesms/components/webrtc/WebRtcCallView.java | 4 ++++ 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/app/src/main/java/org/thoughtcrime/securesms/WebRtcCallActivity.java b/app/src/main/java/org/thoughtcrime/securesms/WebRtcCallActivity.java index 95ebfbafd8..078d871edc 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/WebRtcCallActivity.java +++ b/app/src/main/java/org/thoughtcrime/securesms/WebRtcCallActivity.java @@ -219,10 +219,6 @@ public class WebRtcCallActivity extends BaseActivity implements SafetyNumberChan Log.i(TAG, "onPause"); super.onPause(); - if (!isInPipMode() || isFinishing()) { - EventBus.getDefault().unregister(this); - } - if (!viewModel.isCallStarting()) { CallParticipantsState state = viewModel.getCallParticipantsState().getValue(); if (state != null && state.getCallState().isPreJoinOrNetworkUnavailable()) { @@ -369,6 +365,9 @@ public class WebRtcCallActivity extends BaseActivity implements SafetyNumberChan viewModel.setIsInPipMode(info.isInPictureInPictureMode()); participantUpdateWindow.setEnabled(!info.isInPictureInPictureMode()); callStateUpdatePopupWindow.setEnabled(!info.isInPictureInPictureMode()); + if (info.isInPictureInPictureMode()) { + callScreen.maybeDismissAudioPicker(); + } }); } 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 50b3413312..5662500ce5 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 @@ -419,6 +419,10 @@ public class WebRtcCallView extends ConstraintLayout { this.controlsListener = controlsListener; } + public void maybeDismissAudioPicker() { + audioToggle.hidePicker(); + } + public void setMicEnabled(boolean isMicEnabled) { micToggle.setChecked(isMicEnabled, false); }