Add new call toast and remove call button labels.

This commit is contained in:
Alex Hart
2023-03-23 11:25:24 -03:00
committed by Greyson Parrelli
parent 7a2ad37333
commit 8f9713a2c0
19 changed files with 341 additions and 265 deletions

View File

@@ -58,6 +58,7 @@ import org.thoughtcrime.securesms.components.TooltipPopup;
import org.thoughtcrime.securesms.components.sensors.DeviceOrientationMonitor;
import org.thoughtcrime.securesms.components.webrtc.CallParticipantsListUpdatePopupWindow;
import org.thoughtcrime.securesms.components.webrtc.CallParticipantsState;
import org.thoughtcrime.securesms.components.webrtc.CallStateUpdatePopupWindow;
import org.thoughtcrime.securesms.components.webrtc.CallToastPopupWindow;
import org.thoughtcrime.securesms.components.webrtc.GroupCallSafetyNumberChangeNotificationUtil;
import org.thoughtcrime.securesms.components.webrtc.WebRtcAudioOutput;
@@ -112,6 +113,7 @@ public class WebRtcCallActivity extends BaseActivity implements SafetyNumberChan
public static final String EXTRA_STARTED_FROM_FULLSCREEN = WebRtcCallActivity.class.getCanonicalName() + ".STARTED_FROM_FULLSCREEN";
private CallParticipantsListUpdatePopupWindow participantUpdateWindow;
private CallStateUpdatePopupWindow callStateUpdatePopupWindow;
private WifiToCellularPopupWindow wifiToCellularPopupWindow;
private DeviceOrientationMonitor deviceOrientationMonitor;
@@ -312,8 +314,9 @@ public class WebRtcCallActivity extends BaseActivity implements SafetyNumberChan
callScreen = findViewById(R.id.callScreen);
callScreen.setControlsListener(new ControlsListener());
participantUpdateWindow = new CallParticipantsListUpdatePopupWindow(callScreen);
wifiToCellularPopupWindow = new WifiToCellularPopupWindow(callScreen);
participantUpdateWindow = new CallParticipantsListUpdatePopupWindow(callScreen);
callStateUpdatePopupWindow = new CallStateUpdatePopupWindow(callScreen);
wifiToCellularPopupWindow = new WifiToCellularPopupWindow(callScreen);
}
private void initializeViewModel(boolean isLandscapeEnabled) {
@@ -356,6 +359,7 @@ public class WebRtcCallActivity extends BaseActivity implements SafetyNumberChan
addOnPictureInPictureModeChangedListener(info -> {
viewModel.setIsInPipMode(info.isInPictureInPictureMode());
participantUpdateWindow.setEnabled(!info.isInPictureInPictureMode());
callStateUpdatePopupWindow.setEnabled(!info.isInPictureInPictureMode());
});
}
@@ -800,6 +804,8 @@ public class WebRtcCallActivity extends BaseActivity implements SafetyNumberChan
@Override
public void onMicChanged(boolean isMicEnabled) {
callStateUpdatePopupWindow.onCallStateUpdate(isMicEnabled ? CallStateUpdatePopupWindow.CallStateUpdate.MIC_ON
: CallStateUpdatePopupWindow.CallStateUpdate.MIC_OFF);
handleSetMuteAudio(!isMicEnabled);
}
@@ -851,9 +857,11 @@ public class WebRtcCallActivity extends BaseActivity implements SafetyNumberChan
public void onRingGroupChanged(boolean ringGroup, boolean ringingAllowed) {
if (ringingAllowed) {
ApplicationDependencies.getSignalCallManager().setRingGroup(ringGroup);
callStateUpdatePopupWindow.onCallStateUpdate(ringGroup ? CallStateUpdatePopupWindow.CallStateUpdate.RINGING_ON
: CallStateUpdatePopupWindow.CallStateUpdate.RINGING_OFF);
} else {
ApplicationDependencies.getSignalCallManager().setRingGroup(false);
Toast.makeText(WebRtcCallActivity.this, R.string.WebRtcCallActivity__group_is_too_large_to_ring_the_participants, Toast.LENGTH_SHORT).show();
callStateUpdatePopupWindow.onCallStateUpdate(CallStateUpdatePopupWindow.CallStateUpdate.RINGING_DISABLED);
}
}
}

View File

