diff --git a/app/src/main/res/layout-land/call_actions_bottom_sheet.xml b/app/src/main/res/layout-land/call_actions_bottom_sheet.xml
index bb0d85459..2383fc4ef 100644
--- a/app/src/main/res/layout-land/call_actions_bottom_sheet.xml
+++ b/app/src/main/res/layout-land/call_actions_bottom_sheet.xml
@@ -46,6 +46,7 @@
android:background="@drawable/in_call_button_background_red"
android:padding="@dimen/call_button_icon_padding"
android:src="@drawable/phone_transfer"
+ android:contentDescription="@{callsViewModel.callsCount == 1 ? @string/call_action_blind_transfer : @string/call_action_attended_transfer}"
app:layout_constraintDimensionRatio="1:1"
app:layout_constraintEnd_toEndOf="@id/transfer_label"
app:layout_constraintStart_toStartOf="@id/transfer_label"
@@ -61,6 +62,7 @@
android:background="@drawable/in_call_button_background_red"
android:padding="@dimen/call_button_icon_padding"
android:src="@drawable/phone_plus"
+ android:contentDescription="@string/call_action_start_new_call"
app:layout_constraintDimensionRatio="1:1"
app:layout_constraintEnd_toEndOf="@id/new_call_label"
app:layout_constraintStart_toStartOf="@id/new_call_label"
@@ -76,6 +78,7 @@
android:background="@drawable/in_call_button_background_red"
android:padding="@dimen/call_button_icon_padding"
android:src="@drawable/phone_list"
+ android:contentDescription="@string/call_action_go_to_calls_list"
app:layout_constraintDimensionRatio="1:1"
app:layout_constraintEnd_toEndOf="@id/calls_list_label"
app:layout_constraintStart_toStartOf="@id/calls_list_label"
@@ -110,6 +113,7 @@
android:background="@drawable/in_call_button_background_red"
android:padding="@dimen/call_button_icon_padding"
android:src="@drawable/numpad"
+ android:contentDescription="@string/call_action_show_dialer"
app:layout_constraintDimensionRatio="1:1"
app:layout_constraintEnd_toEndOf="@id/numpad_label"
app:layout_constraintStart_toStartOf="@id/numpad_label"
@@ -125,6 +129,7 @@
android:background="@drawable/in_call_button_background_red"
android:padding="@dimen/call_button_icon_padding"
android:src="@drawable/chat_teardrop_text"
+ android:contentDescription="@string/call_action_show_messages"
android:enabled="@{!viewModel.operationInProgress}"
app:layout_constraintDimensionRatio="1:1"
app:layout_constraintEnd_toEndOf="@id/chat_label"
@@ -155,6 +160,7 @@
android:layout_marginTop="@dimen/call_extra_button_top_margin"
android:background="@drawable/in_call_button_background_green"
android:padding="@dimen/call_button_icon_padding"
+ android:contentDescription="@{viewModel.isPaused ? @string/call_action_resume_call : @string/call_action_pause_call}"
android:src="@{viewModel.isPaused ? @drawable/play : @drawable/pause, default=@drawable/pause}"
app:layout_constraintDimensionRatio="1:1"
app:layout_constraintEnd_toEndOf="@id/pause_call_label"
@@ -172,6 +178,7 @@
android:background="@drawable/in_call_button_background_red"
android:padding="@dimen/call_button_icon_padding"
android:src="@drawable/record_fill"
+ android:contentDescription="@string/call_action_record_call"
android:selected="@{viewModel.isRecording()}"
app:layout_constraintDimensionRatio="1:1"
app:layout_constraintEnd_toEndOf="@id/record_call_label"
diff --git a/app/src/main/res/layout-land/call_conference_actions_bottom_sheet.xml b/app/src/main/res/layout-land/call_conference_actions_bottom_sheet.xml
index e781ec979..ca18fb65e 100644
--- a/app/src/main/res/layout-land/call_conference_actions_bottom_sheet.xml
+++ b/app/src/main/res/layout-land/call_conference_actions_bottom_sheet.xml
@@ -44,6 +44,7 @@
android:layout_marginTop="@dimen/call_extra_button_top_margin"
android:padding="@dimen/call_button_icon_padding"
android:src="@drawable/monitor_arrow_up"
+ android:contentDescription="@string/conference_action_screen_sharing"
android:background="@drawable/shape_round_in_call_disabled_button_background"
app:tint="?attr/color_grey_500"
app:layout_constraintDimensionRatio="1:1"
@@ -60,6 +61,7 @@
android:padding="@dimen/call_button_icon_padding"
android:background="@drawable/in_call_button_background_red"
android:src="@drawable/users"
+ android:contentDescription="@string/conference_action_show_participants"
app:tint="@color/in_call_button_tint_color"
app:layout_constraintDimensionRatio="1:1"
app:layout_constraintStart_toStartOf="@id/participants_label"
@@ -75,6 +77,7 @@
android:padding="@dimen/call_button_icon_padding"
android:background="@drawable/in_call_button_background_red"
android:src="@drawable/phone_list"
+ android:contentDescription="@string/call_action_go_to_calls_list"
app:tint="@color/in_call_button_tint_color"
app:layout_constraintDimensionRatio="1:1"
app:layout_constraintStart_toStartOf="@id/calls_list_label"
@@ -108,6 +111,7 @@
android:padding="@dimen/call_button_icon_padding"
android:background="@drawable/in_call_button_background_red"
android:src="@drawable/notebook"
+ android:contentDescription="@string/call_action_change_layout"
app:tint="@color/in_call_button_tint_color"
app:layout_constraintDimensionRatio="1:1"
app:layout_constraintStart_toStartOf="@id/layout_label"
@@ -121,6 +125,7 @@
android:layout_marginTop="@dimen/call_extra_button_top_margin"
android:padding="@dimen/call_button_icon_padding"
android:src="@drawable/chat_teardrop_text"
+ android:contentDescription="@string/call_action_show_messages"
android:background="@drawable/shape_round_in_call_disabled_button_background"
app:tint="?attr/color_grey_500"
app:layout_constraintDimensionRatio="1:1"
@@ -137,6 +142,7 @@
android:layout_height="@dimen/call_button_size"
android:layout_marginTop="@dimen/call_extra_button_top_margin"
android:padding="@dimen/call_button_icon_padding"
+ android:contentDescription="@{viewModel.isPaused ? @string/call_action_resume_call : @string/call_action_pause_call}"
android:src="@{viewModel.isPaused ? @drawable/play : @drawable/pause, default=@drawable/pause}"
android:background="@drawable/in_call_button_background_green"
app:tint="@color/in_call_button_tint_color"
@@ -153,6 +159,7 @@
android:padding="@dimen/call_button_icon_padding"
android:enabled="@{viewModel.isRecordingEnabled}"
android:src="@drawable/record_fill"
+ android:contentDescription="@string/call_action_record_call"
android:selected="@{viewModel.isRecording()}"
android:background="@drawable/in_call_button_background_red"
app:tint="@color/in_call_button_tint_color"
diff --git a/app/src/main/res/layout-land/call_conference_active_speaker_fragment.xml b/app/src/main/res/layout-land/call_conference_active_speaker_fragment.xml
index 63f65dc8a..154fe0cef 100644
--- a/app/src/main/res/layout-land/call_conference_active_speaker_fragment.xml
+++ b/app/src/main/res/layout-land/call_conference_active_speaker_fragment.xml
@@ -138,6 +138,7 @@
android:layout_marginEnd="18dp"
android:padding="2dp"
android:src="@drawable/microphone_slash"
+ android:contentDescription="@string/content_description_conference_participant_muted"
android:background="@drawable/shape_circle_white_call_background"
android:visibility="@{conferenceViewModel.activeSpeaker.isMuted ? View.VISIBLE : View.GONE}"
app:layout_constraintTop_toTopOf="parent"
diff --git a/app/src/main/res/layout-land/chat_list_fragment.xml b/app/src/main/res/layout-land/chat_list_fragment.xml
index 7c6b6133b..473448840 100644
--- a/app/src/main/res/layout-land/chat_list_fragment.xml
+++ b/app/src/main/res/layout-land/chat_list_fragment.xml
@@ -62,6 +62,7 @@
android:layout_width="0dp"
android:layout_height="0dp"
android:src="?attr/color_main2_000"
+ android:contentDescription="@null"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toEndOf="@id/bottom_nav_bar"
@@ -71,8 +72,9 @@
android:id="@+id/no_conversation_image"
android:layout_width="0dp"
android:layout_height="wrap_content"
- android:src="@drawable/illu"
android:layout_margin="10dp"
+ android:src="@drawable/illu"
+ android:contentDescription="@null"
app:layout_constraintHeight_max="200dp"
app:layout_constraintBottom_toTopOf="@id/no_conversation_label"
app:layout_constraintDimensionRatio="1:1"
@@ -118,6 +120,7 @@
android:layout_gravity="end|bottom"
android:layout_margin="16dp"
android:src="@drawable/chat_teardrop_plus"
+ android:contentDescription="@string/content_description_chat_create"
app:tint="?attr/color_on_main"
app:backgroundTint="?attr/color_main1_500"
app:shapeAppearanceOverlay="@style/rounded"
diff --git a/app/src/main/res/layout-land/contact_new_or_edit_fragment.xml b/app/src/main/res/layout-land/contact_new_or_edit_fragment.xml
index 843343856..d98c8846c 100644
--- a/app/src/main/res/layout-land/contact_new_or_edit_fragment.xml
+++ b/app/src/main/res/layout-land/contact_new_or_edit_fragment.xml
@@ -73,6 +73,7 @@
android:layout_width="@dimen/avatar_big_size"
android:layout_height="@dimen/avatar_big_size"
android:layout_marginTop="8dp"
+ android:contentDescription="@null"
coil="@{viewModel.picturePath}"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
@@ -84,6 +85,7 @@
android:layout_height="0dp"
android:padding="10dp"
android:src="@drawable/smiley"
+ android:contentDescription="@null"
android:visibility="@{viewModel.picturePath.empty ? View.VISIBLE : View.GONE}"
app:tint="@color/gray_main2_600"
app:layout_constraintEnd_toEndOf="@id/avatar"
@@ -363,6 +365,7 @@
android:layout_gravity="end|bottom"
android:layout_margin="16dp"
android:src="@drawable/check"
+ android:contentDescription="@string/content_description_save_changes"
app:tint="?attr/color_on_main"
app:backgroundTint="?attr/color_main1_500"
app:shapeAppearanceOverlay="@style/rounded"
diff --git a/app/src/main/res/layout-land/contacts_list_fragment.xml b/app/src/main/res/layout-land/contacts_list_fragment.xml
index bb32f3cf9..2c5fd4fde 100644
--- a/app/src/main/res/layout-land/contacts_list_fragment.xml
+++ b/app/src/main/res/layout-land/contacts_list_fragment.xml
@@ -64,6 +64,7 @@
android:layout_height="0dp"
android:layout_marginEnd="9dp"
android:src="@drawable/funnel"
+ android:contentDescription="@string/content_description_contacts_list_filters"
android:visibility="@{viewModel.searchBarVisible ? View.GONE : View.VISIBLE}"
app:tint="?attr/color_on_main"
app:layout_constraintEnd_toEndOf="parent"
@@ -126,8 +127,9 @@
android:id="@+id/no_contacts_image"
android:layout_width="0dp"
android:layout_height="wrap_content"
- android:src="@drawable/illu"
android:layout_margin="10dp"
+ android:src="@drawable/illu"
+ android:contentDescription="@null"
app:layout_constraintHeight_max="200dp"
app:layout_constraintBottom_toTopOf="@id/no_contacts_label"
app:layout_constraintDimensionRatio="1:1"
@@ -166,6 +168,7 @@
android:layout_gravity="end|bottom"
android:layout_margin="16dp"
android:src="@drawable/user_plus"
+ android:contentDescription="@string/content_description_contact_create"
app:tint="?attr/color_on_main"
app:backgroundTint="?attr/color_main1_500"
app:shapeAppearanceOverlay="@style/rounded"
diff --git a/app/src/main/res/layout-land/dialog_confirm_zrtp_sas.xml b/app/src/main/res/layout-land/dialog_confirm_zrtp_sas.xml
index 4e4007846..fe9a51b6c 100644
--- a/app/src/main/res/layout-land/dialog_confirm_zrtp_sas.xml
+++ b/app/src/main/res/layout-land/dialog_confirm_zrtp_sas.xml
@@ -24,6 +24,7 @@
android:layout_marginEnd="12dp"
android:layout_marginBottom="2dp"
android:src="@drawable/shape_dialog_background"
+ android:contentDescription="@null"
app:layout_constraintBottom_toBottomOf="@id/anchor"
app:layout_constraintWidth_max="@dimen/dialog_max_width"
app:layout_constraintEnd_toEndOf="parent"
diff --git a/app/src/main/res/layout-land/history_list_fragment.xml b/app/src/main/res/layout-land/history_list_fragment.xml
index c7858ad57..7e32877a7 100644
--- a/app/src/main/res/layout-land/history_list_fragment.xml
+++ b/app/src/main/res/layout-land/history_list_fragment.xml
@@ -70,6 +70,7 @@
android:layout_height="0dp"
android:layout_marginEnd="9dp"
android:src="@drawable/dots_three_vertical"
+ android:contentDescription="@string/content_description_show_popup_menu"
android:visibility="@{viewModel.searchBarVisible ? View.GONE : View.VISIBLE}"
app:tint="?attr/color_on_main"
app:layout_constraintEnd_toEndOf="parent"
@@ -81,6 +82,7 @@
android:layout_width="0dp"
android:layout_height="0dp"
android:src="?attr/color_main2_000"
+ android:contentDescription="@null"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toEndOf="@id/bottom_nav_bar"
@@ -90,8 +92,9 @@
android:id="@+id/no_calls_image"
android:layout_width="0dp"
android:layout_height="wrap_content"
- android:src="@drawable/illu"
android:layout_margin="10dp"
+ android:src="@drawable/illu"
+ android:contentDescription="@null"
app:layout_constraintHeight_max="200dp"
app:layout_constraintBottom_toTopOf="@id/no_calls_label"
app:layout_constraintDimensionRatio="1:1"
@@ -137,6 +140,7 @@
android:layout_gravity="end|bottom"
android:layout_margin="16dp"
android:src="@drawable/phone_plus"
+ android:contentDescription="@string/content_description_call_start"
app:tint="?attr/color_on_main"
app:backgroundTint="?attr/color_main1_500"
app:shapeAppearanceOverlay="@style/rounded"
diff --git a/app/src/main/res/layout-land/meeting_waiting_room_fragment.xml b/app/src/main/res/layout-land/meeting_waiting_room_fragment.xml
index 26b1540f1..a8aa019f5 100644
--- a/app/src/main/res/layout-land/meeting_waiting_room_fragment.xml
+++ b/app/src/main/res/layout-land/meeting_waiting_room_fragment.xml
@@ -123,6 +123,7 @@
android:layout_marginTop="10dp"
android:visibility="@{viewModel.isVideoAvailable && viewModel.isVideoEnabled && viewModel.isSwitchCameraAvailable ? View.VISIBLE : View.GONE}"
android:src="@drawable/camera_rotate"
+ android:contentDescription="@string/content_description_change_camera"
app:tint="@color/white"
app:layout_constraintTop_toTopOf="@id/video_preview"
app:layout_constraintEnd_toEndOf="@id/video_preview" />
@@ -139,6 +140,7 @@
android:visibility="@{viewModel.hideVideo ? View.GONE : View.VISIBLE}"
android:src="@{viewModel.isVideoEnabled ? @drawable/video_camera : @drawable/video_camera_slash, default=@drawable/video_camera}"
android:background="@drawable/in_call_button_background_red"
+ android:contentDescription="@string/content_description_toggle_video"
app:tint="@color/in_call_button_tint_color"
app:layout_constraintHorizontal_chainStyle="packed"
app:layout_constraintBottom_toBottomOf="@id/join"
@@ -155,6 +157,7 @@
android:padding="@dimen/call_button_icon_padding"
android:src="@{viewModel.isMicrophoneMuted ? @drawable/microphone_slash : @drawable/microphone, default=@drawable/microphone}"
android:background="@drawable/in_call_button_background_red"
+ android:contentDescription="@string/content_description_toggle_microphone"
app:tint="@color/in_call_button_tint_color"
app:layout_constraintBottom_toBottomOf="@id/join"
app:layout_constraintStart_toEndOf="@id/toggle_video"
@@ -169,6 +172,7 @@
android:padding="@dimen/call_button_icon_padding"
android:src="@{viewModel.isHeadsetEnabled ? @drawable/headset : viewModel.isBluetoothEnabled ? @drawable/bluetooth : viewModel.isSpeakerEnabled ? @drawable/speaker_high : @drawable/speaker_slash, default=@drawable/speaker_slash}"
android:background="@drawable/in_call_button_background_red"
+ android:contentDescription="@string/content_description_change_output_audio_device"
app:tint="@color/in_call_button_tint_color"
app:layout_constraintBottom_toBottomOf="@id/join"
app:layout_constraintStart_toEndOf="@id/toggle_mute_mic"
diff --git a/app/src/main/res/layout-land/meetings_list_fragment.xml b/app/src/main/res/layout-land/meetings_list_fragment.xml
index 91906dbf3..22eb85f6b 100644
--- a/app/src/main/res/layout-land/meetings_list_fragment.xml
+++ b/app/src/main/res/layout-land/meetings_list_fragment.xml
@@ -67,6 +67,7 @@
android:layout_height="0dp"
android:layout_marginEnd="9dp"
android:src="@drawable/calendar"
+ android:contentDescription="@string/content_description_meeting_today"
android:visibility="@{viewModel.searchBarVisible ? View.GONE : View.VISIBLE}"
app:tint="?attr/color_on_main"
app:layout_constraintEnd_toEndOf="parent"
@@ -78,6 +79,7 @@
android:layout_width="0dp"
android:layout_height="0dp"
android:src="?attr/color_main2_000"
+ android:contentDescription="@null"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toEndOf="@id/bottom_nav_bar"
@@ -87,8 +89,9 @@
android:id="@+id/no_meeting_image"
android:layout_width="0dp"
android:layout_height="wrap_content"
- android:src="@drawable/illu"
android:layout_margin="10dp"
+ android:src="@drawable/illu"
+ android:contentDescription="@null"
app:layout_constraintHeight_max="200dp"
app:layout_constraintBottom_toTopOf="@id/no_meeting_label"
app:layout_constraintDimensionRatio="1:1"
@@ -134,6 +137,7 @@
android:layout_gravity="end|bottom"
android:layout_margin="16dp"
android:src="@drawable/video_conference_plus"
+ android:contentDescription="@string/content_description_schedule_meeting"
app:tint="?attr/color_on_main"
app:backgroundTint="?attr/color_main1_500"
app:shapeAppearanceOverlay="@style/rounded"
diff --git a/app/src/main/res/layout-land/welcome_page_1.xml b/app/src/main/res/layout-land/welcome_page_1.xml
index e85c8ce10..357f06474 100644
--- a/app/src/main/res/layout-land/welcome_page_1.xml
+++ b/app/src/main/res/layout-land/welcome_page_1.xml
@@ -14,6 +14,7 @@
android:layout_width="match_parent"
android:layout_height="0dp"
android:src="@drawable/mountains"
+ android:contentDescription="@null"
android:adjustViewBounds="true"
android:scaleType="centerCrop"
app:layout_constraintStart_toStartOf="parent"
@@ -52,6 +53,7 @@
android:layout_height="@dimen/welcome_icon_size"
android:layout_marginStart="32dp"
android:src="@drawable/welcome_linphone_logo"
+ android:contentDescription="@null"
app:layout_constraintDimensionRatio="1:1"
app:layout_constraintTop_toBottomOf="@id/title_second_line"
app:layout_constraintBottom_toBottomOf="parent"
diff --git a/app/src/main/res/layout-land/welcome_page_2.xml b/app/src/main/res/layout-land/welcome_page_2.xml
index 584d22909..2a0a8a0dc 100644
--- a/app/src/main/res/layout-land/welcome_page_2.xml
+++ b/app/src/main/res/layout-land/welcome_page_2.xml
@@ -14,6 +14,7 @@
android:layout_width="match_parent"
android:layout_height="0dp"
android:src="@drawable/mountains"
+ android:contentDescription="@null"
android:adjustViewBounds="true"
android:scaleType="centerCrop"
app:layout_constraintStart_toStartOf="parent"
@@ -52,6 +53,7 @@
android:layout_height="@dimen/welcome_icon_size"
android:layout_marginStart="32dp"
android:src="@drawable/welcome_secured_logo"
+ android:contentDescription="@null"
app:layout_constraintDimensionRatio="1:1"
app:layout_constraintTop_toBottomOf="@id/title_second_line"
app:layout_constraintBottom_toBottomOf="parent"
diff --git a/app/src/main/res/layout-land/welcome_page_3.xml b/app/src/main/res/layout-land/welcome_page_3.xml
index dbdf84b39..d56187935 100644
--- a/app/src/main/res/layout-land/welcome_page_3.xml
+++ b/app/src/main/res/layout-land/welcome_page_3.xml
@@ -14,6 +14,7 @@
android:layout_width="match_parent"
android:layout_height="0dp"
android:src="@drawable/mountains"
+ android:contentDescription="@null"
android:adjustViewBounds="true"
android:scaleType="centerCrop"
app:layout_constraintStart_toStartOf="parent"
@@ -52,6 +53,7 @@
android:layout_height="@dimen/welcome_icon_size"
android:layout_marginStart="32dp"
android:src="@drawable/welcome_open_source_logo"
+ android:contentDescription="@null"
app:layout_constraintDimensionRatio="1:1"
app:layout_constraintTop_toBottomOf="@id/title_second_line"
app:layout_constraintBottom_toBottomOf="parent"
diff --git a/app/src/main/res/layout/account_profile_fragment.xml b/app/src/main/res/layout/account_profile_fragment.xml
index c26fc120d..b3c665909 100644
--- a/app/src/main/res/layout/account_profile_fragment.xml
+++ b/app/src/main/res/layout/account_profile_fragment.xml
@@ -277,6 +277,7 @@
android:layout_height="wrap_content"
android:layout_marginStart="8dp"
android:src="@drawable/info"
+ android:contentDescription="@string/content_description_click_for_more_info"
app:tint="@color/black"
app:layout_constraintTop_toTopOf="@id/prefix_label"
app:layout_constraintBottom_toBottomOf="@id/prefix_label"
diff --git a/app/src/main/res/layout/account_profile_secure_mode_fragment.xml b/app/src/main/res/layout/account_profile_secure_mode_fragment.xml
index bc6b39203..a85abc888 100644
--- a/app/src/main/res/layout/account_profile_secure_mode_fragment.xml
+++ b/app/src/main/res/layout/account_profile_secure_mode_fragment.xml
@@ -102,6 +102,7 @@
android:layout_height="wrap_content"
android:layout_marginStart="8dp"
android:src="@drawable/info"
+ android:contentDescription="@string/content_description_click_for_more_info"
app:tint="?attr/color_main2_900"
app:layout_constraintTop_toTopOf="@id/default_mode"
app:layout_constraintBottom_toBottomOf="@id/default_mode"
@@ -163,6 +164,7 @@
android:layout_height="wrap_content"
android:layout_marginStart="8dp"
android:src="@drawable/info"
+ android:contentDescription="@string/content_description_click_for_more_info"
app:tint="?attr/color_main2_900"
app:layout_constraintTop_toTopOf="@id/interop_mode"
app:layout_constraintBottom_toBottomOf="@id/interop_mode"
diff --git a/app/src/main/res/layout/address_selected_list_cell.xml b/app/src/main/res/layout/address_selected_list_cell.xml
index 3c81d5dfb..c5a0dbdbc 100644
--- a/app/src/main/res/layout/address_selected_list_cell.xml
+++ b/app/src/main/res/layout/address_selected_list_cell.xml
@@ -35,6 +35,7 @@
android:src="@drawable/x"
android:padding="5dp"
android:background="@drawable/shape_circle_gray_100_background"
+ android:contentDescription="@string/content_description_click_to_remove_participant"
app:tint="?attr/color_main2_500"
app:layout_constraintTop_toTopOf="@id/avatar"
app:layout_constraintEnd_toEndOf="parent"/>
diff --git a/app/src/main/res/layout/assistant_landing_fragment.xml b/app/src/main/res/layout/assistant_landing_fragment.xml
index 6647c4499..d43fd73dc 100644
--- a/app/src/main/res/layout/assistant_landing_fragment.xml
+++ b/app/src/main/res/layout/assistant_landing_fragment.xml
@@ -145,6 +145,7 @@
android:layout_height="0dp"
android:padding="4dp"
android:layout_marginEnd="20dp"
+ android:contentDescription="@string/content_description_toggle_password_visibility"
android:src="@{viewModel.showPassword ? @drawable/eye_slash : @drawable/eye, default=@drawable/eye}"
app:tint="?attr/color_main2_500"
app:layout_constraintEnd_toEndOf="@id/password"
diff --git a/app/src/main/res/layout/assistant_login_fragment.xml b/app/src/main/res/layout/assistant_login_fragment.xml
index 6074526b9..cda623a3b 100644
--- a/app/src/main/res/layout/assistant_login_fragment.xml
+++ b/app/src/main/res/layout/assistant_login_fragment.xml
@@ -135,6 +135,7 @@
android:layout_height="0dp"
android:padding="4dp"
android:layout_marginEnd="20dp"
+ android:contentDescription="@string/content_description_toggle_password_visibility"
android:src="@{viewModel.showPassword ? @drawable/eye_slash : @drawable/eye, default=@drawable/eye}"
app:tint="?attr/color_main2_500"
app:layout_constraintEnd_toEndOf="@id/password"
diff --git a/app/src/main/res/layout/assistant_register_fragment.xml b/app/src/main/res/layout/assistant_register_fragment.xml
index 263adb80e..2089681e8 100644
--- a/app/src/main/res/layout/assistant_register_fragment.xml
+++ b/app/src/main/res/layout/assistant_register_fragment.xml
@@ -260,6 +260,7 @@
android:layout_height="0dp"
android:padding="4dp"
android:layout_marginEnd="20dp"
+ android:contentDescription="@string/content_description_toggle_password_visibility"
android:src="@{viewModel.showPassword ? @drawable/eye_slash : @drawable/eye, default=@drawable/eye}"
app:tint="?attr/color_main2_500"
app:layout_constraintEnd_toEndOf="@id/password"
diff --git a/app/src/main/res/layout/assistant_secure_mode_fragment.xml b/app/src/main/res/layout/assistant_secure_mode_fragment.xml
index 4a50cdf08..d68ad4dc2 100644
--- a/app/src/main/res/layout/assistant_secure_mode_fragment.xml
+++ b/app/src/main/res/layout/assistant_secure_mode_fragment.xml
@@ -109,6 +109,7 @@
android:layout_height="wrap_content"
android:layout_marginStart="8dp"
android:src="@drawable/info"
+ android:contentDescription="@string/content_description_click_for_more_info"
app:tint="?attr/color_main2_900"
app:layout_constraintTop_toTopOf="@id/default_mode"
app:layout_constraintBottom_toBottomOf="@id/default_mode"
@@ -161,6 +162,7 @@
android:layout_height="wrap_content"
android:layout_marginStart="8dp"
android:src="@drawable/info"
+ android:contentDescription="@string/content_description_click_for_more_info"
app:tint="?attr/color_main2_900"
app:layout_constraintTop_toTopOf="@id/interop_mode"
app:layout_constraintBottom_toBottomOf="@id/interop_mode"
diff --git a/app/src/main/res/layout/assistant_third_party_sip_account_login_fragment.xml b/app/src/main/res/layout/assistant_third_party_sip_account_login_fragment.xml
index 5b73ae680..b67c6210f 100644
--- a/app/src/main/res/layout/assistant_third_party_sip_account_login_fragment.xml
+++ b/app/src/main/res/layout/assistant_third_party_sip_account_login_fragment.xml
@@ -133,6 +133,7 @@
android:layout_height="0dp"
android:layout_marginEnd="20dp"
android:padding="4dp"
+ android:contentDescription="@string/content_description_toggle_password_visibility"
android:src="@{viewModel.showPassword ? @drawable/eye_slash : @drawable/eye, default=@drawable/eye}"
app:tint="?attr/color_main2_500"
app:layout_constraintEnd_toEndOf="@id/password"
diff --git a/app/src/main/res/layout/assistant_third_party_sip_account_warning_fragment.xml b/app/src/main/res/layout/assistant_third_party_sip_account_warning_fragment.xml
index fb3a85fd2..7279bb41f 100644
--- a/app/src/main/res/layout/assistant_third_party_sip_account_warning_fragment.xml
+++ b/app/src/main/res/layout/assistant_third_party_sip_account_warning_fragment.xml
@@ -62,6 +62,7 @@
android:background="@drawable/circle_light_blue_button_background"
android:padding="16dp"
android:src="@drawable/chat_teardrop_slash"
+ android:contentDescription="@null"
app:tint="?attr/color_main2_500"
app:layout_constraintHorizontal_chainStyle="packed"
app:layout_constraintStart_toStartOf="parent"
@@ -76,6 +77,7 @@
android:background="@drawable/circle_light_blue_button_background"
android:padding="16dp"
android:src="@drawable/video_camera_slash"
+ android:contentDescription="@null"
app:tint="?attr/color_main2_500"
app:layout_constraintStart_toEndOf="@id/no_chat"
app:layout_constraintEnd_toEndOf="parent"
diff --git a/app/src/main/res/layout/call_actions_bottom_sheet.xml b/app/src/main/res/layout/call_actions_bottom_sheet.xml
index 3f5536784..e974688cf 100644
--- a/app/src/main/res/layout/call_actions_bottom_sheet.xml
+++ b/app/src/main/res/layout/call_actions_bottom_sheet.xml
@@ -46,6 +46,7 @@
android:padding="@dimen/call_button_icon_padding"
android:background="@drawable/in_call_button_background_red"
android:src="@drawable/phone_transfer"
+ android:contentDescription="@{callsViewModel.callsCount == 1 ? @string/call_action_blind_transfer : @string/call_action_attended_transfer}"
app:tint="@color/in_call_button_tint_color"
app:layout_constraintDimensionRatio="1:1"
app:layout_constraintStart_toStartOf="@id/transfer_label"
@@ -61,6 +62,7 @@
android:padding="@dimen/call_button_icon_padding"
android:background="@drawable/in_call_button_background_red"
android:src="@drawable/phone_plus"
+ android:contentDescription="@string/call_action_start_new_call"
app:tint="@color/in_call_button_tint_color"
app:layout_constraintDimensionRatio="1:1"
app:layout_constraintStart_toStartOf="@id/new_call_label"
@@ -76,6 +78,7 @@
android:padding="@dimen/call_button_icon_padding"
android:background="@drawable/in_call_button_background_red"
android:src="@drawable/phone_list"
+ android:contentDescription="@string/call_action_go_to_calls_list"
app:tint="@color/in_call_button_tint_color"
app:layout_constraintDimensionRatio="1:1"
app:layout_constraintStart_toStartOf="@id/calls_list_label"
@@ -110,6 +113,7 @@
android:padding="@dimen/call_button_icon_padding"
android:background="@drawable/in_call_button_background_red"
android:src="@drawable/numpad"
+ android:contentDescription="@string/call_action_show_dialer"
app:tint="@color/in_call_button_tint_color"
app:layout_constraintDimensionRatio="1:1"
app:layout_constraintStart_toStartOf="@id/layout_label"
@@ -124,6 +128,7 @@
android:layout_marginTop="@dimen/call_extra_button_top_margin"
android:padding="@dimen/call_button_icon_padding"
android:src="@drawable/chat_teardrop_text"
+ android:contentDescription="@string/call_action_show_messages"
android:background="@drawable/in_call_button_background_red"
android:enabled="@{!viewModel.operationInProgress}"
app:tint="@color/in_call_button_tint_color"
@@ -155,6 +160,7 @@
android:layout_marginTop="@dimen/call_extra_button_top_margin"
android:padding="@dimen/call_button_icon_padding"
android:background="@drawable/in_call_button_background_green"
+ android:contentDescription="@{viewModel.isPaused ? @string/call_action_resume_call : @string/call_action_pause_call}"
android:src="@{viewModel.isPaused ? @drawable/play : @drawable/pause, default=@drawable/pause}"
app:tint="@color/in_call_button_tint_color"
app:layout_constraintDimensionRatio="1:1"
@@ -172,6 +178,7 @@
android:padding="@dimen/call_button_icon_padding"
android:background="@drawable/in_call_button_background_red"
android:src="@drawable/record_fill"
+ android:contentDescription="@string/call_action_record_call"
android:selected="@{viewModel.isRecording()}"
app:tint="@color/in_call_button_tint_color"
app:layout_constraintDimensionRatio="1:1"
diff --git a/app/src/main/res/layout/call_actions_generic.xml b/app/src/main/res/layout/call_actions_generic.xml
index 6796856dd..f9dcf553d 100644
--- a/app/src/main/res/layout/call_actions_generic.xml
+++ b/app/src/main/res/layout/call_actions_generic.xml
@@ -22,6 +22,7 @@
android:layout_height="wrap_content"
android:padding="11dp"
android:src="@drawable/animated_caret_to_handle"
+ android:contentDescription="@string/content_description_toggle_bottom_sheet"
app:tint="@color/white"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintEnd_toEndOf="parent"
@@ -38,6 +39,7 @@
android:paddingTop="15dp"
android:paddingBottom="15dp"
android:src="@drawable/phone_disconnect"
+ android:contentDescription="@string/content_description_hang_up_call"
android:background="@drawable/squircle_red_button_background"
app:tint="@color/white"
app:layout_constraintBottom_toBottomOf="parent"
@@ -54,6 +56,7 @@
android:visibility="@{viewModel.hideVideo ? View.GONE : View.VISIBLE}"
android:src="@{viewModel.isSendingVideo ? @drawable/video_camera : @drawable/video_camera_slash, default=@drawable/video_camera}"
android:background="@drawable/in_call_button_background_red"
+ android:contentDescription="@string/content_description_toggle_video"
app:tint="@color/in_call_button_tint_color"
app:layout_constraintHorizontal_bias="1"
app:layout_constraintHorizontal_chainStyle="packed"
@@ -71,6 +74,7 @@
android:selected="@{viewModel.isMicrophoneMuted}"
android:src="@{viewModel.isMicrophoneMuted ? @drawable/microphone_slash : @drawable/microphone, default=@drawable/microphone}"
android:background="@drawable/in_call_button_background_red"
+ android:contentDescription="@string/content_description_toggle_microphone"
app:tint="@color/in_call_button_tint_color"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintStart_toEndOf="@id/toggle_video"
@@ -85,6 +89,7 @@
android:padding="@dimen/call_button_icon_padding"
android:src="@{viewModel.isHeadsetEnabled ? @drawable/headset : viewModel.isBluetoothEnabled ? @drawable/bluetooth : viewModel.isSpeakerEnabled ? @drawable/speaker_high : @drawable/speaker_slash, default=@drawable/speaker_slash}"
android:background="@drawable/in_call_button_background_red"
+ android:contentDescription="@string/content_description_change_output_audio_device"
app:tint="@color/in_call_button_tint_color"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintStart_toEndOf="@id/toggle_mute_mic"
diff --git a/app/src/main/res/layout/call_active_conference_fragment.xml b/app/src/main/res/layout/call_active_conference_fragment.xml
index ff03aed83..97df6f1c2 100644
--- a/app/src/main/res/layout/call_active_conference_fragment.xml
+++ b/app/src/main/res/layout/call_active_conference_fragment.xml
@@ -129,6 +129,7 @@
android:layout_marginStart="5dp"
android:layout_marginEnd="5dp"
android:src="@drawable/camera_rotate"
+ android:contentDescription="@string/content_description_change_camera"
android:visibility="@{!viewModel.fullScreenMode && !viewModel.pipMode && viewModel.showSwitchCamera && conferenceViewModel.isMeParticipantSendingVideo ? View.VISIBLE : View.GONE}"
app:tint="@color/white"
app:layout_constraintTop_toTopOf="@id/back"
@@ -141,6 +142,7 @@
android:layout_height="0dp"
android:padding="10dp"
android:src="@drawable/pause"
+ android:contentDescription="@string/content_description_paused_call"
android:visibility="@{!viewModel.fullScreenMode && !viewModel.pipMode && conferenceViewModel.isPaused ? View.VISIBLE : View.GONE, default=gone}"
app:tint="@color/main1_500"
app:layout_constraintTop_toTopOf="@id/back"
@@ -154,6 +156,7 @@
android:layout_height="0dp"
android:padding="10dp"
android:src="@{viewModel.qualityIcon, default=@drawable/cell_signal_full}"
+ android:contentDescription="@string/content_description_show_call_statistics"
android:visibility="@{!viewModel.fullScreenMode && !viewModel.pipMode && !conferenceViewModel.isPaused ? View.VISIBLE : View.GONE}"
android:tint="@{viewModel.qualityValue >= 2 ? @color/white : viewModel.qualityValue >= 1 ? @color/orange_warning_600 : @color/red_danger_500, default=@color/white}"
app:layout_constraintTop_toTopOf="@id/back"
@@ -272,6 +275,7 @@
android:layout_marginTop="10dp"
android:layout_marginStart="10dp"
android:src="@drawable/record_fill"
+ android:contentDescription="@string/content_description_call_is_being_recorded"
android:visibility="@{viewModel.isRecording ? View.VISIBLE : View.GONE, default=gone}"
app:layout_constraintTop_toBottomOf="@id/media_encryption_icon"
app:layout_constraintStart_toStartOf="parent"
diff --git a/app/src/main/res/layout/call_active_fragment.xml b/app/src/main/res/layout/call_active_fragment.xml
index f14b8407f..5970f5571 100644
--- a/app/src/main/res/layout/call_active_fragment.xml
+++ b/app/src/main/res/layout/call_active_fragment.xml
@@ -194,6 +194,7 @@
android:layout_marginStart="5dp"
android:layout_marginEnd="5dp"
android:src="@drawable/camera_rotate"
+ android:contentDescription="@string/content_description_change_camera"
android:visibility="@{!viewModel.fullScreenMode && !viewModel.pipMode && viewModel.isSendingVideo && viewModel.showSwitchCamera ? View.VISIBLE : View.GONE}"
app:tint="@color/white"
app:layout_constraintTop_toTopOf="@id/back"
@@ -206,6 +207,7 @@
android:layout_height="0dp"
android:padding="10dp"
android:src="@drawable/pause"
+ android:contentDescription="@string/content_description_paused_call"
android:visibility="@{!viewModel.fullScreenMode && !viewModel.pipMode && (viewModel.isPaused || viewModel.isPausedByRemote) ? View.VISIBLE : View.GONE, default=gone}"
app:tint="@color/main1_500"
app:layout_constraintTop_toTopOf="@id/back"
@@ -219,6 +221,7 @@
android:layout_height="0dp"
android:padding="10dp"
android:src="@{viewModel.qualityIcon, default=@drawable/cell_signal_full}"
+ android:contentDescription="@string/content_description_show_call_statistics"
android:visibility="@{!viewModel.fullScreenMode && !viewModel.pipMode && !(viewModel.isPaused || viewModel.isPausedByRemote) ? View.VISIBLE : View.GONE}"
android:tint="@{viewModel.qualityValue >= 2 ? @color/white : viewModel.qualityValue >= 1 ? @color/orange_warning_600 : @color/red_danger_500, default=@color/white}"
app:layout_constraintTop_toTopOf="@id/back"
@@ -280,6 +283,7 @@
android:layout_marginTop="10dp"
android:layout_marginStart="10dp"
android:src="@drawable/record_fill"
+ android:contentDescription="@string/content_description_call_is_being_recorded"
android:visibility="@{viewModel.isRecording ? View.VISIBLE : View.GONE, default=gone}"
app:layout_constraintTop_toBottomOf="@id/media_encryption_icon"
app:layout_constraintStart_toStartOf="parent"
diff --git a/app/src/main/res/layout/call_activity_other_calls_top_bar.xml b/app/src/main/res/layout/call_activity_other_calls_top_bar.xml
index a25e07a18..470830395 100644
--- a/app/src/main/res/layout/call_activity_other_calls_top_bar.xml
+++ b/app/src/main/res/layout/call_activity_other_calls_top_bar.xml
@@ -23,6 +23,7 @@
android:layout_marginStart="16dp"
android:layout_marginEnd="10dp"
android:src="@{viewModel.callsTopBarIcon, default=@drawable/phone_pause}"
+ android:contentDescription="@null"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="@id/call_display_name"
app:layout_constraintBottom_toBottomOf="@id/call_display_name"
diff --git a/app/src/main/res/layout/call_conference_actions_bottom_sheet.xml b/app/src/main/res/layout/call_conference_actions_bottom_sheet.xml
index 5dd4217d1..cd8161ffd 100644
--- a/app/src/main/res/layout/call_conference_actions_bottom_sheet.xml
+++ b/app/src/main/res/layout/call_conference_actions_bottom_sheet.xml
@@ -44,6 +44,7 @@
android:layout_marginTop="@dimen/call_extra_button_top_margin"
android:padding="@dimen/call_button_icon_padding"
android:src="@drawable/monitor_arrow_up"
+ android:contentDescription="@string/conference_action_screen_sharing"
android:background="@drawable/shape_round_in_call_disabled_button_background"
app:tint="?attr/color_grey_500"
app:layout_constraintDimensionRatio="1:1"
@@ -60,6 +61,7 @@
android:padding="@dimen/call_button_icon_padding"
android:background="@drawable/in_call_button_background_red"
android:src="@drawable/users"
+ android:contentDescription="@string/conference_action_show_participants"
app:tint="@color/in_call_button_tint_color"
app:layout_constraintDimensionRatio="1:1"
app:layout_constraintStart_toStartOf="@id/participants_label"
@@ -75,6 +77,7 @@
android:padding="@dimen/call_button_icon_padding"
android:background="@drawable/in_call_button_background_red"
android:src="@drawable/phone_list"
+ android:contentDescription="@string/call_action_go_to_calls_list"
app:tint="@color/in_call_button_tint_color"
app:layout_constraintDimensionRatio="1:1"
app:layout_constraintStart_toStartOf="@id/calls_list_label"
@@ -108,6 +111,7 @@
android:padding="@dimen/call_button_icon_padding"
android:background="@drawable/in_call_button_background_red"
android:src="@drawable/notebook"
+ android:contentDescription="@string/call_action_change_layout"
app:tint="@color/in_call_button_tint_color"
app:layout_constraintDimensionRatio="1:1"
app:layout_constraintStart_toStartOf="@id/layout_label"
@@ -121,6 +125,7 @@
android:layout_marginTop="@dimen/call_extra_button_top_margin"
android:padding="@dimen/call_button_icon_padding"
android:src="@drawable/chat_teardrop_text"
+ android:contentDescription="@string/call_action_show_messages"
android:background="@drawable/shape_round_in_call_disabled_button_background"
app:tint="?attr/color_grey_500"
app:layout_constraintDimensionRatio="1:1"
@@ -137,6 +142,7 @@
android:layout_height="@dimen/call_button_size"
android:layout_marginTop="@dimen/call_extra_button_top_margin"
android:padding="@dimen/call_button_icon_padding"
+ android:contentDescription="@{viewModel.isPaused ? @string/call_action_resume_call : @string/call_action_pause_call}"
android:src="@{viewModel.isPaused ? @drawable/play : @drawable/pause, default=@drawable/pause}"
android:background="@drawable/in_call_button_background_green"
app:tint="@color/in_call_button_tint_color"
@@ -153,6 +159,7 @@
android:padding="@dimen/call_button_icon_padding"
android:enabled="@{viewModel.isRecordingEnabled}"
android:src="@drawable/record_fill"
+ android:contentDescription="@string/call_action_record_call"
android:selected="@{viewModel.isRecording()}"
android:background="@drawable/in_call_button_background_red"
app:tint="@color/in_call_button_tint_color"
diff --git a/app/src/main/res/layout/call_conference_active_speaker_cell.xml b/app/src/main/res/layout/call_conference_active_speaker_cell.xml
index 03d7ffd93..e0ad4c6c6 100644
--- a/app/src/main/res/layout/call_conference_active_speaker_cell.xml
+++ b/app/src/main/res/layout/call_conference_active_speaker_cell.xml
@@ -112,6 +112,7 @@
android:layout_marginEnd="10dp"
android:padding="2dp"
android:src="@drawable/microphone_slash"
+ android:contentDescription="@string/content_description_conference_participant_muted"
android:background="@drawable/shape_circle_white_call_background"
android:visibility="@{model.isMuted ? View.VISIBLE : View.GONE}"
app:layout_constraintTop_toTopOf="parent"
@@ -139,6 +140,7 @@
android:layout_width="match_parent"
android:layout_height="match_parent"
android:src="@drawable/shape_squircle_main2_200_call_border"
+ android:contentDescription="@string/content_description_conference_participant_speaking"
android:visibility="@{model.isSpeaking ? View.VISIBLE : View.GONE}" />
diff --git a/app/src/main/res/layout/call_conference_active_speaker_fragment.xml b/app/src/main/res/layout/call_conference_active_speaker_fragment.xml
index 58b976637..aca7dc315 100644
--- a/app/src/main/res/layout/call_conference_active_speaker_fragment.xml
+++ b/app/src/main/res/layout/call_conference_active_speaker_fragment.xml
@@ -137,6 +137,7 @@
android:layout_marginEnd="10dp"
android:padding="2dp"
android:src="@drawable/microphone_slash"
+ android:contentDescription="@string/content_description_conference_participant_muted"
android:background="@drawable/shape_circle_white_call_background"
android:visibility="@{conferenceViewModel.activeSpeaker.isMuted ? View.VISIBLE : View.GONE}"
app:layout_constraintTop_toTopOf="parent"
diff --git a/app/src/main/res/layout/call_conference_audio_only_cell.xml b/app/src/main/res/layout/call_conference_audio_only_cell.xml
index 2903d4f05..f472c3573 100644
--- a/app/src/main/res/layout/call_conference_audio_only_cell.xml
+++ b/app/src/main/res/layout/call_conference_audio_only_cell.xml
@@ -45,6 +45,7 @@
android:layout_marginEnd="10dp"
android:padding="2dp"
android:src="@drawable/microphone_slash"
+ android:contentDescription="@string/content_description_conference_participant_muted"
android:background="@drawable/shape_circle_white_call_background"
android:visibility="@{model.isMuted ? View.VISIBLE : View.GONE}"
app:layout_constraintTop_toTopOf="parent"
@@ -100,6 +101,7 @@
android:layout_width="match_parent"
android:layout_height="match_parent"
android:src="@drawable/shape_squircle_main2_200_call_border"
+ android:contentDescription="@string/content_description_conference_participant_speaking"
android:visibility="@{model.isSpeaking ? View.VISIBLE : View.GONE}" />
diff --git a/app/src/main/res/layout/call_conference_grid_cell.xml b/app/src/main/res/layout/call_conference_grid_cell.xml
index e6cefda11..d0b865a98 100644
--- a/app/src/main/res/layout/call_conference_grid_cell.xml
+++ b/app/src/main/res/layout/call_conference_grid_cell.xml
@@ -112,6 +112,7 @@
android:layout_marginEnd="10dp"
android:padding="2dp"
android:src="@drawable/microphone_slash"
+ android:contentDescription="@string/content_description_conference_participant_muted"
android:background="@drawable/shape_circle_white_call_background"
android:visibility="@{model.isMuted ? View.VISIBLE : View.GONE}"
app:layout_constraintTop_toTopOf="parent"
@@ -139,6 +140,7 @@
android:layout_width="match_parent"
android:layout_height="match_parent"
android:src="@drawable/shape_squircle_main2_200_call_border"
+ android:contentDescription="@string/content_description_conference_participant_speaking"
android:visibility="@{model.isSpeaking ? View.VISIBLE : View.GONE}" />
diff --git a/app/src/main/res/layout/call_conference_participant_list_cell.xml b/app/src/main/res/layout/call_conference_participant_list_cell.xml
index 9662d0e56..cee4bf129 100644
--- a/app/src/main/res/layout/call_conference_participant_list_cell.xml
+++ b/app/src/main/res/layout/call_conference_participant_list_cell.xml
@@ -99,6 +99,7 @@
android:layout_height="@dimen/icon_size"
android:layout_marginStart="10dp"
android:src="@drawable/x"
+ android:contentDescription="@string/content_description_click_to_remove_participant"
android:visibility="@{model.isMeAdmin ? (model.isMyself ? View.INVISIBLE : View.VISIBLE) : View.GONE, default=gone}"
app:layout_constraintStart_toEndOf="@id/admin_toggle"
app:layout_constraintEnd_toEndOf="parent"
diff --git a/app/src/main/res/layout/call_conference_participants_list_fragment.xml b/app/src/main/res/layout/call_conference_participants_list_fragment.xml
index d5f66a476..a6eb9cde2 100644
--- a/app/src/main/res/layout/call_conference_participants_list_fragment.xml
+++ b/app/src/main/res/layout/call_conference_participants_list_fragment.xml
@@ -64,6 +64,7 @@
android:layout_gravity="end|bottom"
android:layout_margin="16dp"
android:src="@drawable/plus_circle"
+ android:contentDescription="@string/content_description_add_participants"
android:visibility="@{viewModel.conferenceModel.isMeAdmin ? View.VISIBLE : View.GONE, default=gone}"
app:tint="?attr/color_on_main"
app:backgroundTint="?attr/color_main1_500"
diff --git a/app/src/main/res/layout/call_ended_actions.xml b/app/src/main/res/layout/call_ended_actions.xml
index b310ab998..0b9b99057 100644
--- a/app/src/main/res/layout/call_ended_actions.xml
+++ b/app/src/main/res/layout/call_ended_actions.xml
@@ -25,6 +25,7 @@
android:paddingTop="15dp"
android:paddingBottom="15dp"
android:src="@drawable/phone_disconnect"
+ android:contentDescription="@null"
android:background="@drawable/shape_squircle_red_disabled_background"
app:tint="@color/gray_400"
app:layout_constraintBottom_toBottomOf="parent"
@@ -38,6 +39,7 @@
android:padding="@dimen/call_button_icon_padding"
android:enabled="false"
android:src="@drawable/video_camera_slash"
+ android:contentDescription="@null"
android:background="@drawable/shape_round_in_call_disabled_button_background"
android:visibility="@{viewModel.hideVideo ? View.GONE : View.VISIBLE}"
app:tint="@color/gray_400"
@@ -54,6 +56,7 @@
android:layout_marginEnd="16dp"
android:padding="@dimen/call_button_icon_padding"
android:src="@drawable/microphone_slash"
+ android:contentDescription="@null"
android:background="@drawable/shape_round_in_call_disabled_button_background"
app:tint="@color/gray_400"
app:layout_constraintBottom_toBottomOf="parent"
@@ -67,6 +70,7 @@
android:layout_marginEnd="16dp"
android:padding="@dimen/call_button_icon_padding"
android:src="@drawable/speaker_slash"
+ android:contentDescription="@null"
android:background="@drawable/shape_round_in_call_disabled_button_background"
app:tint="@color/gray_400"
app:layout_constraintBottom_toBottomOf="parent"
diff --git a/app/src/main/res/layout/call_ended_fragment.xml b/app/src/main/res/layout/call_ended_fragment.xml
index a0efc2b27..e28a2398b 100644
--- a/app/src/main/res/layout/call_ended_fragment.xml
+++ b/app/src/main/res/layout/call_ended_fragment.xml
@@ -22,6 +22,7 @@
android:adjustViewBounds="true"
android:padding="15dp"
android:src="@drawable/caret_left"
+ android:contentDescription="@string/content_description_go_back_icon"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:tint="@color/white" />
diff --git a/app/src/main/res/layout/call_incoming_actions.xml b/app/src/main/res/layout/call_incoming_actions.xml
index 84ec4ac20..5336ec691 100644
--- a/app/src/main/res/layout/call_incoming_actions.xml
+++ b/app/src/main/res/layout/call_incoming_actions.xml
@@ -28,6 +28,7 @@
android:paddingEnd="30dp"
android:paddingBottom="15dp"
android:src="@drawable/phone_disconnect"
+ android:contentDescription="@string/content_description_hang_up_call"
app:layout_constraintHorizontal_chainStyle="packed"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toStartOf="@id/answer_call"
@@ -45,6 +46,7 @@
android:paddingEnd="30dp"
android:paddingBottom="15dp"
android:src="@drawable/phone"
+ android:contentDescription="@string/content_description_answer_call"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toEndOf="@id/hang_up"
diff --git a/app/src/main/res/layout/call_incoming_fragment.xml b/app/src/main/res/layout/call_incoming_fragment.xml
index a9e5d6fad..57f34b80a 100644
--- a/app/src/main/res/layout/call_incoming_fragment.xml
+++ b/app/src/main/res/layout/call_incoming_fragment.xml
@@ -22,6 +22,7 @@
android:layout_marginStart="10dp"
android:adjustViewBounds="true"
android:src="@drawable/incoming_call"
+ android:contentDescription="@null"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="@id/call_direction_label"
app:layout_constraintBottom_toBottomOf="@id/call_direction_label"/>
diff --git a/app/src/main/res/layout/call_list_cell.xml b/app/src/main/res/layout/call_list_cell.xml
index 20a108db5..220703d9f 100644
--- a/app/src/main/res/layout/call_list_cell.xml
+++ b/app/src/main/res/layout/call_list_cell.xml
@@ -55,6 +55,7 @@
android:layout_width="24dp"
android:layout_height="24dp"
android:layout_marginEnd="5dp"
+ android:contentDescription="@null"
android:src="@{model.isPaused ? @drawable/phone_pause : @drawable/phone_call, default=@drawable/phone_pause}"
app:tint="?attr/color_main2_500"
app:layout_constraintEnd_toEndOf="parent"
diff --git a/app/src/main/res/layout/call_numpad_bottom_sheet.xml b/app/src/main/res/layout/call_numpad_bottom_sheet.xml
index 075075288..1e9e3f545 100644
--- a/app/src/main/res/layout/call_numpad_bottom_sheet.xml
+++ b/app/src/main/res/layout/call_numpad_bottom_sheet.xml
@@ -62,6 +62,7 @@
android:layout_marginTop="16dp"
android:layout_marginEnd="30dp"
android:src="@drawable/backspace_fill"
+ android:contentDescription="@string/content_description_erase_last_input"
android:padding="20dp"
android:elevation="3dp"
app:tint="@color/white"
diff --git a/app/src/main/res/layout/call_outgoing_actions.xml b/app/src/main/res/layout/call_outgoing_actions.xml
index 5655d0dc0..4eb0886c3 100644
--- a/app/src/main/res/layout/call_outgoing_actions.xml
+++ b/app/src/main/res/layout/call_outgoing_actions.xml
@@ -26,6 +26,7 @@
android:paddingTop="15dp"
android:paddingBottom="15dp"
android:src="@drawable/phone_disconnect"
+ android:contentDescription="@string/content_description_hang_up_call"
android:background="@drawable/squircle_red_button_background"
app:tint="@color/white"
app:layout_constraintBottom_toBottomOf="parent"
@@ -38,6 +39,7 @@
android:layout_marginEnd="16dp"
android:padding="@dimen/call_button_icon_padding"
android:visibility="@{viewModel.hideVideo ? View.GONE : View.VISIBLE}"
+ android:contentDescription="@null"
android:src="@{viewModel.isVideoEnabled ? @drawable/video_camera : @drawable/video_camera_slash, default=@drawable/video_camera}"
android:background="@drawable/shape_round_in_call_disabled_button_background"
app:tint="@color/gray_400"
@@ -54,6 +56,7 @@
android:layout_height="@dimen/call_button_size"
android:layout_marginEnd="16dp"
android:padding="@dimen/call_button_icon_padding"
+ android:contentDescription="@string/content_description_toggle_microphone"
android:src="@{viewModel.isMicrophoneMuted ? @drawable/microphone_slash : @drawable/microphone, default=@drawable/microphone}"
android:background="@drawable/in_call_button_background_red"
app:tint="@color/in_call_button_tint_color"
@@ -69,6 +72,7 @@
android:layout_marginEnd="16dp"
android:padding="@dimen/call_button_icon_padding"
android:enabled="@{viewModel.isOutgoingRinging}"
+ android:contentDescription="@string/content_description_change_output_audio_device"
android:src="@{viewModel.isHeadsetEnabled ? @drawable/headset : viewModel.isBluetoothEnabled ? @drawable/bluetooth : viewModel.isSpeakerEnabled ? @drawable/speaker_high : @drawable/speaker_slash, default=@drawable/speaker_slash}"
android:background="@drawable/in_call_button_background_red"
app:tint="@color/in_call_button_tint_color"
diff --git a/app/src/main/res/layout/call_outgoing_fragment.xml b/app/src/main/res/layout/call_outgoing_fragment.xml
index b941eb702..97b60de91 100644
--- a/app/src/main/res/layout/call_outgoing_fragment.xml
+++ b/app/src/main/res/layout/call_outgoing_fragment.xml
@@ -22,6 +22,7 @@
android:layout_marginStart="10dp"
android:adjustViewBounds="true"
android:src="@drawable/outgoing_call"
+ android:contentDescription="@null"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="@id/call_direction_label"
app:layout_constraintBottom_toBottomOf="@id/call_direction_label"/>
diff --git a/app/src/main/res/layout/calls_list_fragment.xml b/app/src/main/res/layout/calls_list_fragment.xml
index ac52c4314..a6d01c56a 100644
--- a/app/src/main/res/layout/calls_list_fragment.xml
+++ b/app/src/main/res/layout/calls_list_fragment.xml
@@ -54,6 +54,7 @@
android:padding="15dp"
android:adjustViewBounds="true"
android:src="@drawable/arrows_merge"
+ android:contentDescription="@string/content_description_merge_calls_into_conference"
android:visibility="@{viewModel.callsCount > 1 ? View.VISIBLE : View.GONE}"
app:tint="?attr/color_main1_500"
app:layout_constraintBottom_toBottomOf="@id/title"
diff --git a/app/src/main/res/layout/chat_bubble_content_grid_cell.xml b/app/src/main/res/layout/chat_bubble_content_grid_cell.xml
index 40774a68a..13dd6e837 100644
--- a/app/src/main/res/layout/chat_bubble_content_grid_cell.xml
+++ b/app/src/main/res/layout/chat_bubble_content_grid_cell.xml
@@ -34,6 +34,7 @@
android:layout_height="@dimen/chat_bubble_grid_image_size"
android:adjustViewBounds="true"
android:scaleType="centerCrop"
+ android:contentDescription="@{model.isVideoPreview ? @string/content_description_chat_bubble_video : @string/content_description_chat_bubble_image}"
android:visibility="@{model.isImage || model.isVideoPreview ? View.VISIBLE : View.GONE}"
coilBubbleGrid="@{model.file}"
app:layout_constraintStart_toStartOf="parent"
@@ -57,6 +58,7 @@
android:layout_width="@dimen/icon_size"
android:layout_height="@dimen/icon_size"
android:src="@drawable/play_fill"
+ android:contentDescription="@null"
android:visibility="@{model.isVideoPreview ? View.VISIBLE : View.GONE, default=gone}"
app:layout_constraintTop_toTopOf="@id/image"
app:layout_constraintBottom_toBottomOf="@id/image"
@@ -74,6 +76,7 @@
android:onLongClick="@{onLongClickListener}"
android:adjustViewBounds="true"
android:padding="18dp"
+ android:contentDescription="@string/content_description_chat_bubble_file"
android:src="@{model.isWaitingToBeDownloaded ? @drawable/download_simple : model.isPdf ? @drawable/file_pdf : model.isAudio ? @drawable/file_audio : @drawable/file, default=@drawable/file_pdf}"
android:background="@drawable/shape_squircle_main2_200_left"
app:layout_constraintTop_toTopOf="parent"
diff --git a/app/src/main/res/layout/chat_bubble_incoming.xml b/app/src/main/res/layout/chat_bubble_incoming.xml
index 7be82b467..022cd3514 100644
--- a/app/src/main/res/layout/chat_bubble_incoming.xml
+++ b/app/src/main/res/layout/chat_bubble_incoming.xml
@@ -85,6 +85,7 @@
android:layout_height="@dimen/small_icon_size"
android:layout_marginStart="8dp"
android:src="@drawable/reply"
+ android:contentDescription="@string/content_description_chat_bubble_reply"
app:layout_constraintStart_toStartOf="@id/reply"
app:layout_constraintTop_toTopOf="@id/reply_name"
app:layout_constraintBottom_toBottomOf="@id/reply_name" />
@@ -139,6 +140,7 @@
android:layout_height="@dimen/small_icon_size"
android:layout_marginStart="8dp"
android:src="@drawable/forward"
+ android:contentDescription="@string/content_description_chat_bubble_forward"
android:visibility="@{model.isForward ? View.VISIBLE : View.GONE, default=gone}"
app:layout_constraintStart_toStartOf="@id/bubble"
app:layout_constraintTop_toTopOf="@id/forward_label"
@@ -240,6 +242,7 @@
android:layout_height="@dimen/small_icon_size"
android:layout_marginStart="5dp"
android:layout_marginTop="2dp"
+ android:contentDescription="@string/content_description_chat_bubble_delivery_status"
android:src="@{model.statusIcon, default=@drawable/checks}"
android:visibility="@{model.isFromGroup ? View.VISIBLE : View.GONE}"
app:tint="?attr/color_main1_500" />
diff --git a/app/src/main/res/layout/chat_bubble_meeting_invite_content.xml b/app/src/main/res/layout/chat_bubble_meeting_invite_content.xml
index 264496ffa..e9f1f0100 100644
--- a/app/src/main/res/layout/chat_bubble_meeting_invite_content.xml
+++ b/app/src/main/res/layout/chat_bubble_meeting_invite_content.xml
@@ -102,6 +102,7 @@
android:layout_width="32dp"
android:layout_height="32dp"
android:src="@drawable/shape_circle_primary_background"
+ android:contentDescription="@null"
app:layout_constraintStart_toStartOf="@id/day_background"
app:layout_constraintEnd_toEndOf="@id/day_background"
app:layout_constraintTop_toBottomOf="@id/header_day" />
diff --git a/app/src/main/res/layout/chat_bubble_outgoing.xml b/app/src/main/res/layout/chat_bubble_outgoing.xml
index 6e9785a5c..b0e1e01f4 100644
--- a/app/src/main/res/layout/chat_bubble_outgoing.xml
+++ b/app/src/main/res/layout/chat_bubble_outgoing.xml
@@ -60,6 +60,7 @@
android:layout_height="@dimen/small_icon_size"
android:layout_marginEnd="5dp"
android:src="@drawable/reply"
+ android:contentDescription="@string/content_description_chat_bubble_reply"
app:layout_constraintEnd_toStartOf="@id/reply_name"
app:layout_constraintTop_toTopOf="@id/reply_name"
app:layout_constraintBottom_toBottomOf="@id/reply_name" />
@@ -114,6 +115,7 @@
android:layout_height="@dimen/small_icon_size"
android:layout_marginEnd="5dp"
android:src="@drawable/forward"
+ android:contentDescription="@string/content_description_chat_bubble_forward"
android:visibility="@{model.isForward ? View.VISIBLE : View.GONE, default=gone}"
app:layout_constraintEnd_toStartOf="@id/forward_label"
app:layout_constraintTop_toTopOf="@id/forward_label"
@@ -216,6 +218,7 @@
android:layout_marginStart="5dp"
android:layout_marginTop="2dp"
android:src="@{model.statusIcon, default=@drawable/checks}"
+ android:contentDescription="@string/content_description_chat_bubble_delivery_status"
app:tint="?attr/color_main1_500" />
diff --git a/app/src/main/res/layout/chat_bubble_single_media_content.xml b/app/src/main/res/layout/chat_bubble_single_media_content.xml
index ef0b8f4f1..2c7902d00 100644
--- a/app/src/main/res/layout/chat_bubble_single_media_content.xml
+++ b/app/src/main/res/layout/chat_bubble_single_media_content.xml
@@ -29,6 +29,7 @@
android:layout_height="wrap_content"
android:adjustViewBounds="true"
android:scaleType="fitCenter"
+ android:contentDescription="@{model.isVideoPreview ? @string/content_description_chat_bubble_video : @string/content_description_chat_bubble_image}"
coilBubble="@{model.file}"
app:layout_constraintHeight_max="@dimen/chat_bubble_big_image_max_size"
app:layout_constraintTop_toTopOf="parent"
@@ -54,6 +55,7 @@
android:layout_width="@dimen/icon_size"
android:layout_height="@dimen/icon_size"
android:src="@drawable/play_fill"
+ android:contentDescription="@null"
android:visibility="@{model.isVideoPreview ? View.VISIBLE : View.GONE, default=gone}"
app:layout_constraintTop_toTopOf="@id/image"
app:layout_constraintBottom_toBottomOf="@id/image"
diff --git a/app/src/main/res/layout/chat_bubble_voice_record_content.xml b/app/src/main/res/layout/chat_bubble_voice_record_content.xml
index a808a5e41..32ffd4f1b 100644
--- a/app/src/main/res/layout/chat_bubble_voice_record_content.xml
+++ b/app/src/main/res/layout/chat_bubble_voice_record_content.xml
@@ -44,6 +44,7 @@
android:layout_marginStart="10dp"
android:onClick="@{() -> model.togglePlayPauseVoiceRecord()}"
android:padding="8dp"
+ android:contentDescription="@string/content_description_chat_bubble_toggle_voice_message_play_pause"
android:src="@{model.isPlayingVoiceRecord ? @drawable/pause_fill : @drawable/play_fill, default=@drawable/play_fill}"
android:background="@drawable/circle_white_button_background"
app:layout_constraintDimensionRatio="1:1"
diff --git a/app/src/main/res/layout/chat_conversation_attachments_area.xml b/app/src/main/res/layout/chat_conversation_attachments_area.xml
index 401ee189d..10b1d45b2 100644
--- a/app/src/main/res/layout/chat_conversation_attachments_area.xml
+++ b/app/src/main/res/layout/chat_conversation_attachments_area.xml
@@ -42,6 +42,7 @@
android:layout_marginTop="10dp"
android:layout_marginEnd="10dp"
android:src="@drawable/x"
+ android:contentDescription="@string/content_description_chat_remove_attachments"
app:tint="@color/icon_color_selector"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toBottomOf="@id/separator" />
diff --git a/app/src/main/res/layout/chat_conversation_fragment.xml b/app/src/main/res/layout/chat_conversation_fragment.xml
index d46c15192..33a8b500e 100644
--- a/app/src/main/res/layout/chat_conversation_fragment.xml
+++ b/app/src/main/res/layout/chat_conversation_fragment.xml
@@ -124,6 +124,7 @@
android:layout_height="@dimen/small_icon_size"
android:layout_marginEnd="5dp"
android:src="@drawable/bell_simple_slash"
+ android:contentDescription="@string/content_description_chat_muted"
android:visibility="@{viewModel.isMuted ? View.VISIBLE : View.GONE, default=gone}"
app:layout_constraintStart_toStartOf="@id/title"
app:layout_constraintEnd_toStartOf="@id/ephemeral_enabled"
@@ -137,6 +138,7 @@
android:layout_height="@dimen/small_icon_size"
android:layout_marginEnd="5dp"
android:src="@drawable/clock_countdown"
+ android:contentDescription="@string/content_description_chat_ephemeral_enabled"
android:visibility="@{viewModel.ephemeralLifetime > 0L ? View.VISIBLE : View.GONE, default=gone}"
app:layout_constraintStart_toEndOf="@id/muted"
app:layout_constraintTop_toBottomOf="@id/title"
@@ -151,6 +153,7 @@
android:padding="15dp"
android:adjustViewBounds="true"
android:src="@drawable/dots_three_vertical"
+ android:contentDescription="@string/content_description_show_popup_menu"
android:visibility="@{viewModel.isInCallConversation ? View.GONE : View.VISIBLE}"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintEnd_toEndOf="parent"
@@ -163,6 +166,7 @@
android:layout_height="@dimen/top_bar_height"
android:padding="15dp"
android:src="@drawable/phone"
+ android:contentDescription="@string/content_description_call_start"
android:visibility="@{viewModel.isInCallConversation || viewModel.isReadOnly || viewModel.searchBarVisible ? View.GONE : View.VISIBLE}"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintEnd_toStartOf="@id/show_menu"
@@ -175,6 +179,7 @@
android:layout_height="0dp"
android:padding="15dp"
android:src="@drawable/caret_left"
+ android:contentDescription="@string/content_description_cancel_filter"
app:layout_constraintBottom_toBottomOf="@id/search"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="@id/search"
@@ -217,6 +222,7 @@
android:padding="6dp"
android:layout_marginEnd="9dp"
android:src="@drawable/x"
+ android:contentDescription="@string/content_description_clear_filter"
app:layout_constraintBottom_toBottomOf="@id/search"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toTopOf="@id/search"
@@ -301,6 +307,7 @@
android:layout_gravity="end|bottom"
android:layout_margin="16dp"
android:src="@drawable/caret_double_down"
+ android:contentDescription="@string/content_description_chat_scroll_to_bottom_or_first_unread"
android:visibility="@{viewModel.isUserScrollingUp ? View.VISIBLE : View.GONE}"
app:tint="?attr/color_on_main"
app:backgroundTint="?attr/color_main1_500"
diff --git a/app/src/main/res/layout/chat_conversation_participants_area.xml b/app/src/main/res/layout/chat_conversation_participants_area.xml
index e9963eee3..6c67e59b0 100644
--- a/app/src/main/res/layout/chat_conversation_participants_area.xml
+++ b/app/src/main/res/layout/chat_conversation_participants_area.xml
@@ -48,6 +48,7 @@
android:layout_marginTop="10dp"
android:layout_marginEnd="10dp"
android:src="@drawable/x"
+ android:contentDescription="@string/content_description_chat_close_participants_list"
app:tint="@color/icon_color_selector"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toBottomOf="@id/separator" />
diff --git a/app/src/main/res/layout/chat_conversation_record_voice_message_area.xml b/app/src/main/res/layout/chat_conversation_record_voice_message_area.xml
index 1ab3d4237..80bf2d402 100644
--- a/app/src/main/res/layout/chat_conversation_record_voice_message_area.xml
+++ b/app/src/main/res/layout/chat_conversation_record_voice_message_area.xml
@@ -22,6 +22,7 @@
android:onClick="@{() -> viewModel.cancelVoiceMessageRecording()}"
android:padding="8dp"
android:src="@drawable/x"
+ android:contentDescription="@string/content_description_cancel_voice_message_recording"
android:background="@drawable/circle_white_button_background"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintStart_toStartOf="parent"
@@ -52,6 +53,7 @@
android:onClick="@{() -> viewModel.stopVoiceMessageRecording()}"
android:padding="8dp"
android:src="@drawable/stop_fill"
+ android:contentDescription="@string/content_description_stop_voice_message_recording"
android:background="@drawable/circle_white_button_background"
android:visibility="@{viewModel.isVoiceRecordingInProgress ? View.VISIBLE : View.GONE}"
app:layout_constraintDimensionRatio="1:1"
@@ -69,6 +71,7 @@
android:padding="8dp"
android:src="@{viewModel.isPlayingVoiceRecord ? @drawable/pause_fill : @drawable/play_fill, default=@drawable/play_fill}"
android:background="@drawable/circle_white_button_background"
+ android:contentDescription="@string/content_description_chat_bubble_toggle_voice_message_play_pause"
android:visibility="@{!viewModel.isVoiceRecordingInProgress ? View.VISIBLE : View.GONE}"
app:layout_constraintDimensionRatio="1:1"
app:layout_constraintBottom_toBottomOf="@id/voice_record_duration"
@@ -125,6 +128,7 @@
android:onClick="@{() -> viewModel.sendMessage()}"
android:padding="8dp"
android:src="@drawable/paper_plane_right"
+ android:contentDescription="@string/content_description_chat_send_message"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toTopOf="parent"
diff --git a/app/src/main/res/layout/chat_conversation_reply_area.xml b/app/src/main/res/layout/chat_conversation_reply_area.xml
index 03e71378f..8b1c8fb64 100644
--- a/app/src/main/res/layout/chat_conversation_reply_area.xml
+++ b/app/src/main/res/layout/chat_conversation_reply_area.xml
@@ -28,6 +28,7 @@
android:layout_height="@dimen/icon_size"
android:layout_marginEnd="10dp"
android:src="@drawable/x"
+ android:contentDescription="@string/content_description_chat_cancel_reply"
app:tint="@color/icon_color_selector"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toTopOf="parent"
diff --git a/app/src/main/res/layout/chat_conversation_send_area.xml b/app/src/main/res/layout/chat_conversation_send_area.xml
index fcdc5b2e4..fbcd5ff01 100644
--- a/app/src/main/res/layout/chat_conversation_send_area.xml
+++ b/app/src/main/res/layout/chat_conversation_send_area.xml
@@ -84,6 +84,7 @@
android:layout_marginStart="5dp"
android:onClick="@{() -> viewModel.toggleEmojiPickerVisibility()}"
android:padding="8dp"
+ android:contentDescription="@string/content_description_chat_open_emoji_picker"
android:src="@{viewModel.isEmojiPickerOpen ? @drawable/x : @drawable/smiley, default=@drawable/smiley}"
app:layout_constraintBottom_toBottomOf="@id/message_area_background"
app:layout_constraintStart_toStartOf="parent"
@@ -98,6 +99,7 @@
android:onClick="@{openFilePickerClickListener}"
android:padding="8dp"
android:src="@drawable/paperclip"
+ android:contentDescription="@string/content_description_chat_attach_media"
app:layout_constraintBottom_toBottomOf="@id/message_area_background"
app:layout_constraintEnd_toStartOf="@id/capture_image"
app:layout_constraintStart_toEndOf="@id/emoji_picker_toggle"
@@ -112,6 +114,7 @@
android:onClick="@{openCameraClickListener}"
android:padding="8dp"
android:src="@drawable/camera"
+ android:contentDescription="@string/content_description_chat_take_picture"
app:layout_constraintBottom_toBottomOf="@id/message_area_background"
app:layout_constraintEnd_toStartOf="@id/message_area_background"
app:layout_constraintStart_toEndOf="@id/attach_file"
@@ -125,6 +128,7 @@
android:layout_marginStart="5dp"
android:layout_marginEnd="16dp"
android:src="@drawable/edit_text_background"
+ android:contentDescription="@null"
app:layout_constraintBottom_toBottomOf="@id/message_to_send"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toEndOf="@id/capture_image"
@@ -171,6 +175,7 @@
android:onClick="@{() -> viewModel.sendMessage()}"
android:padding="8dp"
android:src="@drawable/paper_plane_right"
+ android:contentDescription="@string/content_description_chat_send_message"
app:layout_constraintBottom_toBottomOf="@id/message_area_background"
app:layout_constraintEnd_toEndOf="@id/message_area_background"
app:layout_constraintTop_toTopOf="@id/message_area_background"
@@ -185,6 +190,7 @@
android:onClick="@{() -> viewModel.startVoiceMessageRecording()}"
android:padding="8dp"
android:src="@drawable/microphone"
+ android:contentDescription="@string/content_description_chat_start_voice_message_recording"
app:layout_constraintBottom_toBottomOf="@id/message_area_background"
app:layout_constraintEnd_toEndOf="@id/message_area_background"
app:layout_constraintTop_toTopOf="@id/message_area_background"
diff --git a/app/src/main/res/layout/chat_document_content_list_cell.xml b/app/src/main/res/layout/chat_document_content_list_cell.xml
index 465499c7f..6454080fd 100644
--- a/app/src/main/res/layout/chat_document_content_list_cell.xml
+++ b/app/src/main/res/layout/chat_document_content_list_cell.xml
@@ -25,6 +25,7 @@
android:onClick="@{() -> model.onClick()}"
android:adjustViewBounds="true"
android:padding="18dp"
+ android:contentDescription="@string/content_description_chat_bubble_file"
android:src="@{model.isWaitingToBeDownloaded ? @drawable/download_simple : model.isPdf ? @drawable/file_pdf : model.isAudio ? @drawable/file_audio : @drawable/file, default=@drawable/file_pdf}"
android:background="@drawable/shape_squircle_main2_200_left"
app:layout_constraintTop_toTopOf="parent"
diff --git a/app/src/main/res/layout/chat_emoji_reaction_picker.xml b/app/src/main/res/layout/chat_emoji_reaction_picker.xml
index 4f9bc4de3..13e8e8c44 100644
--- a/app/src/main/res/layout/chat_emoji_reaction_picker.xml
+++ b/app/src/main/res/layout/chat_emoji_reaction_picker.xml
@@ -23,6 +23,7 @@
android:layout_marginStart="16dp"
android:layout_marginEnd="16dp"
android:src="@drawable/shape_squircle_white_background"
+ android:contentDescription="@null"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toTopOf="parent"/>
@@ -111,6 +112,7 @@
android:layout_marginStart="10dp"
android:layout_marginEnd="16dp"
android:src="@drawable/plus_circle"
+ android:contentDescription="@string/content_description_chat_open_emoji_picker"
app:layout_constraintStart_toEndOf="@id/tear"
app:layout_constraintEnd_toEndOf="@id/emojis_background"
app:layout_constraintTop_toTopOf="@id/thumbs_up"
diff --git a/app/src/main/res/layout/chat_ephemeral_lifetime_fragment.xml b/app/src/main/res/layout/chat_ephemeral_lifetime_fragment.xml
index 25efce4cf..50d060f7a 100644
--- a/app/src/main/res/layout/chat_ephemeral_lifetime_fragment.xml
+++ b/app/src/main/res/layout/chat_ephemeral_lifetime_fragment.xml
@@ -64,6 +64,7 @@
android:layout_height="wrap_content"
android:layout_marginTop="25dp"
android:src="@drawable/chat_ephemeral_logo"
+ android:contentDescription="@null"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintEnd_toEndOf="parent"/>
diff --git a/app/src/main/res/layout/chat_info_fragment.xml b/app/src/main/res/layout/chat_info_fragment.xml
index 8e0f8b8e7..bd99f3c3f 100644
--- a/app/src/main/res/layout/chat_info_fragment.xml
+++ b/app/src/main/res/layout/chat_info_fragment.xml
@@ -112,6 +112,7 @@
android:layout_marginStart="8dp"
android:onClick="@{editSubjectClickListener}"
android:src="@drawable/pencil_simple"
+ android:contentDescription="@string/content_description_chat_edit_conversation_subject"
android:visibility="@{!viewModel.isGroup || viewModel.isReadOnly || !viewModel.isMyselfAdmin ? View.GONE : View.VISIBLE}"
app:tint="?attr/color_grey_600"
app:layout_constraintBottom_toBottomOf="@id/title"
@@ -156,6 +157,7 @@
android:background="@drawable/circle_light_blue_button_background"
android:onClick="@{() -> viewModel.toggleMute()}"
android:padding="16dp"
+ android:contentDescription="@string/content_description_chat_toggle_mute"
android:src="@{viewModel.isMuted ? @drawable/bell_simple : @drawable/bell_simple_slash, default=@drawable/bell_simple_slash}"
android:visibility="@{viewModel.isReadOnly ? View.GONE : View.VISIBLE}"
app:layout_constraintEnd_toStartOf="@id/call"
@@ -186,6 +188,7 @@
android:onClick="@{() -> viewModel.call()}"
android:padding="16dp"
android:src="@drawable/phone"
+ android:contentDescription="@string/content_description_call_start"
android:visibility="@{viewModel.isReadOnly ? View.GONE : View.VISIBLE}"
app:layout_constraintEnd_toStartOf="@id/meeting"
app:layout_constraintStart_toEndOf="@id/mute"
@@ -215,6 +218,7 @@
android:onClick="@{() -> viewModel.scheduleMeeting()}"
android:padding="16dp"
android:src="@drawable/video_conference"
+ android:contentDescription="@string/content_description_schedule_meeting"
android:visibility="@{viewModel.isReadOnly ? View.GONE : View.VISIBLE}"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toEndOf="@id/call"
@@ -329,6 +333,7 @@
android:layout_marginStart="16dp"
android:layout_marginEnd="16dp"
android:src="@drawable/shape_squircle_white_background"
+ android:contentDescription="@null"
app:layout_constraintBottom_toBottomOf="@id/action_delete"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
diff --git a/app/src/main/res/layout/chat_list_cell.xml b/app/src/main/res/layout/chat_list_cell.xml
index 362430a9a..23b363c1c 100644
--- a/app/src/main/res/layout/chat_list_cell.xml
+++ b/app/src/main/res/layout/chat_list_cell.xml
@@ -44,6 +44,7 @@
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/animated_in_progress"
+ android:contentDescription="@string/content_description_chat_removal_in_progress"
android:visibility="@{model.isBeingDeleted ? View.VISIBLE : View.GONE, default=gone}"
animatedDrawable="@{true}"
app:layout_constraintBottom_toBottomOf="@id/avatar"
@@ -129,6 +130,7 @@
android:layout_width="@dimen/small_icon_size"
android:layout_height="@dimen/small_icon_size"
android:layout_marginEnd="10dp"
+ android:contentDescription="@string/content_description_chat_bubble_delivery_status"
android:src="@{model.lastMessageIcon, default=@drawable/animated_in_progress}"
android:visibility="@{model.isLastMessageOutgoing ? View.VISIBLE : View.GONE}"
app:layout_constraintEnd_toStartOf="@id/notifications_count"
@@ -142,6 +144,7 @@
android:layout_height="@dimen/small_icon_size"
android:layout_marginEnd="10dp"
android:src="@drawable/bell_simple_slash"
+ android:contentDescription="@string/content_description_chat_muted"
android:visibility="@{model.isMuted ? View.VISIBLE : View.GONE}"
app:layout_constraintEnd_toStartOf="@id/last_sent_message_status"
app:layout_constraintTop_toBottomOf="@id/date_time"
@@ -154,6 +157,7 @@
android:layout_height="@dimen/small_icon_size"
android:layout_marginEnd="10dp"
android:src="@drawable/clock_countdown"
+ android:contentDescription="@string/content_description_chat_ephemeral_enabled"
android:visibility="@{model.isEphemeral ? View.VISIBLE : View.GONE}"
app:layout_constraintEnd_toStartOf="@id/muted"
app:layout_constraintTop_toBottomOf="@id/date_time"
@@ -167,6 +171,7 @@
android:layout_marginStart="5dp"
android:layout_marginEnd="10dp"
android:src="@drawable/lock_simple_open_bold"
+ android:contentDescription="@string/content_description_chat_unsecured"
android:visibility="@{model.isEncrypted ? View.GONE : View.VISIBLE}"
app:layout_constraintTop_toBottomOf="@id/date_time"
app:layout_constraintBottom_toTopOf="@id/separator"
diff --git a/app/src/main/res/layout/chat_list_fragment.xml b/app/src/main/res/layout/chat_list_fragment.xml
index 7f2927c92..95e917cfd 100644
--- a/app/src/main/res/layout/chat_list_fragment.xml
+++ b/app/src/main/res/layout/chat_list_fragment.xml
@@ -52,6 +52,7 @@
android:layout_width="0dp"
android:layout_height="0dp"
android:src="?attr/color_main2_000"
+ android:contentDescription="@null"
app:layout_constraintBottom_toTopOf="@id/bottom_nav_bar"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
@@ -61,8 +62,9 @@
android:id="@+id/no_conversation_image"
android:layout_width="0dp"
android:layout_height="wrap_content"
- android:src="@drawable/illu"
android:layout_margin="10dp"
+ android:src="@drawable/illu"
+ android:contentDescription="@null"
app:layout_constraintHeight_max="200dp"
app:layout_constraintBottom_toTopOf="@id/no_conversation_label"
app:layout_constraintDimensionRatio="1:1"
@@ -119,6 +121,7 @@
android:layout_gravity="end|bottom"
android:layout_margin="16dp"
android:src="@drawable/chat_teardrop_plus"
+ android:contentDescription="@string/content_description_chat_create"
app:tint="?attr/color_on_main"
app:backgroundTint="?attr/color_main1_500"
app:shapeAppearanceOverlay="@style/rounded"
diff --git a/app/src/main/res/layout/chat_media_content_grid_cell.xml b/app/src/main/res/layout/chat_media_content_grid_cell.xml
index 4004c6bea..5e5e2c64d 100644
--- a/app/src/main/res/layout/chat_media_content_grid_cell.xml
+++ b/app/src/main/res/layout/chat_media_content_grid_cell.xml
@@ -22,6 +22,7 @@
android:layout_margin="1dp"
android:adjustViewBounds="true"
android:scaleType="centerCrop"
+ android:contentDescription="@{model.isVideoPreview ? @string/content_description_chat_bubble_video : @string/content_description_chat_bubble_image}"
coilBubbleGrid="@{model.file}"
app:layout_constraintDimensionRatio="1:1"
app:layout_constraintStart_toStartOf="parent"
@@ -47,6 +48,7 @@
android:layout_width="@dimen/icon_size"
android:layout_height="@dimen/icon_size"
android:src="@drawable/play_fill"
+ android:contentDescription="@null"
android:visibility="@{model.isVideoPreview ? View.VISIBLE : View.GONE, default=gone}"
app:layout_constraintTop_toTopOf="@id/image"
app:layout_constraintBottom_toBottomOf="@id/image"
diff --git a/app/src/main/res/layout/chat_participant_list_cell.xml b/app/src/main/res/layout/chat_participant_list_cell.xml
index 7d6bbbe0e..9b4881027 100644
--- a/app/src/main/res/layout/chat_participant_list_cell.xml
+++ b/app/src/main/res/layout/chat_participant_list_cell.xml
@@ -64,6 +64,7 @@
android:layout_width="@dimen/icon_size"
android:layout_height="@dimen/icon_size"
android:src="@drawable/dots_three_vertical"
+ android:contentDescription="@string/content_description_show_popup_menu"
android:visibility="@{model.showMenu ? View.VISIBLE : View.GONE}"
app:tint="?attr/color_grey_600"
app:layout_constraintEnd_toEndOf="parent"
diff --git a/app/src/main/res/layout/contact_device_trust_list_cell.xml b/app/src/main/res/layout/contact_device_trust_list_cell.xml
index 06b2a8de4..2a01ede50 100644
--- a/app/src/main/res/layout/contact_device_trust_list_cell.xml
+++ b/app/src/main/res/layout/contact_device_trust_list_cell.xml
@@ -47,6 +47,7 @@
android:layout_height="@dimen/icon_size"
android:layout_marginEnd="10dp"
android:src="@drawable/trusted"
+ android:contentDescription="@string/content_description_contact_device_trusted"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent" />
diff --git a/app/src/main/res/layout/contact_fragment.xml b/app/src/main/res/layout/contact_fragment.xml
index c59d642f0..cdbd97b36 100644
--- a/app/src/main/res/layout/contact_fragment.xml
+++ b/app/src/main/res/layout/contact_fragment.xml
@@ -64,6 +64,7 @@
android:padding="15dp"
android:adjustViewBounds="true"
android:src="@drawable/pencil_simple"
+ android:contentDescription="@string/content_description_contact_edit"
android:visibility="@{viewModel.isStored ? View.VISIBLE : View.GONE}"
app:tint="?attr/color_main1_500"
app:layout_constraintBottom_toBottomOf="@id/invisible_title"
@@ -149,6 +150,7 @@
android:background="@drawable/circle_light_blue_button_background"
android:padding="16dp"
android:src="@drawable/phone"
+ android:contentDescription="@string/content_description_call_start"
app:tint="?attr/color_main2_500"
app:layout_constraintEnd_toStartOf="@id/chat"
app:layout_constraintStart_toStartOf="parent"
@@ -177,6 +179,7 @@
android:background="@drawable/circle_light_blue_button_background"
android:padding="16dp"
android:src="@drawable/chat_teardrop_text"
+ android:contentDescription="@string/content_description_chat_create"
app:tint="?attr/color_main2_500"
app:layout_constraintEnd_toStartOf="@id/video_call"
app:layout_constraintStart_toEndOf="@id/call"
@@ -206,6 +209,7 @@
android:background="@drawable/circle_light_blue_button_background"
android:padding="16dp"
android:src="@drawable/video_camera"
+ android:contentDescription="@string/content_description_call_start_video"
app:tint="?attr/color_main2_500"
app:layout_constraintStart_toEndOf="@id/chat"
app:layout_constraintEnd_toEndOf="parent"
@@ -267,6 +271,7 @@
android:layout_marginStart="16dp"
android:layout_marginEnd="16dp"
android:src="@drawable/shape_squircle_white_background"
+ android:contentDescription="@null"
android:visibility="@{viewModel.title.length() > 0 || viewModel.company.length() > 0 ? View.VISIBLE : View.GONE}"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintEnd_toEndOf="parent"
@@ -377,6 +382,7 @@
android:layout_marginStart="16dp"
android:layout_marginEnd="16dp"
android:src="@drawable/shape_squircle_white_background"
+ android:contentDescription="@null"
android:visibility="@{viewModel.expandDevicesTrust ? View.VISIBLE : View.GONE}"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintEnd_toEndOf="parent"
@@ -472,19 +478,6 @@
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toBottomOf="@id/trust_background"/>
-
-
@@ -79,6 +80,7 @@
android:layout_height="wrap_content"
android:src="@drawable/illu"
android:layout_margin="10dp"
+ android:contentDescription="@null"
app:layout_constraintHeight_max="200dp"
app:layout_constraintBottom_toTopOf="@id/no_contacts_label"
app:layout_constraintDimensionRatio="1:1"
diff --git a/app/src/main/res/layout/file_media_viewer_child_fragment.xml b/app/src/main/res/layout/file_media_viewer_child_fragment.xml
index 199f13de2..caff69b7d 100644
--- a/app/src/main/res/layout/file_media_viewer_child_fragment.xml
+++ b/app/src/main/res/layout/file_media_viewer_child_fragment.xml
@@ -32,6 +32,7 @@
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:padding="8dp"
+ android:contentDescription="@string/content_description_play_pause_video_playback"
android:src="@{viewModel.isVideoPlaying ? @drawable/pause_fill : @drawable/play_fill, default=@drawable/play_fill}"
android:visibility="@{viewModel.isVideo && !viewModel.fullScreenMode ? View.VISIBLE : View.GONE, default=gone}"
app:layout_constraintTop_toTopOf="parent"
diff --git a/app/src/main/res/layout/file_media_viewer_fragment.xml b/app/src/main/res/layout/file_media_viewer_fragment.xml
index f9def31a3..f2150bbb6 100644
--- a/app/src/main/res/layout/file_media_viewer_fragment.xml
+++ b/app/src/main/res/layout/file_media_viewer_fragment.xml
@@ -67,6 +67,7 @@
android:adjustViewBounds="true"
android:padding="15dp"
android:src="@drawable/share_network"
+ android:contentDescription="@string/content_description_share_file"
android:visibility="@{viewModel.fullScreenMode ? View.GONE : View.VISIBLE}"
app:tint="?attr/color_main1_500"
app:layout_constraintBottom_toBottomOf="@id/title"
@@ -82,6 +83,7 @@
android:adjustViewBounds="true"
android:padding="15dp"
android:src="@drawable/download_simple"
+ android:contentDescription="@string/content_description_save_file"
android:visibility="@{viewModel.fullScreenMode ? View.GONE : View.VISIBLE}"
app:tint="?attr/color_main1_500"
app:layout_constraintBottom_toBottomOf="@id/title"
diff --git a/app/src/main/res/layout/file_viewer_fragment.xml b/app/src/main/res/layout/file_viewer_fragment.xml
index ec1e92324..159976f05 100644
--- a/app/src/main/res/layout/file_viewer_fragment.xml
+++ b/app/src/main/res/layout/file_viewer_fragment.xml
@@ -108,6 +108,7 @@
android:adjustViewBounds="true"
android:padding="15dp"
android:src="@drawable/share_network"
+ android:contentDescription="@string/content_description_share_file"
android:visibility="@{viewModel.fullScreenMode ? View.GONE : View.VISIBLE}"
app:tint="?attr/color_main1_500"
app:layout_constraintBottom_toBottomOf="@id/title"
@@ -123,6 +124,7 @@
android:adjustViewBounds="true"
android:padding="15dp"
android:src="@drawable/download_simple"
+ android:contentDescription="@string/content_description_save_file"
android:visibility="@{viewModel.fullScreenMode ? View.GONE : View.VISIBLE}"
app:tint="?attr/color_main1_500"
app:layout_constraintBottom_toBottomOf="@id/title"
diff --git a/app/src/main/res/layout/generic_add_participants_fragment.xml b/app/src/main/res/layout/generic_add_participants_fragment.xml
index 70ad7af83..65963fced 100644
--- a/app/src/main/res/layout/generic_add_participants_fragment.xml
+++ b/app/src/main/res/layout/generic_add_participants_fragment.xml
@@ -120,6 +120,7 @@
android:layout_marginEnd="15dp"
android:onClick="@{() -> viewModel.clearFilter()}"
android:src="@drawable/x"
+ android:contentDescription="@string/content_description_clear_filter"
android:visibility="@{viewModel.searchFilter.length() > 0 ? View.VISIBLE : View.GONE, default=gone}"
app:layout_constraintBottom_toBottomOf="@id/search_bar"
app:layout_constraintEnd_toEndOf="@id/search_bar"
@@ -132,6 +133,7 @@
android:layout_height="0dp"
android:layout_margin="10dp"
android:src="@drawable/illu"
+ android:contentDescription="@null"
android:visibility="@{viewModel.contactsAndSuggestionsList.size() == 0 ? View.VISIBLE : View.GONE}"
app:layout_constraintDimensionRatio="1:1"
app:layout_constraintEnd_toEndOf="parent"
@@ -173,6 +175,7 @@
android:layout_margin="16dp"
android:visibility="@{viewModel.selection.size() > 0 ? View.VISIBLE : View.GONE}"
android:src="@drawable/check"
+ android:contentDescription="@string/content_description_confirm_new_participants_list"
app:tint="?attr/color_on_main"
app:backgroundTint="?attr/color_main1_500"
app:shapeAppearanceOverlay="@style/rounded"
diff --git a/app/src/main/res/layout/help_debug_fragment.xml b/app/src/main/res/layout/help_debug_fragment.xml
index 280cd4837..84558b894 100644
--- a/app/src/main/res/layout/help_debug_fragment.xml
+++ b/app/src/main/res/layout/help_debug_fragment.xml
@@ -140,6 +140,7 @@
android:layout_height="32dp"
android:layout_marginStart="16dp"
android:src="@drawable/info"
+ android:contentDescription="@null"
app:tint="?attr/color_main1_500"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintEnd_toStartOf="@id/app_version_title"
@@ -179,6 +180,7 @@
android:layout_height="32dp"
android:layout_marginStart="16dp"
android:src="@drawable/info"
+ android:contentDescription="@null"
app:tint="?attr/color_main1_500"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintEnd_toStartOf="@id/sdk_version_title"
diff --git a/app/src/main/res/layout/help_fragment.xml b/app/src/main/res/layout/help_fragment.xml
index 35570b02b..53add5246 100644
--- a/app/src/main/res/layout/help_fragment.xml
+++ b/app/src/main/res/layout/help_fragment.xml
@@ -81,6 +81,7 @@
android:layout_height="32dp"
android:layout_marginStart="16dp"
android:src="@drawable/detective"
+ android:contentDescription="@null"
app:tint="?attr/color_main1_500"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintEnd_toStartOf="@id/privacy_policy_title"
@@ -122,6 +123,7 @@
android:layout_height="32dp"
android:layout_marginStart="16dp"
android:src="@drawable/info"
+ android:contentDescription="@null"
app:tint="?attr/color_main1_500"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintEnd_toStartOf="@id/version_title"
@@ -184,6 +186,7 @@
android:layout_height="32dp"
android:layout_marginStart="16dp"
android:src="@drawable/check_square_offset"
+ android:contentDescription="@null"
app:tint="?attr/color_main1_500"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintEnd_toStartOf="@id/open_source_licenses_title"
@@ -226,6 +229,7 @@
android:layout_height="32dp"
android:layout_marginStart="16dp"
android:src="@drawable/globe_hemisphere_west"
+ android:contentDescription="@null"
app:tint="?attr/color_main1_500"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintEnd_toStartOf="@id/translate_title"
@@ -265,6 +269,7 @@
android:layout_height="32dp"
android:layout_marginStart="16dp"
android:src="@drawable/wrench"
+ android:contentDescription="@null"
app:tint="?attr/color_main1_500"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintEnd_toStartOf="@id/debug_title"
diff --git a/app/src/main/res/layout/history_call_list_cell.xml b/app/src/main/res/layout/history_call_list_cell.xml
index a0549d00d..db12d6aa1 100644
--- a/app/src/main/res/layout/history_call_list_cell.xml
+++ b/app/src/main/res/layout/history_call_list_cell.xml
@@ -25,6 +25,7 @@
android:layout_height="12dp"
android:layout_marginStart="2dp"
android:src="@{model.iconResId, default=@drawable/outgoing_call}"
+ android:contentDescription="@null"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
diff --git a/app/src/main/res/layout/history_fragment.xml b/app/src/main/res/layout/history_fragment.xml
index a983fbefb..5d550384d 100644
--- a/app/src/main/res/layout/history_fragment.xml
+++ b/app/src/main/res/layout/history_fragment.xml
@@ -61,6 +61,7 @@
android:padding="15dp"
android:adjustViewBounds="true"
android:src="@drawable/dots_three_vertical"
+ android:contentDescription="@string/content_description_show_popup_menu"
app:tint="?attr/color_main1_500"
app:layout_constraintBottom_toBottomOf="@id/title"
app:layout_constraintEnd_toEndOf="parent"
@@ -155,6 +156,7 @@
android:background="@drawable/circle_light_blue_button_background"
android:padding="16dp"
android:src="@drawable/phone"
+ android:contentDescription="@string/content_description_call_start"
android:visibility="@{viewModel.isConferenceCallLog ? View.GONE : View.VISIBLE}"
app:tint="?attr/color_main2_500"
app:layout_constraintEnd_toStartOf="@id/chat"
@@ -184,6 +186,7 @@
android:background="@drawable/circle_light_blue_button_background"
android:padding="16dp"
android:src="@drawable/chat_teardrop_text"
+ android:contentDescription="@string/content_description_chat_create"
android:visibility="@{viewModel.chatDisabled || viewModel.isConferenceCallLog ? View.GONE : View.VISIBLE}"
app:tint="?attr/color_main2_500"
app:layout_constraintEnd_toStartOf="@id/video_call"
@@ -213,6 +216,7 @@
android:background="@drawable/circle_light_blue_button_background"
android:padding="16dp"
android:src="@drawable/video_camera"
+ android:contentDescription="@string/content_description_call_start_video"
android:visibility="@{viewModel.videoCallDisabled || viewModel.isConferenceCallLog ? View.GONE : View.VISIBLE}"
app:tint="?attr/color_main2_500"
app:layout_constraintStart_toEndOf="@id/chat"
@@ -242,6 +246,7 @@
android:background="@drawable/circle_light_blue_button_background"
android:padding="16dp"
android:src="@drawable/video_conference"
+ android:contentDescription="@string/content_description_join_conference"
android:visibility="@{viewModel.isConferenceCallLog ? View.VISIBLE : View.GONE, default=gone}"
app:tint="?attr/color_main2_500"
app:layout_constraintEnd_toEndOf="parent"
diff --git a/app/src/main/res/layout/history_list_cell.xml b/app/src/main/res/layout/history_list_cell.xml
index 1caf3b22d..28e7d3c9c 100644
--- a/app/src/main/res/layout/history_list_cell.xml
+++ b/app/src/main/res/layout/history_list_cell.xml
@@ -62,6 +62,7 @@
android:layout_height="12dp"
android:layout_marginBottom="10dp"
android:src="@{model.iconResId, default=@drawable/outgoing_call}"
+ android:contentDescription="@null"
app:layout_constraintStart_toStartOf="@id/name"
app:layout_constraintTop_toBottomOf="@id/name"
app:layout_constraintBottom_toTopOf="@id/separator" />
@@ -87,6 +88,7 @@
android:layout_height="@dimen/icon_size"
android:layout_marginEnd="6dp"
android:src="@drawable/phone"
+ android:contentDescription="@string/content_description_call_start"
app:tint="?attr/color_main2_500"
android:visibility="@{model.wasConference ? View.GONE : View.VISIBLE}"
app:layout_constraintEnd_toEndOf="parent"
diff --git a/app/src/main/res/layout/history_list_fragment.xml b/app/src/main/res/layout/history_list_fragment.xml
index 6e357d6c9..fe5d5e7bb 100644
--- a/app/src/main/res/layout/history_list_fragment.xml
+++ b/app/src/main/res/layout/history_list_fragment.xml
@@ -60,6 +60,7 @@
android:layout_height="0dp"
android:layout_marginEnd="9dp"
android:src="@drawable/dots_three_vertical"
+ android:contentDescription="@string/content_description_show_popup_menu"
android:visibility="@{viewModel.searchBarVisible ? View.GONE : View.VISIBLE}"
app:tint="?attr/color_on_main"
app:layout_constraintEnd_toEndOf="parent"
@@ -71,6 +72,7 @@
android:layout_width="0dp"
android:layout_height="0dp"
android:src="?attr/color_main2_000"
+ android:contentDescription="@null"
app:layout_constraintBottom_toTopOf="@id/bottom_nav_bar"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
@@ -80,8 +82,9 @@
android:id="@+id/no_calls_image"
android:layout_width="0dp"
android:layout_height="wrap_content"
- android:src="@drawable/illu"
android:layout_margin="10dp"
+ android:src="@drawable/illu"
+ android:contentDescription="@null"
app:layout_constraintHeight_max="200dp"
app:layout_constraintBottom_toTopOf="@id/no_calls_label"
app:layout_constraintDimensionRatio="1:1"
@@ -138,6 +141,7 @@
android:layout_gravity="end|bottom"
android:layout_margin="16dp"
android:src="@drawable/phone_plus"
+ android:contentDescription="@string/content_description_call_start"
app:tint="?attr/color_on_main"
app:backgroundTint="?attr/color_main1_500"
app:shapeAppearanceOverlay="@style/rounded"
diff --git a/app/src/main/res/layout/main_activity_notification_top_bar.xml b/app/src/main/res/layout/main_activity_notification_top_bar.xml
index 02b004826..bdb3776c8 100644
--- a/app/src/main/res/layout/main_activity_notification_top_bar.xml
+++ b/app/src/main/res/layout/main_activity_notification_top_bar.xml
@@ -24,6 +24,7 @@
android:layout_marginTop="5dp"
android:layout_marginBottom="5dp"
android:src="@{viewModel.alertIcon, default=@drawable/bell_simple}"
+ android:contentDescription="@null"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintBottom_toBottomOf="parent"
@@ -80,6 +81,7 @@
android:layout_marginEnd="16dp"
android:src="@drawable/x"
app:tint="@color/white"
+ android:contentDescription="@string/content_description_dismiss_notification"
android:visibility="@{viewModel.atLeastOneCall ? View.GONE : View.VISIBLE}"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toTopOf="parent"
diff --git a/app/src/main/res/layout/meeting_edit_fragment.xml b/app/src/main/res/layout/meeting_edit_fragment.xml
index c4675353d..ec81464e5 100644
--- a/app/src/main/res/layout/meeting_edit_fragment.xml
+++ b/app/src/main/res/layout/meeting_edit_fragment.xml
@@ -330,6 +330,7 @@
android:layout_height="@dimen/icon_size"
android:layout_marginStart="16dp"
android:src="@drawable/users"
+ android:contentDescription="@string/content_description_meeting_participants_list"
android:visibility="@{viewModel.participants.size() > 0 ? View.VISIBLE : View.GONE, default=gone}"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="@id/add_more_participants" />
@@ -403,6 +404,7 @@
android:layout_gravity="end|bottom"
android:layout_margin="16dp"
android:src="@drawable/check"
+ android:contentDescription="@string/content_description_meeting_schedule"
app:tint="?attr/color_on_main"
app:backgroundTint="?attr/color_main1_500"
app:shapeAppearanceOverlay="@style/rounded" />
diff --git a/app/src/main/res/layout/meeting_fragment.xml b/app/src/main/res/layout/meeting_fragment.xml
index d03234c4c..d08170570 100644
--- a/app/src/main/res/layout/meeting_fragment.xml
+++ b/app/src/main/res/layout/meeting_fragment.xml
@@ -68,6 +68,7 @@
android:padding="15dp"
android:adjustViewBounds="true"
android:src="@drawable/pencil_simple"
+ android:contentDescription="@string/content_description_meeting_edit"
android:visibility="@{viewModel.isEditable ? View.VISIBLE : View.GONE}"
app:tint="@color/primary_color_selector"
app:layout_constraintStart_toEndOf="@id/title"
@@ -83,6 +84,7 @@
android:padding="15dp"
android:adjustViewBounds="true"
android:src="@drawable/dots_three_vertical"
+ android:contentDescription="@string/content_description_show_popup_menu"
app:tint="@color/primary_color_selector"
app:layout_constraintStart_toEndOf="@id/edit"
app:layout_constraintEnd_toEndOf="parent"
@@ -161,6 +163,7 @@
android:layout_height="@dimen/icon_size"
android:layout_marginEnd="16dp"
android:src="@drawable/share_network"
+ android:contentDescription="@string/content_description_meeting_share"
app:layout_constraintTop_toTopOf="@id/sip_uri"
app:layout_constraintBottom_toBottomOf="@id/sip_uri"
app:layout_constraintStart_toEndOf="@id/sip_uri"
@@ -263,6 +266,7 @@
android:layout_marginTop="32dp"
android:layout_marginStart="16dp"
android:src="@drawable/user_square"
+ android:contentDescription="@string/content_description_meeting_participants_list"
android:visibility="@{viewModel.isBroadcast ? View.VISIBLE : View.GONE}"
app:layout_constraintTop_toBottomOf="@id/separator_3"
app:layout_constraintStart_toStartOf="parent"
@@ -301,6 +305,7 @@
android:layout_marginTop="32dp"
android:layout_marginStart="16dp"
android:src="@drawable/users"
+ android:contentDescription="@string/content_description_meeting_participants_list"
app:layout_constraintTop_toBottomOf="@id/separator_4"
app:layout_constraintStart_toStartOf="parent"
app:tint="?attr/color_main2_600"/>
diff --git a/app/src/main/res/layout/meeting_schedule_fragment.xml b/app/src/main/res/layout/meeting_schedule_fragment.xml
index cde85dcb1..6633addc9 100644
--- a/app/src/main/res/layout/meeting_schedule_fragment.xml
+++ b/app/src/main/res/layout/meeting_schedule_fragment.xml
@@ -210,6 +210,7 @@
android:layout_height="@dimen/icon_size"
android:layout_marginEnd="16dp"
android:src="@drawable/x"
+ android:contentDescription="@null"
android:visibility="@{viewModel.showBroadcastHelp ? View.VISIBLE : View.GONE}"
app:layout_constraintTop_toTopOf="@id/broadcast_help"
app:layout_constraintBottom_toBottomOf="@id/broadcast_help"
@@ -473,6 +474,7 @@
android:layout_height="@dimen/icon_size"
android:layout_marginStart="16dp"
android:src="@drawable/users"
+ android:contentDescription="@string/content_description_meeting_participants_list"
android:visibility="@{viewModel.participants.size() > 0 ? View.VISIBLE : View.GONE, default=gone}"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="@id/add_more_participants" />
@@ -554,6 +556,7 @@
android:layout_gravity="end|bottom"
android:layout_margin="16dp"
android:src="@drawable/check"
+ android:contentDescription="@string/content_description_meeting_schedule"
app:tint="?attr/color_on_main"
app:backgroundTint="?attr/color_main1_500"
app:shapeAppearanceOverlay="@style/rounded" />
diff --git a/app/src/main/res/layout/meeting_schedule_participant_list_cell.xml b/app/src/main/res/layout/meeting_schedule_participant_list_cell.xml
index ffe3a4e43..7ddf3c120 100644
--- a/app/src/main/res/layout/meeting_schedule_participant_list_cell.xml
+++ b/app/src/main/res/layout/meeting_schedule_participant_list_cell.xml
@@ -51,6 +51,7 @@
android:adjustViewBounds="true"
android:layout_marginEnd="12dp"
android:src="@drawable/x"
+ android:contentDescription="@string/content_description_click_to_remove_participant"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintBottom_toBottomOf="parent"
diff --git a/app/src/main/res/layout/meeting_waiting_room_fragment.xml b/app/src/main/res/layout/meeting_waiting_room_fragment.xml
index 6d06e21fd..d2c84d9da 100644
--- a/app/src/main/res/layout/meeting_waiting_room_fragment.xml
+++ b/app/src/main/res/layout/meeting_waiting_room_fragment.xml
@@ -116,6 +116,7 @@
android:layout_marginTop="10dp"
android:visibility="@{viewModel.isVideoAvailable && viewModel.isVideoEnabled && viewModel.isSwitchCameraAvailable ? View.VISIBLE : View.GONE}"
android:src="@drawable/camera_rotate"
+ android:contentDescription="@string/content_description_change_camera"
app:tint="@color/white"
app:layout_constraintTop_toTopOf="@id/video_preview"
app:layout_constraintEnd_toEndOf="@id/video_preview" />
@@ -132,6 +133,7 @@
android:visibility="@{viewModel.hideVideo ? View.GONE : View.VISIBLE}"
android:src="@{viewModel.isVideoEnabled ? @drawable/video_camera : @drawable/video_camera_slash, default=@drawable/video_camera}"
android:background="@drawable/in_call_button_background_red"
+ android:contentDescription="@string/content_description_toggle_video"
app:tint="@color/in_call_button_tint_color"
app:layout_constraintHorizontal_chainStyle="packed"
app:layout_constraintTop_toTopOf="@id/toggle_mute_mic"
@@ -148,6 +150,7 @@
android:padding="@dimen/call_button_icon_padding"
android:src="@{viewModel.isMicrophoneMuted ? @drawable/microphone_slash : @drawable/microphone, default=@drawable/microphone}"
android:background="@drawable/in_call_button_background_red"
+ android:contentDescription="@string/content_description_toggle_microphone"
app:tint="@color/in_call_button_tint_color"
app:layout_constraintTop_toBottomOf="@id/video_preview"
app:layout_constraintBottom_toTopOf="@id/join"
@@ -163,6 +166,7 @@
android:padding="@dimen/call_button_icon_padding"
android:src="@{viewModel.isHeadsetEnabled ? @drawable/headset : viewModel.isBluetoothEnabled ? @drawable/bluetooth : viewModel.isSpeakerEnabled ? @drawable/speaker_high : @drawable/speaker_slash, default=@drawable/speaker_slash}"
android:background="@drawable/in_call_button_background_red"
+ android:contentDescription="@string/content_description_change_output_audio_device"
app:tint="@color/in_call_button_tint_color"
app:layout_constraintTop_toTopOf="@id/toggle_mute_mic"
app:layout_constraintBottom_toBottomOf="@id/toggle_mute_mic"
diff --git a/app/src/main/res/layout/meetings_list_fragment.xml b/app/src/main/res/layout/meetings_list_fragment.xml
index 4282563c2..76dd642c4 100644
--- a/app/src/main/res/layout/meetings_list_fragment.xml
+++ b/app/src/main/res/layout/meetings_list_fragment.xml
@@ -57,6 +57,7 @@
android:layout_height="0dp"
android:layout_marginEnd="9dp"
android:src="@drawable/calendar"
+ android:contentDescription="@string/content_description_meeting_today"
android:visibility="@{viewModel.searchBarVisible ? View.GONE : View.VISIBLE}"
app:tint="?attr/color_on_main"
app:layout_constraintEnd_toEndOf="parent"
@@ -68,6 +69,7 @@
android:layout_width="0dp"
android:layout_height="0dp"
android:src="?attr/color_main2_000"
+ android:contentDescription="@null"
app:layout_constraintBottom_toTopOf="@id/bottom_nav_bar"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
@@ -77,8 +79,9 @@
android:id="@+id/no_meeting_image"
android:layout_width="0dp"
android:layout_height="wrap_content"
- android:src="@drawable/illu"
android:layout_margin="10dp"
+ android:src="@drawable/illu"
+ android:contentDescription="@null"
app:layout_constraintHeight_max="200dp"
app:layout_constraintBottom_toTopOf="@id/no_meeting_label"
app:layout_constraintDimensionRatio="1:1"
@@ -135,6 +138,7 @@
android:layout_gravity="end|bottom"
android:layout_margin="16dp"
android:src="@drawable/video_conference_plus"
+ android:contentDescription="@string/content_description_schedule_meeting"
app:tint="?attr/color_on_main"
app:backgroundTint="?attr/color_main1_500"
app:shapeAppearanceOverlay="@style/rounded"
diff --git a/app/src/main/res/layout/operation_in_progress.xml b/app/src/main/res/layout/operation_in_progress.xml
index 8493b2f51..b9c85b264 100644
--- a/app/src/main/res/layout/operation_in_progress.xml
+++ b/app/src/main/res/layout/operation_in_progress.xml
@@ -23,6 +23,7 @@
android:layout_marginEnd="12dp"
android:layout_marginBottom="2dp"
android:src="@drawable/shape_dialog_background"
+ android:contentDescription="@null"
app:layout_constraintWidth_max="@dimen/dialog_max_width"
app:layout_constraintHeight_max="300dp"
app:layout_constraintBottom_toBottomOf="parent"
diff --git a/app/src/main/res/layout/settings_contacts_carddav.xml b/app/src/main/res/layout/settings_contacts_carddav.xml
index d1c599d45..3529c9b1f 100644
--- a/app/src/main/res/layout/settings_contacts_carddav.xml
+++ b/app/src/main/res/layout/settings_contacts_carddav.xml
@@ -52,6 +52,7 @@
android:adjustViewBounds="true"
android:padding="15dp"
android:src="@drawable/trash_simple"
+ android:contentDescription="@string/content_description_carddav_delete"
android:visibility="@{viewModel.isEdit ? View.VISIBLE : View.GONE, default=gone}"
app:tint="?attr/color_main1_500"
app:layout_constraintEnd_toEndOf="parent"
@@ -208,6 +209,7 @@
android:layout_height="0dp"
android:padding="4dp"
android:layout_marginEnd="20dp"
+ android:contentDescription="@string/content_description_toggle_password_visibility"
android:src="@{viewModel.showPassword ? @drawable/eye_slash : @drawable/eye, default=@drawable/eye}"
app:tint="?attr/color_main2_500"
app:layout_constraintEnd_toEndOf="@id/password"
@@ -260,6 +262,7 @@
android:layout_height="wrap_content"
android:layout_gravity="end|bottom"
android:layout_margin="16dp"
+ android:contentDescription="@string/content_description_carddav_save"
android:src="@{viewModel.isEdit ? @drawable/check : @drawable/plus_circle, default=@drawable/plus_circle}"
android:visibility="@{viewModel.syncInProgress ? View.GONE : View.VISIBLE}"
app:tint="?attr/color_on_main"
diff --git a/app/src/main/res/layout/settings_contacts_ldap.xml b/app/src/main/res/layout/settings_contacts_ldap.xml
index 58a3d7e64..b0825d33a 100644
--- a/app/src/main/res/layout/settings_contacts_ldap.xml
+++ b/app/src/main/res/layout/settings_contacts_ldap.xml
@@ -51,6 +51,7 @@
android:adjustViewBounds="true"
android:padding="15dp"
android:src="@drawable/trash_simple"
+ android:contentDescription="@string/content_description_ldap_delete"
android:visibility="@{viewModel.isEdit ? View.VISIBLE : View.GONE, default=gone}"
app:tint="?attr/color_main1_500"
app:layout_constraintEnd_toEndOf="parent"
@@ -175,6 +176,7 @@
android:layout_height="0dp"
android:padding="4dp"
android:layout_marginEnd="20dp"
+ android:contentDescription="@string/content_description_toggle_password_visibility"
android:src="@{viewModel.showPassword ? @drawable/eye_slash : @drawable/eye, default=@drawable/eye}"
app:tint="?attr/color_main2_500"
app:layout_constraintEnd_toEndOf="@id/password"
@@ -511,6 +513,7 @@
android:layout_height="wrap_content"
android:layout_gravity="end|bottom"
android:layout_margin="16dp"
+ android:contentDescription="@string/content_description_ldap_save"
android:src="@{viewModel.isEdit ? @drawable/check : @drawable/plus_circle, default=@drawable/plus_circle}"
app:tint="?attr/color_on_main"
app:backgroundTint="?attr/color_main1_500"
diff --git a/app/src/main/res/layout/settings_meetings.xml b/app/src/main/res/layout/settings_meetings.xml
index ed04dae6c..8ec043323 100644
--- a/app/src/main/res/layout/settings_meetings.xml
+++ b/app/src/main/res/layout/settings_meetings.xml
@@ -53,6 +53,7 @@
android:layout_height="wrap_content"
android:layout_marginEnd="@dimen/spinner_caret_end_margin"
android:src="@drawable/caret_down"
+ android:contentDescription="@string/content_description_spinner_caret"
app:layout_constraintTop_toTopOf="@id/layout_spinner"
app:layout_constraintBottom_toBottomOf="@id/layout_spinner"
app:layout_constraintEnd_toEndOf="@id/layout_spinner"/>
diff --git a/app/src/main/res/layout/settings_user_interface.xml b/app/src/main/res/layout/settings_user_interface.xml
index f4ceac963..a7f750fa2 100644
--- a/app/src/main/res/layout/settings_user_interface.xml
+++ b/app/src/main/res/layout/settings_user_interface.xml
@@ -65,6 +65,7 @@
android:layout_height="wrap_content"
android:layout_marginEnd="@dimen/spinner_caret_end_margin"
android:src="@drawable/caret_down"
+ android:contentDescription="@string/content_description_spinner_caret"
app:layout_constraintTop_toTopOf="@id/theme_spinner"
app:layout_constraintBottom_toBottomOf="@id/theme_spinner"
app:layout_constraintEnd_toEndOf="@id/theme_spinner"/>
@@ -106,6 +107,7 @@
android:layout_height="wrap_content"
android:layout_marginEnd="@dimen/spinner_caret_end_margin"
android:src="@drawable/caret_down"
+ android:contentDescription="@string/content_description_spinner_caret"
app:layout_constraintTop_toTopOf="@id/color_spinner"
app:layout_constraintBottom_toBottomOf="@id/color_spinner"
app:layout_constraintEnd_toEndOf="@id/color_spinner"/>
diff --git a/app/src/main/res/layout/start_call_fragment.xml b/app/src/main/res/layout/start_call_fragment.xml
index 440ceb585..0e8d087a0 100644
--- a/app/src/main/res/layout/start_call_fragment.xml
+++ b/app/src/main/res/layout/start_call_fragment.xml
@@ -133,6 +133,7 @@
android:layout_height="@dimen/icon_size"
android:layout_marginEnd="15dp"
android:onClick="@{() -> viewModel.switchBetweenKeyboardAndNumpad()}"
+ android:contentDescription="@string/content_description_show_numpad"
android:src="@{viewModel.isNumpadVisible ? @drawable/keyboard : @drawable/numpad, default=@drawable/numpad}"
android:visibility="@{viewModel.searchFilter.length() == 0 ? View.VISIBLE : View.GONE}"
app:layout_constraintBottom_toBottomOf="@id/search_bar"
@@ -147,6 +148,7 @@
android:layout_marginEnd="15dp"
android:onClick="@{() -> viewModel.clearFilter()}"
android:src="@drawable/x"
+ android:contentDescription="@string/content_description_clear_filter"
android:visibility="@{viewModel.searchFilter.length() > 0 ? View.VISIBLE : View.GONE, default=gone}"
app:layout_constraintBottom_toBottomOf="@id/search_bar"
app:layout_constraintEnd_toEndOf="@id/search_bar"
@@ -182,6 +184,7 @@
android:background="@drawable/shape_orange_round"
android:padding="10dp"
android:src="@drawable/video_conference"
+ android:contentDescription="@null"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@id/search_bar"
app:tint="?attr/color_on_main" />
@@ -212,6 +215,7 @@
android:layout_height="0dp"
android:layout_margin="10dp"
android:src="@drawable/illu"
+ android:contentDescription="@null"
android:visibility="@{viewModel.contactsAndSuggestionsList.size() == 0 ? View.VISIBLE : View.GONE}"
app:layout_constraintDimensionRatio="1:1"
app:layout_constraintEnd_toEndOf="parent"
@@ -253,6 +257,7 @@
android:layout_margin="16dp"
android:visibility="@{viewModel.multipleSelectionMode && viewModel.startGroupCallButtonEnabled ? View.VISIBLE : View.GONE, default=gone}"
android:src="@drawable/check"
+ android:contentDescription="@string/content_description_create_group_call"
app:tint="?attr/color_on_main"
app:backgroundTint="?attr/color_main1_500"
app:shapeAppearanceOverlay="@style/rounded"
diff --git a/app/src/main/res/layout/start_call_numpad_bottom_sheet.xml b/app/src/main/res/layout/start_call_numpad_bottom_sheet.xml
index 056c1ec94..4d2251b4d 100644
--- a/app/src/main/res/layout/start_call_numpad_bottom_sheet.xml
+++ b/app/src/main/res/layout/start_call_numpad_bottom_sheet.xml
@@ -180,6 +180,7 @@
android:paddingEnd="30dp"
android:paddingBottom="15dp"
android:src="@drawable/phone"
+ android:contentDescription="@string/content_description_call_start"
android:elevation="3dp"
android:background="@drawable/squircle_green_button_background"
app:tint="?attr/color_main2_000"
@@ -196,6 +197,7 @@
android:layout_marginTop="16dp"
android:layout_marginBottom="20dp"
android:src="@drawable/backspace_fill"
+ android:contentDescription="@string/content_description_erase_last_input"
android:padding="20dp"
android:elevation="3dp"
app:layout_constraintTop_toBottomOf="@id/flow"
diff --git a/app/src/main/res/layout/start_call_suggestion_list_cell.xml b/app/src/main/res/layout/start_call_suggestion_list_cell.xml
index 00e532b10..8288a89e3 100644
--- a/app/src/main/res/layout/start_call_suggestion_list_cell.xml
+++ b/app/src/main/res/layout/start_call_suggestion_list_cell.xml
@@ -28,6 +28,7 @@
android:layout_height="@dimen/avatar_list_cell_size"
android:layout_marginTop="5dp"
android:layout_marginBottom="5dp"
+ android:contentDescription="@null"
coilInitials="@{model.initials, default=`JD`}"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintStart_toStartOf="parent"
diff --git a/app/src/main/res/layout/start_chat_fragment.xml b/app/src/main/res/layout/start_chat_fragment.xml
index f0d02c4b7..9f623afae 100644
--- a/app/src/main/res/layout/start_chat_fragment.xml
+++ b/app/src/main/res/layout/start_chat_fragment.xml
@@ -130,6 +130,7 @@
android:layout_marginEnd="15dp"
android:onClick="@{() -> viewModel.clearFilter()}"
android:src="@drawable/x"
+ android:contentDescription="@string/content_description_clear_filter"
android:visibility="@{viewModel.searchFilter.length() > 0 ? View.VISIBLE : View.GONE, default=gone}"
app:layout_constraintBottom_toBottomOf="@id/search_bar"
app:layout_constraintEnd_toEndOf="@id/search_bar"
@@ -165,6 +166,7 @@
android:background="@drawable/shape_orange_round"
android:padding="10dp"
android:src="@drawable/users_three"
+ android:contentDescription="@null"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@id/search_bar"
app:tint="?attr/color_on_main" />
@@ -195,6 +197,7 @@
android:layout_height="0dp"
android:layout_margin="10dp"
android:src="@drawable/illu"
+ android:contentDescription="@null"
android:visibility="@{viewModel.contactsAndSuggestionsList.size() == 0 ? View.VISIBLE : View.GONE}"
app:layout_constraintDimensionRatio="1:1"
app:layout_constraintEnd_toEndOf="parent"
@@ -236,6 +239,7 @@
android:layout_margin="16dp"
android:visibility="@{viewModel.multipleSelectionMode && viewModel.createGroupConversationButtonEnabled ? View.VISIBLE : View.GONE, default=gone}"
android:src="@drawable/check"
+ android:contentDescription="@string/content_description_create_group_conversation"
app:tint="?attr/color_on_main"
app:backgroundTint="?attr/color_main1_500"
app:shapeAppearanceOverlay="@style/rounded"
diff --git a/app/src/main/res/layout/toast.xml b/app/src/main/res/layout/toast.xml
index 26b2790d3..4706b7ecd 100644
--- a/app/src/main/res/layout/toast.xml
+++ b/app/src/main/res/layout/toast.xml
@@ -35,6 +35,7 @@
android:layout_width="0dp"
android:layout_height="0dp"
android:src="@{shadow_color, default=@drawable/shape_toast_blue_background}"
+ android:contentDescription="@null"
app:layout_constraintWidth_max="@dimen/toast_max_width"
app:layout_constraintBottom_toBottomOf="@id/toast_message"
app:layout_constraintTop_toTopOf="@id/toast_message"
@@ -64,6 +65,7 @@
android:layout_marginStart="25dp"
android:adjustViewBounds="true"
android:src="@{icon, default=@drawable/check}"
+ android:contentDescription="@null"
tint="@{text_color}"
disableTint="@{do_not_tint}"
app:layout_constraintBottom_toBottomOf="parent"
diff --git a/app/src/main/res/layout/top_bar.xml b/app/src/main/res/layout/top_bar.xml
index bed8af872..058678ed8 100644
--- a/app/src/main/res/layout/top_bar.xml
+++ b/app/src/main/res/layout/top_bar.xml
@@ -68,6 +68,7 @@
android:layout_height="0dp"
android:padding="15dp"
android:src="@drawable/magnifying_glass"
+ android:contentDescription="@string/content_description_open_filter"
app:layout_constraintBottom_toBottomOf="@id/title"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toTopOf="@id/title"
@@ -80,6 +81,7 @@
android:layout_height="0dp"
android:padding="15dp"
android:src="@drawable/caret_left"
+ android:contentDescription="@string/content_description_cancel_filter"
app:layout_constraintBottom_toBottomOf="@id/search"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="@id/search"
@@ -121,6 +123,7 @@
android:layout_height="0dp"
android:padding="15dp"
android:src="@drawable/x"
+ android:contentDescription="@string/content_description_clear_filter"
app:layout_constraintBottom_toBottomOf="@id/search"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toTopOf="@id/search"
diff --git a/app/src/main/res/layout/welcome_page_1.xml b/app/src/main/res/layout/welcome_page_1.xml
index 0f71c0035..020d8a40e 100644
--- a/app/src/main/res/layout/welcome_page_1.xml
+++ b/app/src/main/res/layout/welcome_page_1.xml
@@ -14,6 +14,7 @@
android:layout_width="wrap_content"
android:layout_height="0dp"
android:src="@drawable/mountains"
+ android:contentDescription="@null"
android:adjustViewBounds="true"
android:scaleType="centerCrop"
app:layout_constraintStart_toStartOf="parent"
@@ -54,6 +55,7 @@
android:layout_height="@dimen/welcome_icon_size"
android:layout_marginTop="110dp"
android:src="@drawable/welcome_linphone_logo"
+ android:contentDescription="@null"
app:tint="?attr/color_main1_500"
app:layout_constraintDimensionRatio="1:1"
app:layout_constraintTop_toBottomOf="@id/title_second_line"
diff --git a/app/src/main/res/layout/welcome_page_2.xml b/app/src/main/res/layout/welcome_page_2.xml
index 9826a3741..c5a2c865c 100644
--- a/app/src/main/res/layout/welcome_page_2.xml
+++ b/app/src/main/res/layout/welcome_page_2.xml
@@ -14,6 +14,7 @@
android:layout_width="wrap_content"
android:layout_height="0dp"
android:src="@drawable/mountains"
+ android:contentDescription="@null"
android:adjustViewBounds="true"
android:scaleType="centerCrop"
app:layout_constraintStart_toStartOf="parent"
@@ -54,6 +55,7 @@
android:layout_height="@dimen/welcome_icon_size"
android:layout_marginTop="110dp"
android:src="@drawable/welcome_secured_logo"
+ android:contentDescription="@null"
app:tint="?attr/color_main1_500"
app:layout_constraintDimensionRatio="1:1"
app:layout_constraintTop_toBottomOf="@id/title_second_line"
diff --git a/app/src/main/res/layout/welcome_page_3.xml b/app/src/main/res/layout/welcome_page_3.xml
index 38a490176..1764d6a23 100644
--- a/app/src/main/res/layout/welcome_page_3.xml
+++ b/app/src/main/res/layout/welcome_page_3.xml
@@ -14,6 +14,7 @@
android:layout_width="wrap_content"
android:layout_height="0dp"
android:src="@drawable/mountains"
+ android:contentDescription="@null"
android:adjustViewBounds="true"
android:scaleType="centerCrop"
app:layout_constraintStart_toStartOf="parent"
@@ -54,6 +55,7 @@
android:layout_height="@dimen/welcome_icon_size"
android:layout_marginTop="110dp"
android:src="@drawable/welcome_open_source_logo"
+ android:contentDescription="@null"
app:tint="?attr/color_main1_500"
app:layout_constraintDimensionRatio="1:1"
app:layout_constraintTop_toBottomOf="@id/title_second_line"
diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml
index 304e5ddc8..d73c63ff4 100644
--- a/app/src/main/res/values/strings.xml
+++ b/app/src/main/res/values/strings.xml
@@ -688,4 +688,79 @@
Contact is not online
Open drawer menu
Go back
+ Dismiss notification
+ Save changes
+ Show menu
+ Confirm new participants list
+ Click to have more information
+ Click to remove participant
+ Toggles password visibility
+ Expands/retracts bottom sheet
+ Terminates the call
+ Answers the call
+ Starts a call
+ Starts a video call
+ Enables/disables sending your camera feed
+ Mute/un-mute your microphone
+ Changes output audio device
+ Changes camera (front/back) being used
+ Call is in paused state
+ Shows call statistics
+ You are recording this call
+ Removes the last digit or character
+ Merges calls into a conference
+ Opens filter area
+ Closes filter area
+ Clear current filter
+ Creates the group conversation
+ Starts the group call
+ Shows the numpad
+ Click to show all available options
+ Participant is muted
+ Participant is speaking
+ Add participants
+ Plays/pauses the video playback
+ Share file
+ Save file
+ Image attached to message
+ Video attached to message
+ File attached to message
+ This message is a reply to a previous message
+ This message was forwarded from another conversation
+ Click to have delivery status
+ Plays/pauses the voice message playback
+ Close attachments
+ Conversation has been silenced
+ Ephemeral messages are enabled
+ Scrolls to first unread message or to the bottom
+ Closes participants list
+ Cancels voice message recording
+ Stops voice message recording
+ Starts recording a voice message
+ Sends message in conversation
+ Message will no longer be a reply to a previous message
+ Opens emoji picker
+ Opens media picker
+ Opens camera to take a picture
+ Click to edit the subject of this conversation
+ Silences on/off this conversation
+ Conversation is being removed
+ This conversation isn\'t secured
+ Start a new conversation
+ Scroll to today
+ Schedule a meeting
+ Schedule the meeting
+ Edit the meeting
+ Share meeting address
+ Participants list
+ Device is trusted
+ Edit contact
+ Remove field
+ Show contacts list filters
+ Create a contact
+ Join the conference
+ Delete this CardDAV configuration
+ Save CardDAV configuration
+ Delete this LDAP configuration
+ Save LDAP configuration
\ No newline at end of file