From 07600c57ea62ce2fe1a43f4ff391af458fa4b053 Mon Sep 17 00:00:00 2001 From: Daniel Gultsch Date: Mon, 15 Jul 2024 10:06:40 +0200 Subject: [PATCH] catch rare race conditions when pressing switch to earpiece --- .../conversations/ui/RtpSessionActivity.java | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/src/main/java/eu/siacs/conversations/ui/RtpSessionActivity.java b/src/main/java/eu/siacs/conversations/ui/RtpSessionActivity.java index 1e68fae2e9017961fa0c203f76151a26ad85e99c..06cf4e5140654a82ab66a3b78372414139034f78 100644 --- a/src/main/java/eu/siacs/conversations/ui/RtpSessionActivity.java +++ b/src/main/java/eu/siacs/conversations/ui/RtpSessionActivity.java @@ -1284,13 +1284,21 @@ public class RtpSessionActivity extends XmppActivity } private void switchToEarpiece(final View view) { - requireCallIntegration().setAudioDevice(CallIntegration.AudioDevice.EARPIECE); - acquireProximityWakeLock(); + try { + requireCallIntegration().setAudioDevice(CallIntegration.AudioDevice.EARPIECE); + acquireProximityWakeLock(); + } catch (final IllegalStateException e) { + Toast.makeText(this, e.getMessage(), Toast.LENGTH_SHORT).show(); + } } private void switchToSpeaker(final View view) { - requireCallIntegration().setAudioDevice(CallIntegration.AudioDevice.SPEAKER_PHONE); - releaseProximityWakeLock(); + try { + requireCallIntegration().setAudioDevice(CallIntegration.AudioDevice.SPEAKER_PHONE); + releaseProximityWakeLock(); + } catch (final IllegalStateException e) { + Toast.makeText(this, e.getMessage(), Toast.LENGTH_SHORT).show(); + } } private void retry(final View view) {