@@ -17,7 +17,6 @@ import org.thoughtcrime.securesms.R;
import org.thoughtcrime.securesms.badges.BadgeImageView;
import org.thoughtcrime.securesms.components.AvatarImageView;
import org.thoughtcrime.securesms.recipients.Recipient;
import org.thoughtcrime.securesms.util.ViewUtil;
import java.util.HashSet;
import java.util.Iterator;
@@ -41,7 +40,7 @@ public class CallParticipantsListUpdatePopupWindow extends PopupWindow {
public CallParticipantsListUpdatePopupWindow(@NonNull ViewGroup parent) {
super(LayoutInflater.from(parent.getContext()).inflate(R.layout.call_participant_list_update, parent, false),
ViewGroup.LayoutParams.MATCH_PARENT,
ViewUtil.dpToPx(94));
ViewGroup.LayoutParams.WRAP_CONTENT);
this.parent = parent;
this.avatarImageView = getContentView().findViewById(R.id.avatar);

View File

@@ -0,0 +1,102 @@
package org.thoughtcrime.securesms.components.webrtc
import android.view.Gravity
import android.view.LayoutInflater
import android.view.View
import android.view.ViewGroup
import android.widget.ImageView
import android.widget.PopupWindow
import android.widget.TextView
import androidx.annotation.DrawableRes
import androidx.annotation.StringRes
import org.thoughtcrime.securesms.R
import org.thoughtcrime.securesms.util.Debouncer
import java.util.concurrent.TimeUnit
/**
* Popup window which is displayed whenever the call state changes from user input.
*/
class CallStateUpdatePopupWindow(private val parent: ViewGroup) : PopupWindow(
LayoutInflater.from(parent.context).inflate(R.layout.call_state_update, parent, false),
ViewGroup.LayoutParams.MATCH_PARENT,
ViewGroup.LayoutParams.WRAP_CONTENT
) {
private var enabled: Boolean = true
private var pendingUpdate: CallStateUpdate? = null
private var lastUpdate: CallStateUpdate? = null
private val dismissDebouncer = Debouncer(2, TimeUnit.SECONDS)
private val iconView = contentView.findViewById<ImageView>(R.id.icon)
private val descriptionView = contentView.findViewById<TextView>(R.id.description)
init {
setOnDismissListener {
val pending = pendingUpdate
if (pending != null) {
onCallStateUpdate(pending)
}
}
}
fun setEnabled(enabled: Boolean) {
this.enabled = enabled
if (!enabled) {
dismissDebouncer.clear()
dismiss()
}
}
fun onCallStateUpdate(callStateUpdate: CallStateUpdate) {
if (isShowing && lastUpdate == callStateUpdate) {
dismissDebouncer.publish { dismiss() }
} else if (isShowing) {
dismissDebouncer.clear()
pendingUpdate = callStateUpdate
dismiss()
} else {
pendingUpdate = null
lastUpdate = callStateUpdate
presentCallState(callStateUpdate)
show()
}
}
private fun presentCallState(callStateUpdate: CallStateUpdate) {
if (callStateUpdate.iconRes == null) {
iconView.setImageDrawable(null)
} else {
iconView.setImageResource(callStateUpdate.iconRes)
}
descriptionView.setText(callStateUpdate.stringRes)
}
private fun show() {
if (!enabled) {
return
}
showAtLocation(parent, Gravity.TOP or Gravity.START, 0, 0)
measureChild()
update()
dismissDebouncer.publish { dismiss() }
}
private fun measureChild() {
contentView.measure(
View.MeasureSpec.makeMeasureSpec(0, View.MeasureSpec.UNSPECIFIED),
View.MeasureSpec.makeMeasureSpec(0, View.MeasureSpec.UNSPECIFIED)
)
}
enum class CallStateUpdate(
@DrawableRes val iconRes: Int?,
@StringRes val stringRes: Int
) {
RINGING_ON(R.drawable.symbol_bell_ring_compact_16, R.string.CallStateUpdatePopupWindow__ringing_on),
RINGING_OFF(R.drawable.symbol_bell_slash_compact_16, R.string.CallStateUpdatePopupWindow__ringing_off),
RINGING_DISABLED(null, R.string.CallStateUpdatePopupWindow__group_is_too_large),
MIC_ON(R.drawable.symbol_mic_compact_16, R.string.CallStateUpdatePopupWindow__mic_on),
MIC_OFF(R.drawable.symbol_mic_slash_compact_16, R.string.CallStateUpdatePopupWindow__mic_off)
}
}

View File

@@ -76,11 +76,8 @@ public class WebRtcCallView extends ConstraintLayout {
public static final int CONTROLS_HEIGHT = 98;
private WebRtcAudioOutputToggleButton audioToggle;
private TextView audioToggleLabel;
private AccessibleToggleButton videoToggle;
private TextView videoToggleLabel;
private AccessibleToggleButton micToggle;
private TextView micToggleLabel;
private ViewGroup smallLocalRenderFrame;
private CallParticipantView smallLocalRender;
private View largeLocalRenderFrame;
@@ -96,14 +93,10 @@ public class WebRtcCallView extends ConstraintLayout {
private RecipientId recipientId;
private ImageView answer;
private ImageView cameraDirectionToggle;
private TextView cameraDirectionToggleLabel;
private AccessibleToggleButton ringToggle;
private TextView ringToggleLabel;
private PictureInPictureGestureHelper pictureInPictureGestureHelper;
private ImageView hangup;
private TextView hangupLabel;
private View answerWithoutVideo;
private View answerWithoutVideoLabel;
private View topGradient;
private View footerGradient;
private View startCallControls;
@@ -166,11 +159,8 @@ public class WebRtcCallView extends ConstraintLayout {
super.onFinishInflate();
audioToggle = findViewById(R.id.call_screen_speaker_toggle);
audioToggleLabel = findViewById(R.id.call_screen_speaker_toggle_label);
videoToggle = findViewById(R.id.call_screen_video_toggle);
videoToggleLabel = findViewById(R.id.call_screen_video_toggle_label);
micToggle = findViewById(R.id.call_screen_audio_mic_toggle);
micToggleLabel = findViewById(R.id.call_screen_audio_mic_toggle_label);
smallLocalRenderFrame = findViewById(R.id.call_screen_pip);
smallLocalRender = findViewById(R.id.call_screen_small_local_renderer);
largeLocalRenderFrame = findViewById(R.id.call_screen_large_local_renderer_frame);
@@ -184,13 +174,9 @@ public class WebRtcCallView extends ConstraintLayout {
participantsParent = findViewById(R.id.call_screen_participants_parent);
answer = findViewById(R.id.call_screen_answer_call);
cameraDirectionToggle = findViewById(R.id.call_screen_camera_direction_toggle);
cameraDirectionToggleLabel = findViewById(R.id.call_screen_camera_direction_toggle_label);
ringToggle = findViewById(R.id.call_screen_audio_ring_toggle);
ringToggleLabel = findViewById(R.id.call_screen_audio_ring_toggle_label);
hangup = findViewById(R.id.call_screen_end_call);
hangupLabel = findViewById(R.id.call_screen_end_call_label);
answerWithoutVideo = findViewById(R.id.call_screen_answer_without_video);
answerWithoutVideoLabel = findViewById(R.id.call_screen_answer_without_video_label);
topGradient = findViewById(R.id.call_screen_header_gradient);
footerGradient = findViewById(R.id.call_screen_footer_gradient);
startCallControls = findViewById(R.id.call_screen_start_call_controls);
@@ -212,8 +198,6 @@ public class WebRtcCallView extends ConstraintLayout {
fullScreenShade = findViewById(R.id.call_screen_full_shade);
View decline = findViewById(R.id.call_screen_decline_call);
View answerLabel = findViewById(R.id.call_screen_answer_call_label);
View declineLabel = findViewById(R.id.call_screen_decline_call_label);
callParticipantsPager.setPageTransformer(new MarginPageTransformer(ViewUtil.dpToPx(4)));
@@ -238,9 +222,7 @@ public class WebRtcCallView extends ConstraintLayout {
topViews.add(topGradient);
incomingCallViews.add(answer);
incomingCallViews.add(answerLabel);
incomingCallViews.add(decline);
incomingCallViews.add(declineLabel);
incomingCallViews.add(footerGradient);
incomingCallViews.add(incomingRingStatus);
@@ -639,7 +621,6 @@ public class WebRtcCallView extends ConstraintLayout {
if (webRtcControls.displayAnswerWithoutVideo()) {
visibleViewSet.add(answerWithoutVideo);
visibleViewSet.add(answerWithoutVideoLabel);
answer.setImageDrawable(AppCompatResources.getDrawable(getContext(), R.drawable.webrtc_call_screen_answer_with_video));
}
@@ -650,7 +631,6 @@ public class WebRtcCallView extends ConstraintLayout {
if (webRtcControls.displayAudioToggle()) {
visibleViewSet.add(audioToggle);
visibleViewSet.add(audioToggleLabel);
audioToggle.setControlAvailability(webRtcControls.enableHandsetInAudioToggle(),
webRtcControls.enableHeadsetInAudioToggle());
@@ -660,23 +640,19 @@ public class WebRtcCallView extends ConstraintLayout {
if (webRtcControls.displayCameraToggle()) {
visibleViewSet.add(cameraDirectionToggle);
visibleViewSet.add(cameraDirectionToggleLabel);
}
if (webRtcControls.displayEndCall()) {
visibleViewSet.add(hangup);
visibleViewSet.add(hangupLabel);
visibleViewSet.add(footerGradient);
}
if (webRtcControls.displayMuteAudio()) {
visibleViewSet.add(micToggle);
visibleViewSet.add(micToggleLabel);
}
if (webRtcControls.displayVideoToggle()) {
visibleViewSet.add(videoToggle);
visibleViewSet.add(videoToggleLabel);
}
if (webRtcControls.displaySmallOngoingCallButtons()) {
@@ -701,9 +677,9 @@ public class WebRtcCallView extends ConstraintLayout {
if (webRtcControls.displayRingToggle()) {
visibleViewSet.add(ringToggle);
visibleViewSet.add(ringToggleLabel);
}
if (webRtcControls.isFadeOutEnabled()) {
if (!controls.isFadeOutEnabled()) {
scheduleFadeOut();

View File

@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android">
<solid android:color="@color/core_grey_80" />
<corners android:radius="8dp" />
<solid android:color="@color/signal_light_colorSecondaryContainer" />
<corners android:radius="32dp" />
</shape>

View File

@@ -0,0 +1,17 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="16dp"
android:height="16dp"
android:viewportWidth="16"
android:viewportHeight="16">
<group>
<path
android:fillColor="@color/signal_light_colorOnSecondaryContainer"
android:pathData="M3.58 1.71c0.26-0.25 0.26-0.66 0-0.92-0.24-0.25-0.65-0.26-0.91 0-0.9 0.87-1.62 2.46-1.81 3.87C0.8 5.02 1.06 5.34 1.4 5.39c0.36 0.05 0.68-0.2 0.73-0.55 0.17-1.19 0.8-2.49 1.44-3.13Z"/>
<path
android:fillColor="@color/signal_light_colorOnSecondaryContainer"
android:pathData="M12.41 0.8c-0.25 0.25-0.25 0.66 0 0.91 0.66 0.64 1.28 1.94 1.45 3.13 0.05 0.36 0.37 0.6 0.73 0.55 0.36-0.05 0.6-0.37 0.55-0.73-0.2-1.41-0.92-3-1.81-3.87-0.26-0.26-0.67-0.25-0.92 0Z"/>
<path
android:fillColor="@color/signal_light_colorOnSecondaryContainer"
android:pathData="M8 1.1c-2.54 0-4.7 1.96-4.79 4.7C3.13 8.16 2.65 9 2.31 9.4 2.2 9.53 2.1 9.61 2 9.71L1.97 9.77l-0.3 0.28c-0.26 0.3-0.45 0.66-0.45 1.2 0 0.9 0.73 1.66 1.65 1.66h2.5c0.2 1.3 1.27 2.25 2.63 2.25 1.36 0 2.44-0.96 2.62-2.25h2.51c0.92 0 1.64-0.76 1.64-1.67 0-0.53-0.18-0.9-0.45-1.19l-0.29-0.28-0.02-0.02-0.02-0.02-0.3-0.3C13.35 9 12.87 8.16 12.8 5.78 12.69 3.06 10.54 1.1 8 1.1ZM4.51 5.84C4.58 3.82 6.15 2.4 8 2.4c1.85 0 3.42 1.42 3.49 3.44 0.09 2.53 0.6 3.7 1.2 4.41 0.15 0.17 0.3 0.3 0.4 0.42l0.07 0.06 0.2 0.19c0.08 0.08 0.11 0.14 0.11 0.31 0 0.22-0.16 0.37-0.34 0.37H2.87c-0.18 0-0.35-0.15-0.35-0.37 0-0.17 0.04-0.23 0.12-0.31l0.2-0.2 0.06-0.05c0.12-0.11 0.26-0.25 0.4-0.42 0.6-0.71 1.12-1.88 1.21-4.41Zm2.2 7.06H9.3c-0.17 0.56-0.67 0.95-1.3 0.95s-1.13-0.39-1.3-0.95Z"/>
</group>
</vector>

View File

@@ -0,0 +1,15 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="16dp"
android:height="16dp"
android:viewportWidth="16"
android:viewportHeight="16">
<path
android:fillColor="@color/signal_light_colorOnSecondaryContainer"
android:pathData="M3.21 5.8V5.7l1.23 1.22c-0.18 1.8-0.63 2.73-1.14 3.33-0.14 0.17-0.28 0.3-0.4 0.42l-0.06 0.06-0.2 0.19C2.56 11 2.53 11.06 2.53 11.23c0 0.22 0.16 0.37 0.34 0.37h6.26l1.46 1.47c-0.25 1.2-1.3 2.08-2.59 2.08-1.36 0-2.44-0.96-2.62-2.25H2.87c-0.92 0-1.64-0.76-1.64-1.67 0-0.53 0.18-0.9 0.45-1.19l0.29-0.28L2 9.72l0.3-0.3C2.65 9 3.13 8.16 3.2 5.78Zm3.5 7.1c0.16 0.56 0.66 0.95 1.29 0.95s1.13-0.39 1.3-0.95H6.7Z"/>
<path
android:fillColor="@color/signal_light_colorOnSecondaryContainer"
android:pathData="M11.49 5.84c0.08 2.37 0.54 3.54 1.1 4.27l1.96 1.97c0.14-0.25 0.23-0.54 0.23-0.85 0-0.53-0.2-0.9-0.46-1.19l-0.29-0.28-0.02-0.02-0.02-0.02-0.3-0.3C13.35 9 12.87 8.16 12.8 5.78 12.69 3.06 10.54 1.1 8 1.1c-1.22 0-2.35 0.45-3.2 1.22l0.92 0.92C6.34 2.71 7.14 2.4 8 2.4c1.85 0 3.42 1.42 3.49 3.44Z"/>
<path
android:fillColor="@color/signal_light_colorOnSecondaryContainer"
android:pathData="M2.46 1.54c-0.25-0.25-0.67-0.25-0.92 0s-0.25 0.67 0 0.92l12 12c0.25 0.25 0.67 0.25 0.92 0s0.25-0.67 0-0.92l-12-12Z"/>
</vector>

View File

@@ -0,0 +1,18 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="24dp"
android:height="24dp"
android:viewportWidth="24"
android:viewportHeight="24">
<path
android:fillColor="@color/signal_light_colorOnSecondaryContainer"
android:pathData="M1.88 1.88c0.34-0.34 0.9-0.34 1.24 0l19 19c0.34 0.34 0.34 0.9 0 1.24-0.34 0.34-0.9 0.34-1.24 0l-19-19c-0.34-0.34-0.34-0.9 0-1.24Z"/>
<path
android:fillColor="@color/signal_light_colorOnSecondaryContainer"
android:pathData="M5.16 8.52c-0.14 3.61-0.87 5-1.5 5.72-0.16 0.2-0.32 0.35-0.48 0.5L3.1 14.83c-0.14 0.12-0.28 0.26-0.4 0.4-0.34 0.36-0.58 0.8-0.58 1.48 0 1.12 0.9 2.05 2.03 2.05h11.24L5.16 8.52Z"/>
<path
android:fillColor="@color/signal_light_colorOnSecondaryContainer"
android:pathData="M21.4 18.03c0.3-0.36 0.48-0.82 0.48-1.33 0-0.68-0.24-1.12-0.57-1.49l-0.4-0.4-0.04-0.03-0.05-0.03c-0.16-0.16-0.32-0.31-0.49-0.5-0.62-0.75-1.37-2.14-1.5-5.82-0.13-3.9-3.2-6.68-6.83-6.68-1.88 0-3.62 0.75-4.87 2.02l14.26 14.26Z"/>
<path
android:fillColor="@color/signal_light_colorOnSecondaryContainer"
android:pathData="M8.95 20.5c0.09-0.16 0.25-0.25 0.43-0.25h5.24c0.18 0 0.34 0.1 0.43 0.25 0.09 0.15 0.1 0.34 0 0.5-0.59 1.06-1.72 1.75-3.05 1.75-1.33 0-2.46-0.69-3.06-1.76-0.08-0.15-0.08-0.34 0.01-0.5Z"/>
</vector>

View File

@@ -0,0 +1,12 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="16dp"
android:height="16dp"
android:viewportWidth="16"
android:viewportHeight="16">
<path
android:fillColor="@color/signal_light_colorOnSecondaryContainer"
android:pathData="M8 0.35c-1.88 0-3.4 1.52-3.4 3.4v3.5c0 1.88 1.52 3.4 3.4 3.4s3.4-1.52 3.4-3.4v-3.5c0-1.88-1.52-3.4-3.4-3.4Zm-2.1 3.4c0-1.16 0.94-2.1 2.1-2.1 1.16 0 2.1 0.94 2.1 2.1v3.5c0 1.16-0.94 2.1-2.1 2.1-1.16 0-2.1-0.94-2.1-2.1v-3.5Z"/>
<path
android:fillColor="@color/signal_light_colorOnSecondaryContainer"
android:pathData="M5.25 14.1c-0.36 0-0.65 0.3-0.65 0.65 0 0.36 0.3 0.65 0.65 0.65h5.5c0.36 0 0.65-0.3 0.65-0.65 0-0.36-0.3-0.65-0.65-0.65h-2.1v-0.96c2.86-0.2 5.13-2.53 5.25-5.42V7.27 6.75c0-0.36-0.3-0.65-0.65-0.65-0.36 0-0.65 0.3-0.65 0.65v0.5 0.42c-0.1 2.27-1.91 4.09-4.18 4.18H8 7.58C5.3 11.75 3.49 9.94 3.4 7.67V7.25v-0.5c0-0.36-0.3-0.65-0.65-0.65-0.36 0-0.65 0.3-0.65 0.65v0.52 0.45c0.12 2.89 2.39 5.21 5.25 5.42v0.96h-2.1Z"/>
</vector>

View File

@@ -4,9 +4,9 @@
android:viewportWidth="24"
android:viewportHeight="24">
<path
android:fillColor="@color/signal_light_colorOnPrimary"
android:fillColor="@color/signal_light_colorOnSecondaryContainer"
android:pathData="M7.5 6c0-2.49 2.01-4.5 4.5-4.5s4.5 2.01 4.5 4.5v6c0 2.49-2.01 4.5-4.5 4.5S7.5 14.49 7.5 12V6Z"/>
<path
android:fillColor="@color/signal_light_colorOnPrimary"
android:fillColor="@color/signal_light_colorOnSecondaryContainer"
android:pathData="M5.88 10.5c0-0.48-0.4-0.88-0.88-0.88s-0.88 0.4-0.88 0.88V12c0 4.05 3.07 7.4 7 7.83v1.3H8c-0.48 0-0.88 0.39-0.88 0.87s0.4 0.88 0.88 0.88h8c0.48 0 0.88-0.4 0.88-0.88s-0.4-0.88-0.88-0.88h-3.13v-1.3c3.94-0.43 7-3.77 7-7.82v-1.5c0-0.48-0.39-0.88-0.87-0.88s-0.88 0.4-0.88 0.88V12c0 3.38-2.74 6.13-6.12 6.13S5.87 15.38 5.87 12v-1.5Z"/>
</vector>

View File

@@ -0,0 +1,12 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="28dp"
android:height="28dp"
android:viewportWidth="24"
android:viewportHeight="24">
<path
android:fillColor="@color/signal_light_colorOnPrimary"
android:pathData="M7.5 6c0-2.49 2.01-4.5 4.5-4.5s4.5 2.01 4.5 4.5v6c0 2.49-2.01 4.5-4.5 4.5S7.5 14.49 7.5 12V6Z"/>
<path
android:fillColor="@color/signal_light_colorOnPrimary"
android:pathData="M5.88 10.5c0-0.48-0.4-0.88-0.88-0.88s-0.88 0.4-0.88 0.88V12c0 4.05 3.07 7.4 7 7.83v1.3H8c-0.48 0-0.88 0.39-0.88 0.87s0.4 0.88 0.88 0.88h8c0.48 0 0.88-0.4 0.88-0.88s-0.4-0.88-0.88-0.88h-3.13v-1.3c3.94-0.43 7-3.77 7-7.82v-1.5c0-0.48-0.39-0.88-0.87-0.88s-0.88 0.4-0.88 0.88V12c0 3.38-2.74 6.13-6.12 6.13S5.87 15.38 5.87 12v-1.5Z"/>
</vector>

View File

@@ -0,0 +1,21 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="16dp"
android:height="16dp"
android:viewportWidth="16"
android:viewportHeight="16">
<path
android:fillColor="@color/signal_light_colorOnSecondaryContainer"
android:pathData="M4.6 7.25V7.07l3.57 3.58H8c-1.88 0-3.4-1.52-3.4-3.4Z"/>
<path
android:fillColor="@color/signal_light_colorOnSecondaryContainer"
android:pathData="M8.42 11.85C8.71 11.84 9 11.8 9.26 11.73l1.03 1.04c-0.51 0.2-1.06 0.33-1.64 0.37v0.96h2.1c0.36 0 0.65 0.3 0.65 0.65 0 0.36-0.3 0.65-0.65 0.65h-5.5c-0.36 0-0.65-0.3-0.65-0.65 0-0.36 0.3-0.65 0.65-0.65h2.1v-0.96c-2.86-0.2-5.13-2.53-5.25-5.42V7.27 6.75c0-0.36 0.3-0.65 0.65-0.65 0.36 0 0.65 0.3 0.65 0.65v0.5 0.42c0.1 2.27 1.91 4.09 4.18 4.18H8h0.42Z"/>
<path
android:fillColor="@color/signal_light_colorOnSecondaryContainer"
android:pathData="M12.07 9.6L13 10.53c0.53-0.82 0.85-1.78 0.89-2.82V7.27 6.75c0-0.36-0.3-0.65-0.65-0.65-0.36 0-0.65 0.3-0.65 0.65v0.5 0.42c-0.03 0.7-0.22 1.35-0.53 1.92Z"/>
<path
android:fillColor="@color/signal_light_colorOnSecondaryContainer"
android:pathData="M10.07 7.6l1.04 1.03c0.19-0.42 0.29-0.89 0.29-1.38v-3.5c0-1.88-1.52-3.4-3.4-3.4-1.4 0-2.6 0.85-3.12 2.05l1.04 1.05C6.07 2.43 6.94 1.65 8 1.65c1.16 0 2.1 0.94 2.1 2.1v3.5c0 0.12-0.01 0.23-0.03 0.35Z"/>
<path
android:fillColor="@color/signal_light_colorOnSecondaryContainer"
android:pathData="M2.46 1.54c-0.25-0.25-0.67-0.25-0.92 0s-0.25 0.67 0 0.92l12 12c0.25 0.25 0.67 0.25 0.92 0s0.25-0.67 0-0.92l-12-12Z"/>
</vector>

View File

@@ -3,7 +3,7 @@
<item android:state_checked="true">
<layer-list>
<item android:drawable="@drawable/webrtc_call_screen_circle_checked" />
<item android:bottom="14dp" android:drawable="@drawable/symbol_mic_fill_24" android:left="14dp" android:right="14dp" android:top="14dp" />
<item android:bottom="14dp" android:drawable="@drawable/symbol_mic_fill_white_24" android:left="14dp" android:right="14dp" android:top="14dp" />
</layer-list>
</item>
<item>

View File

@@ -19,7 +19,7 @@
android:left="4dp"
android:right="4dp"
android:drawable="@drawable/webrtc_call_screen_circle_checked" />
<item android:bottom="14dp" android:drawable="@drawable/symbol_mic_fill_24" android:left="14dp" android:right="14dp" android:top="14dp" />
<item android:bottom="14dp" android:drawable="@drawable/symbol_mic_fill_white_24" android:left="14dp" android:right="14dp" android:top="14dp" />
</layer-list>
</item>
</selector>

View File

@@ -1,24 +1,28 @@
<?xml version="1.0" encoding="utf-8"?>
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
tools:viewBindingIgnore="true"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="94dp">
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:minHeight="94dp"
tools:viewBindingIgnore="true">
<androidx.constraintlayout.widget.ConstraintLayout
android:layout_width="match_parent"
android:layout_height="64dp"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:layout_marginStart="12dp"
android:layout_marginTop="30dp"
android:layout_marginEnd="12dp"
android:background="@drawable/call_participant_update_window_background">
android:background="@drawable/call_participant_update_window_background"
android:elevation="4dp">
<org.thoughtcrime.securesms.components.AvatarImageView
android:id="@+id/avatar"
android:layout_width="40dp"
android:layout_height="40dp"
android:layout_marginStart="12dp"
android:layout_width="32dp"
android:layout_height="32dp"
android:layout_marginVertical="8dp"
android:layout_marginStart="8dp"
android:visibility="gone"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintStart_toStartOf="parent"
@@ -29,32 +33,36 @@
<org.thoughtcrime.securesms.badges.BadgeImageView
android:id="@+id/badge"
android:layout_width="24dp"
android:layout_height="24dp"
android:layout_width="16dp"
android:layout_height="16dp"
android:layout_marginStart="20dp"
android:layout_marginTop="22dp"
android:layout_marginTop="20dp"
android:contentDescription="@string/ImageView__badge"
app:badge_size="medium"
app:badge_size="small"
app:layout_constraintStart_toStartOf="@id/avatar"
app:layout_constraintTop_toTopOf="@id/avatar"
tools:visibility="visible" />
<TextView
android:id="@+id/description"
android:layout_width="0dp"
android:layout_height="40dp"
android:layout_marginStart="12dp"
android:layout_marginTop="12dp"
android:layout_marginEnd="12dp"
android:layout_marginBottom="12dp"
android:height="0dp"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="10dp"
android:layout_marginTop="14dp"
android:layout_marginEnd="24dp"
android:layout_marginBottom="14dp"
android:gravity="center_vertical"
android:textAppearance="@style/TextAppearance.Signal.Body2"
android:textAppearance="@style/Signal.Text.BodyMedium"
android:textColor="@color/signal_light_colorOnSecondaryContainer"
app:layout_constrainedWidth="true"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="1.0"
app:layout_constraintStart_toEndOf="@id/avatar"
app:layout_constraintTop_toTopOf="parent"
tools:text="@tools:sample/lorem/random" />
app:layout_constraintVertical_bias="1.0"
app:layout_goneMarginStart="24dp"
tools:text="Kiera joined" />
</androidx.constraintlayout.widget.ConstraintLayout>
</FrameLayout>

View File

@@ -0,0 +1,57 @@
<?xml version="1.0" encoding="utf-8"?>
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:minHeight="94dp"
tools:viewBindingIgnore="true">
<androidx.constraintlayout.widget.ConstraintLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:layout_marginStart="12dp"
android:layout_marginTop="30dp"
android:layout_marginEnd="12dp"
android:background="@drawable/call_participant_update_window_background"
android:elevation="4dp">
<ImageView
android:id="@+id/icon"
android:layout_width="16dp"
android:layout_height="16dp"
android:layout_marginVertical="16dp"
android:layout_marginStart="24dp"
android:importantForAccessibility="no"
android:visibility="gone"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
tools:background="@drawable/circle_ultramarine"
tools:src="@drawable/ic_profile_80"
tools:visibility="visible" />
<TextView
android:id="@+id/description"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="10dp"
android:layout_marginTop="14dp"
android:layout_marginEnd="24dp"
android:layout_marginBottom="14dp"
android:gravity="center_vertical"
android:textAppearance="@style/Signal.Text.BodyMedium"
android:textColor="@color/signal_light_colorOnSecondaryContainer"
app:layout_constrainedWidth="true"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="1.0"
app:layout_constraintStart_toEndOf="@id/icon"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintVertical_bias="1.0"
app:layout_goneMarginStart="24dp"
tools:text="Kiera joined" />
</androidx.constraintlayout.widget.ConstraintLayout>
</FrameLayout>

View File

@@ -1,9 +1,9 @@
<?xml version="1.0" encoding="utf-8"?>
<merge xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
tools:viewBindingIgnore="true"
xmlns:tools="http://schemas.android.com/tools"
tools:parentTag="org.thoughtcrime.securesms.components.webrtc.WebRtcCallView">
tools:parentTag="org.thoughtcrime.securesms.components.webrtc.WebRtcCallView"
tools:viewBindingIgnore="true">
<androidx.constraintlayout.widget.Guideline
android:id="@+id/fold_top_guideline"
@@ -64,8 +64,8 @@
android:textAppearance="@style/TextAppearance.Signal.Body2"
android:textColor="@color/signal_light_colorOnPrimary"
android:visibility="gone"
app:drawableTopCompat="@drawable/symbol_video_slash_fill_24"
app:drawableTint="@color/signal_light_colorOnPrimary"
app:drawableTopCompat="@drawable/symbol_video_slash_fill_24"
tools:visibility="visible" />
</FrameLayout>
@@ -216,247 +216,108 @@
android:layout_height="@dimen/webrtc_button_size"
android:layout_marginStart="8dp"
android:layout_marginEnd="8dp"
android:layout_marginBottom="8dp"
android:layout_marginBottom="30dp"
android:contentDescription="@string/WebRtcCallView__speaker"
android:scaleType="fitXY"
android:visibility="gone"
android:contentDescription="@string/WebRtcCallView__speaker"
app:layout_constraintBottom_toTopOf="@id/call_screen_button_labels_barrier"
app:layout_constraintBottom_toTopOf="@id/call_screen_start_call_controls"
app:layout_constraintEnd_toStartOf="@id/call_screen_camera_direction_toggle"
app:layout_constraintHorizontal_chainStyle="packed"
app:layout_constraintStart_toStartOf="parent"
app:srcCompat="@drawable/webrtc_call_screen_speaker_toggle"
tools:visibility="visible" />
<TextView
android:id="@+id/call_screen_speaker_toggle_label"
android:layout_width="64dp"
android:layout_height="wrap_content"
android:layout_marginTop="8dp"
android:layout_marginBottom="32dp"
android:clickable="false"
android:ellipsize="end"
android:gravity="center_horizontal"
android:hyphenationFrequency="normal"
android:lines="2"
android:text="@string/WebRtcCallView__speaker"
android:textAppearance="@style/TextAppearance.Signal.Subtitle"
android:textColor="@color/core_white"
android:visibility="gone"
app:layout_constrainedHeight="true"
app:layout_constraintBottom_toTopOf="@id/call_screen_start_call_controls"
app:layout_constraintEnd_toEndOf="@id/call_screen_speaker_toggle"
app:layout_constraintStart_toStartOf="@id/call_screen_speaker_toggle"
app:layout_constraintTop_toBottomOf="@id/call_screen_speaker_toggle"
app:layout_constraintVertical_bias="0"
tools:visibility="visible" />
<ImageView
android:id="@+id/call_screen_camera_direction_toggle"
android:layout_width="@dimen/webrtc_button_size"
android:layout_height="@dimen/webrtc_button_size"
android:layout_marginStart="8dp"
android:layout_marginEnd="8dp"
android:layout_marginBottom="8dp"
android:layout_marginBottom="30dp"
android:clickable="false"
android:contentDescription="@string/WebRtcCallView__flip"
android:scaleType="fitXY"
android:visibility="gone"
android:contentDescription="@string/WebRtcCallView__flip"
app:layout_constraintBottom_toTopOf="@id/call_screen_button_labels_barrier"
app:layout_constraintBottom_toTopOf="@id/call_screen_start_call_controls"
app:layout_constraintEnd_toStartOf="@id/call_screen_video_toggle"
app:layout_constraintHorizontal_chainStyle="packed"
app:layout_constraintStart_toEndOf="@id/call_screen_speaker_toggle"
app:srcCompat="@drawable/webrtc_call_screen_camera_toggle"
tools:visibility="visible" />
<TextView
android:id="@+id/call_screen_camera_direction_toggle_label"
android:layout_width="64dp"
android:layout_height="wrap_content"
android:layout_marginBottom="32dp"
android:clickable="false"
android:ellipsize="end"
android:gravity="center_horizontal"
android:hyphenationFrequency="normal"
android:lines="2"
android:text="@string/WebRtcCallView__flip"
android:textAppearance="@style/TextAppearance.Signal.Subtitle"
android:textColor="@color/core_white"
android:visibility="gone"
app:layout_constrainedHeight="true"
app:layout_constraintBottom_toTopOf="@id/call_screen_start_call_controls"
app:layout_constraintEnd_toEndOf="@id/call_screen_camera_direction_toggle"
app:layout_constraintStart_toStartOf="@id/call_screen_camera_direction_toggle"
app:layout_constraintTop_toBottomOf="@id/call_screen_camera_direction_toggle"
app:layout_constraintVertical_bias="0"
tools:visibility="visible" />
<org.thoughtcrime.securesms.components.AccessibleToggleButton
android:id="@+id/call_screen_video_toggle"
style="@style/WebRtcCallV2CompoundButton"
android:layout_marginStart="8dp"
android:layout_marginEnd="8dp"
android:layout_marginBottom="8dp"
android:layout_marginBottom="30dp"
android:background="@drawable/webrtc_call_screen_video_toggle"
android:contentDescription="@string/WebRtcCallView__camera"
android:stateListAnimator="@null"
android:visibility="gone"
android:contentDescription="@string/WebRtcCallView__camera"
app:layout_constraintBottom_toTopOf="@id/call_screen_button_labels_barrier"
app:layout_constraintBottom_toTopOf="@id/call_screen_start_call_controls"
app:layout_constraintEnd_toStartOf="@id/call_screen_audio_mic_toggle"
app:layout_constraintHorizontal_chainStyle="packed"
app:layout_constraintStart_toEndOf="@id/call_screen_camera_direction_toggle"
tools:checked="true"
tools:visibility="visible" />
<TextView
android:id="@+id/call_screen_video_toggle_label"
android:layout_width="64dp"
android:layout_height="wrap_content"
android:layout_marginBottom="32dp"
android:clickable="false"
android:ellipsize="end"
android:gravity="center_horizontal"
android:hyphenationFrequency="normal"
android:lines="2"
android:text="@string/WebRtcCallView__camera"
android:textAppearance="@style/TextAppearance.Signal.Subtitle"
android:textColor="@color/core_white"
android:visibility="gone"
app:layout_constrainedHeight="true"
app:layout_constraintBottom_toTopOf="@id/call_screen_start_call_controls"
app:layout_constraintEnd_toEndOf="@id/call_screen_video_toggle"
app:layout_constraintStart_toStartOf="@id/call_screen_video_toggle"
app:layout_constraintTop_toBottomOf="@id/call_screen_video_toggle"
app:layout_constraintVertical_bias="0"
tools:visibility="visible" />
<org.thoughtcrime.securesms.components.AccessibleToggleButton
android:id="@+id/call_screen_audio_mic_toggle"
style="@style/WebRtcCallV2CompoundButton"
android:layout_marginStart="8dp"
android:layout_marginEnd="8dp"
android:layout_marginBottom="8dp"
android:layout_marginBottom="30dp"
android:background="@drawable/webrtc_call_screen_mic_toggle"
android:contentDescription="@string/WebRtcCallView__unmute"
android:stateListAnimator="@null"
android:visibility="gone"
android:contentDescription="@string/WebRtcCallView__unmute"
app:layout_constraintBottom_toTopOf="@id/call_screen_button_labels_barrier"
app:layout_constraintBottom_toTopOf="@id/call_screen_start_call_controls"
app:layout_constraintEnd_toStartOf="@id/call_screen_audio_ring_toggle"
app:layout_constraintHorizontal_chainStyle="packed"
app:layout_constraintStart_toEndOf="@id/call_screen_video_toggle"
tools:visibility="visible" />
<TextView
android:id="@+id/call_screen_audio_mic_toggle_label"
android:layout_width="64dp"
android:layout_height="wrap_content"
android:layout_marginBottom="32dp"
android:clickable="false"
android:ellipsize="end"
android:gravity="center_horizontal"
android:hyphenationFrequency="normal"
android:lines="2"
android:text="@string/WebRtcCallView__mute"
android:textAppearance="@style/TextAppearance.Signal.Subtitle"
android:textColor="@color/core_white"
android:visibility="gone"
app:layout_constrainedHeight="true"
app:layout_constraintBottom_toTopOf="@id/call_screen_start_call_controls"
app:layout_constraintEnd_toEndOf="@id/call_screen_audio_mic_toggle"
app:layout_constraintStart_toStartOf="@id/call_screen_audio_mic_toggle"
app:layout_constraintTop_toBottomOf="@id/call_screen_audio_mic_toggle"
app:layout_constraintVertical_bias="0"
tools:visibility="visible" />
<org.thoughtcrime.securesms.components.AccessibleToggleButton
android:id="@+id/call_screen_audio_ring_toggle"
style="@style/WebRtcCallV2CompoundButton"
android:layout_marginStart="8dp"
android:layout_marginEnd="8dp"
android:layout_marginBottom="8dp"
android:layout_marginBottom="30dp"
android:background="@drawable/webrtc_call_screen_ring_toggle"
android:stateListAnimator="@null"
android:visibility="gone"
app:layout_constraintBottom_toTopOf="@id/call_screen_button_labels_barrier"
app:layout_constraintBottom_toTopOf="@id/call_screen_start_call_controls"
app:layout_constraintEnd_toStartOf="@id/call_screen_end_call"
app:layout_constraintHorizontal_chainStyle="packed"
app:layout_constraintStart_toEndOf="@id/call_screen_audio_mic_toggle" />
<TextView
android:id="@+id/call_screen_audio_ring_toggle_label"
android:layout_width="64dp"
android:layout_height="wrap_content"
android:layout_marginBottom="32dp"
android:clickable="false"
android:ellipsize="end"
android:gravity="center_horizontal"
android:hyphenationFrequency="normal"
android:lines="2"
android:text="@string/WebRtcCallView__ring"
android:textAppearance="@style/TextAppearance.Signal.Subtitle"
android:textColor="@color/core_white"
android:visibility="gone"
app:layout_constrainedHeight="true"
app:layout_constraintBottom_toTopOf="@id/call_screen_start_call_controls"
app:layout_constraintEnd_toEndOf="@id/call_screen_audio_ring_toggle"
app:layout_constraintStart_toStartOf="@id/call_screen_audio_ring_toggle"
app:layout_constraintTop_toBottomOf="@id/call_screen_audio_ring_toggle"
app:layout_constraintVertical_bias="0" />
<ImageView
android:id="@+id/call_screen_end_call"
android:layout_width="@dimen/webrtc_button_size"
android:layout_height="@dimen/webrtc_button_size"
android:layout_marginStart="8dp"
android:layout_marginEnd="8dp"
android:layout_marginBottom="8dp"
android:layout_marginBottom="30dp"
android:clickable="false"
android:contentDescription="@string/WebRtcCallView__end_call"
android:scaleType="fitXY"
android:visibility="gone"
android:contentDescription="@string/WebRtcCallView__end_call"
app:layout_constraintBottom_toTopOf="@id/call_screen_button_labels_barrier"
app:layout_constraintBottom_toTopOf="@id/call_screen_start_call_controls"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_chainStyle="packed"
app:layout_constraintStart_toEndOf="@id/call_screen_audio_ring_toggle"
app:srcCompat="@drawable/webrtc_call_screen_hangup"
tools:visibility="visible" />
<TextView
android:id="@+id/call_screen_end_call_label"
android:layout_width="64dp"
android:layout_height="wrap_content"
android:layout_marginBottom="32dp"
android:clickable="false"
android:ellipsize="end"
android:gravity="center_horizontal"
android:hyphenationFrequency="normal"
android:lines="2"
android:text="@string/WebRtcCallView__end_call"
android:textAppearance="@style/TextAppearance.Signal.Subtitle"
android:textColor="@color/core_white"
android:visibility="gone"
app:layout_constrainedHeight="true"
app:layout_constraintBottom_toTopOf="@id/call_screen_start_call_controls"
app:layout_constraintEnd_toEndOf="@id/call_screen_end_call"
app:layout_constraintStart_toStartOf="@id/call_screen_end_call"
app:layout_constraintTop_toBottomOf="@id/call_screen_end_call"
app:layout_constraintVertical_bias="0"
tools:visibility="visible" />
<androidx.constraintlayout.widget.Barrier
android:id="@+id/call_screen_button_labels_barrier"
android:layout_width="match_parent"
android:layout_height="1dp"
app:barrierDirection="top"
app:constraint_referenced_ids="call_screen_speaker_toggle_label,call_screen_camera_direction_toggle_label,call_screen_video_toggle_label,call_screen_audio_mic_toggle_label,call_screen_audio_ring_toggle_label,call_screen_end_call_label" />
<ImageView
android:id="@+id/call_screen_decline_call"
android:layout_width="56dp"
android:layout_height="56dp"
android:layout_marginStart="66dp"
android:layout_marginBottom="65dp"
android:visibility="gone"
android:contentDescription="@string/WebRtcCallScreen__decline"
android:visibility="gone"
app:layout_constraintBottom_toTopOf="@id/call_screen_navigation_bar_guideline"
app:layout_constraintEnd_toStartOf="@id/call_screen_answer_call"
app:layout_constraintHorizontal_chainStyle="spread_inside"
@@ -464,28 +325,14 @@
app:srcCompat="@drawable/webrtc_call_screen_hangup"
tools:visibility="gone" />
<TextView
android:id="@+id/call_screen_decline_call_label"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="5dp"
android:hyphenationFrequency="normal"
android:text="@string/WebRtcCallScreen__decline"
android:textColor="@color/core_white"
android:visibility="gone"
app:layout_constraintEnd_toEndOf="@id/call_screen_decline_call"
app:layout_constraintStart_toStartOf="@id/call_screen_decline_call"
app:layout_constraintTop_toBottomOf="@id/call_screen_decline_call"
tools:visibility="gone" />
<ImageView
android:id="@+id/call_screen_answer_call"
android:layout_width="56dp"
android:layout_height="56dp"
android:layout_marginEnd="66dp"
android:layout_marginBottom="65dp"
android:visibility="gone"
android:contentDescription="@string/WebRtcCallScreen__answer"
android:visibility="gone"
app:layout_constraintBottom_toTopOf="@id/call_screen_navigation_bar_guideline"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_chainStyle="spread_inside"
@@ -493,45 +340,17 @@
app:srcCompat="@drawable/webrtc_call_screen_answer"
tools:visibility="gone" />
<TextView
android:id="@+id/call_screen_answer_call_label"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="5dp"
android:hyphenationFrequency="normal"
android:text="@string/WebRtcCallScreen__answer"
android:textColor="@color/core_white"
android:visibility="gone"
app:layout_constraintEnd_toEndOf="@id/call_screen_answer_call"
app:layout_constraintStart_toStartOf="@id/call_screen_answer_call"
app:layout_constraintTop_toBottomOf="@id/call_screen_answer_call"
tools:visibility="gone" />
<ImageView
android:id="@+id/call_screen_answer_without_video"
android:layout_width="56dp"
android:layout_height="56dp"
android:layout_marginBottom="5dp"
android:visibility="gone"
android:contentDescription="@string/WebRtcCallScreen__answer_without_video"
app:layout_constraintBottom_toTopOf="@id/call_screen_answer_without_video_label"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:srcCompat="@drawable/webrtc_call_screen_answer_without_video"
tools:visibility="gone" />
<TextView
android:id="@+id/call_screen_answer_without_video_label"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginBottom="9dp"
android:hyphenationFrequency="normal"
android:text="@string/WebRtcCallScreen__answer_without_video"
android:textColor="@color/core_white"
android:visibility="gone"
app:layout_constraintBottom_toTopOf="@id/call_screen_answer_call"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:srcCompat="@drawable/webrtc_call_screen_answer_without_video"
tools:visibility="gone" />
<LinearLayout

View File

@@ -15,7 +15,7 @@
android:layout_marginTop="8dp"
android:drawablePadding="4dp"
android:gravity="center"
android:textAppearance="@style/TextAppearance.Signal.Body2"
android:textAppearance="@style/Signal.Text.BodyMedium"
android:textColor="@color/core_white"
android:visibility="gone"
app:drawableStartCompat="@drawable/ic_signal_logo_small"
@@ -49,7 +49,7 @@
android:ellipsize="end"
android:gravity="center_horizontal"
android:maxLines="2"
android:textAppearance="@style/TextAppearance.Signal.Body1.Bold"
android:textAppearance="@style/Signal.Text.HeadlineMedium"
android:textColor="@color/core_white"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
@@ -62,7 +62,7 @@
android:layout_height="wrap_content"
android:layout_marginTop="8dp"
android:gravity="center_horizontal"
android:textAppearance="@style/TextAppearance.Signal.Body2"
android:textAppearance="@style/Signal.Text.BodyMedium"
android:textColor="@color/core_white"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"

View File

@@ -5777,5 +5777,17 @@
<!-- Activity title in title bar -->
<string name="NewCallActivity__new_call">New call</string>
<!-- Call state update popups -->
<!-- Displayed when the user enables group call ringing -->
<string name="CallStateUpdatePopupWindow__ringing_on">Ringing on</string>
<!-- Displayed when the user disables group call ringing -->
<string name="CallStateUpdatePopupWindow__ringing_off">Ringing off</string>
<!-- Displayed when the user cannot enable group call ringing -->
<string name="CallStateUpdatePopupWindow__group_is_too_large">Group is too large to ring the participants</string>
<!-- Displayed when the user turns on their mic -->
<string name="CallStateUpdatePopupWindow__mic_on">Mic on</string>
<!-- Displayed when the user turns off their mic -->
<string name="CallStateUpdatePopupWindow__mic_off">Mic off</string>
<!-- EOF -->
</resources>