From bfa56f771d37ea4e227b4c21edd3ef85f66662b3 Mon Sep 17 00:00:00 2001 From: Alex Hart Date: Mon, 7 Dec 2020 17:45:13 -0400 Subject: [PATCH] Do not show join banner in pip mode. --- .../thoughtcrime/securesms/WebRtcCallActivity.java | 3 ++- .../CallParticipantsListUpdatePopupWindow.java | 14 ++++++++++++++ 2 files changed, 16 insertions(+), 1 deletion(-) diff --git a/app/src/main/java/org/thoughtcrime/securesms/WebRtcCallActivity.java b/app/src/main/java/org/thoughtcrime/securesms/WebRtcCallActivity.java index f62b8b2dde..0ad79e30b6 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/WebRtcCallActivity.java +++ b/app/src/main/java/org/thoughtcrime/securesms/WebRtcCallActivity.java @@ -81,7 +81,6 @@ public class WebRtcCallActivity extends AppCompatActivity implements SafetyNumbe public static final String EXTRA_ENABLE_VIDEO_IF_AVAILABLE = WebRtcCallActivity.class.getCanonicalName() + ".ENABLE_VIDEO_IF_AVAILABLE"; private CallParticipantsListUpdatePopupWindow participantUpdateWindow; - private CallParticipantsListDialog participantsListDialog; private WebRtcCallView callScreen; private TooltipPopup videoTooltip; @@ -189,6 +188,7 @@ public class WebRtcCallActivity extends AppCompatActivity implements SafetyNumbe @Override public void onPictureInPictureModeChanged(boolean isInPictureInPictureMode, Configuration newConfig) { viewModel.setIsInPipMode(isInPictureInPictureMode); + participantUpdateWindow.setEnabled(!isInPictureInPictureMode); } private boolean enterPipModeIfPossible() { @@ -198,6 +198,7 @@ public class WebRtcCallActivity extends AppCompatActivity implements SafetyNumbe .build(); enterPictureInPictureMode(params); CallParticipantsListDialog.dismiss(getSupportFragmentManager()); + return true; } return false; diff --git a/app/src/main/java/org/thoughtcrime/securesms/components/webrtc/CallParticipantsListUpdatePopupWindow.java b/app/src/main/java/org/thoughtcrime/securesms/components/webrtc/CallParticipantsListUpdatePopupWindow.java index dcb8635074..e5bbc729eb 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/components/webrtc/CallParticipantsListUpdatePopupWindow.java +++ b/app/src/main/java/org/thoughtcrime/securesms/components/webrtc/CallParticipantsListUpdatePopupWindow.java @@ -34,6 +34,8 @@ public class CallParticipantsListUpdatePopupWindow extends PopupWindow { private final Set pendingAdditions = new HashSet<>(); private final Set pendingRemovals = new HashSet<>(); + private boolean isEnabled = true; + public CallParticipantsListUpdatePopupWindow(@NonNull ViewGroup parent) { super(LayoutInflater.from(parent.getContext()).inflate(R.layout.call_participant_list_update, parent, false), ViewGroup.LayoutParams.MATCH_PARENT, @@ -59,6 +61,14 @@ public class CallParticipantsListUpdatePopupWindow extends PopupWindow { } } + public void setEnabled(boolean isEnabled) { + this.isEnabled = isEnabled; + + if (!isEnabled) { + dismiss(); + } + } + private void showPending() { if (!pendingAdditions.isEmpty()) { showAdditions(); @@ -82,6 +92,10 @@ public class CallParticipantsListUpdatePopupWindow extends PopupWindow { } private void show() { + if (!isEnabled) { + return; + } + showAtLocation(parent, Gravity.TOP | Gravity.START, 0, 0); measureChild(); update();