diff --git a/vector/src/main/java/im/vector/riotx/features/call/CallControlsView.kt b/vector/src/main/java/im/vector/riotx/features/call/CallControlsView.kt
index 6bd28ae971..e3b9f12f67 100644
--- a/vector/src/main/java/im/vector/riotx/features/call/CallControlsView.kt
+++ b/vector/src/main/java/im/vector/riotx/features/call/CallControlsView.kt
@@ -39,8 +39,10 @@ class CallControlsView @JvmOverloads constructor(
@BindView(R.id.ringingControls)
lateinit var ringingControls: ViewGroup
+
@BindView(R.id.iv_icr_accept_call)
lateinit var ringingControlAccept: ImageView
+
@BindView(R.id.iv_icr_end_call)
lateinit var ringingControlDecline: ImageView
@@ -96,8 +98,20 @@ class CallControlsView @JvmOverloads constructor(
fun updateForState(state: VectorCallViewState) {
val callState = state.callState.invoke()
- muteIcon.setImageResource(if (state.isAudioMuted) R.drawable.ic_microphone_off else R.drawable.ic_microphone_on)
- videoToggleIcon.setImageResource(if (state.isVideoEnabled) R.drawable.ic_video else R.drawable.ic_video_off)
+ if (state.isAudioMuted) {
+ muteIcon.setImageResource(R.drawable.ic_microphone_off)
+ muteIcon.contentDescription = resources.getString(R.string.a11y_unmute_microphone)
+ } else {
+ muteIcon.setImageResource(R.drawable.ic_microphone_on)
+ muteIcon.contentDescription = resources.getString(R.string.a11y_mute_microphone)
+ }
+ if (state.isVideoEnabled) {
+ videoToggleIcon.setImageResource(R.drawable.ic_video)
+ videoToggleIcon.contentDescription = resources.getString(R.string.a11y_stop_camera)
+ } else {
+ videoToggleIcon.setImageResource(R.drawable.ic_video_off)
+ videoToggleIcon.contentDescription = resources.getString(R.string.a11y_start_camera)
+ }
when (callState) {
is CallState.Idle,
diff --git a/vector/src/main/res/layout/activity_call.xml b/vector/src/main/res/layout/activity_call.xml
index ee1bafe0cd..39d0bef790 100644
--- a/vector/src/main/res/layout/activity_call.xml
+++ b/vector/src/main/res/layout/activity_call.xml
@@ -53,6 +53,7 @@
android:layout_width="128dp"
android:layout_height="128dp"
android:layout_centerVertical="true"
+ android:contentDescription="@string/avatar"
android:scaleType="centerCrop"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
diff --git a/vector/src/main/res/layout/view_call_controls.xml b/vector/src/main/res/layout/view_call_controls.xml
index 11622a1397..94757c2c72 100644
--- a/vector/src/main/res/layout/view_call_controls.xml
+++ b/vector/src/main/res/layout/view_call_controls.xml
@@ -13,13 +13,13 @@
tools:background="@color/password_strength_bar_ok"
tools:visibility="visible">
-
@@ -90,6 +93,7 @@
android:layout_height="64dp"
android:background="@drawable/oval_destructive"
android:clickable="true"
+ android:contentDescription="@string/call_notification_hangup"
android:focusable="true"
android:padding="16dp"
android:src="@drawable/ic_call_end"
@@ -107,6 +111,7 @@
android:src="@drawable/ic_call_videocam_off_default"
android:tint="?attr/riotx_text_primary"
app:backgroundTint="?attr/riotx_background"
+ tools:contentDescription="@string/a11y_stop_camera"
tools:ignore="MissingConstraints" />
Enter the URL of an identity server
Submit
Set role
+ Open chat
+ Mute the microphone
+ Unmute the microphone
+ Stop the camera
+ Start the camera