add content descriptions for call action buttons

Daniel Gultsch created

Change summary

src/main/java/eu/siacs/conversations/ui/RtpSessionActivity.java | 18 +++
src/main/res/values/strings.xml                                 |  9 +
2 files changed, 27 insertions(+)

Detailed changes

src/main/java/eu/siacs/conversations/ui/RtpSessionActivity.java 🔗

@@ -1051,13 +1051,19 @@ public class RtpSessionActivity extends XmppActivity
             case EARPIECE -> {
                 this.binding.inCallActionRight.setImageResource(R.drawable.ic_volume_off_24dp);
                 if (numberOfChoices >= 2) {
+                    this.binding.inCallActionRight.setContentDescription(
+                            getString(R.string.call_is_using_earpiece_tap_to_switch_to_speaker));
                     this.binding.inCallActionRight.setOnClickListener(this::switchToSpeaker);
                 } else {
+                    this.binding.inCallActionRight.setContentDescription(
+                            getString(R.string.call_is_using_earpiece));
                     this.binding.inCallActionRight.setOnClickListener(null);
                     this.binding.inCallActionRight.setClickable(false);
                 }
             }
             case WIRED_HEADSET -> {
+                this.binding.inCallActionRight.setContentDescription(
+                        getString(R.string.call_is_using_wired_headset));
                 this.binding.inCallActionRight.setImageResource(R.drawable.ic_headset_mic_24dp);
                 this.binding.inCallActionRight.setOnClickListener(null);
                 this.binding.inCallActionRight.setClickable(false);
@@ -1065,13 +1071,19 @@ public class RtpSessionActivity extends XmppActivity
             case SPEAKER_PHONE -> {
                 this.binding.inCallActionRight.setImageResource(R.drawable.ic_volume_up_24dp);
                 if (numberOfChoices >= 2) {
+                    this.binding.inCallActionRight.setContentDescription(
+                            getString(R.string.call_is_using_speaker_tap_to_switch_to_earpiece));
                     this.binding.inCallActionRight.setOnClickListener(this::switchToEarpiece);
                 } else {
+                    this.binding.inCallActionRight.setContentDescription(
+                            getString(R.string.call_is_using_speaker));
                     this.binding.inCallActionRight.setOnClickListener(null);
                     this.binding.inCallActionRight.setClickable(false);
                 }
             }
             case BLUETOOTH -> {
+                this.binding.inCallActionRight.setContentDescription(
+                        getString(R.string.call_is_using_bluetooth));
                 this.binding.inCallActionRight.setImageResource(R.drawable.ic_bluetooth_audio_24dp);
                 this.binding.inCallActionRight.setOnClickListener(null);
                 this.binding.inCallActionRight.setClickable(false);
@@ -1089,15 +1101,21 @@ public class RtpSessionActivity extends XmppActivity
                     R.drawable.ic_flip_camera_android_24dp);
             this.binding.inCallActionFarRight.setVisibility(View.VISIBLE);
             this.binding.inCallActionFarRight.setOnClickListener(this::switchCamera);
+            this.binding.inCallActionFarRight.setContentDescription(
+                    getString(R.string.flip_camera));
         } else {
             this.binding.inCallActionFarRight.setVisibility(View.GONE);
         }
         if (videoEnabled) {
             this.binding.inCallActionRight.setImageResource(R.drawable.ic_videocam_24dp);
             this.binding.inCallActionRight.setOnClickListener(this::disableVideo);
+            this.binding.inCallActionRight.setContentDescription(
+                    getString(R.string.video_is_enabled_tap_to_disable));
         } else {
             this.binding.inCallActionRight.setImageResource(R.drawable.ic_videocam_off_24dp);
             this.binding.inCallActionRight.setOnClickListener(this::enableVideo);
+            this.binding.inCallActionRight.setContentDescription(
+                    getString(R.string.video_is_disabled_tap_to_enable));
         }
     }
 

src/main/res/values/strings.xml 🔗

@@ -1070,4 +1070,13 @@
     <string name="edit_name_and_topic">Edit name and topic</string>
     <string name="edit_configuration">Change configuration</string>
     <string name="change_notification_settings">Change notification settings</string>
+    <string name="call_is_using_earpiece_tap_to_switch_to_speaker">Call is using earpiece. Tap to switch to speaker.</string>
+    <string name="call_is_using_earpiece">Call is using earpiece.</string>
+    <string name="call_is_using_wired_headset">Call is using wired headset</string>
+    <string name="call_is_using_speaker_tap_to_switch_to_earpiece">Call is using speaker. Tap to switch to earpiece.</string>
+    <string name="call_is_using_speaker">Call is using speaker.</string>
+    <string name="call_is_using_bluetooth">Call is using bluetooth.</string>
+    <string name="flip_camera">Flip camera</string>
+    <string name="video_is_enabled_tap_to_disable">Video is enabled. Tap to disable.</string>
+    <string name="video_is_disabled_tap_to_enable">Video is disabled. Tap to enabled.</string>
 </resources>