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