From d6f8f8acb3c1cf33577b8291db7fd61bc40ccfcd Mon Sep 17 00:00:00 2001 From: Cody Henthorne Date: Tue, 3 Dec 2024 12:17:06 -0500 Subject: [PATCH] Fix calls silent ringer bug. --- .../service/webrtc/IncomingCallActionProcessor.java | 6 ++++++ .../securesms/webrtc/audio/AudioManagerCommand.kt | 4 ++-- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/app/src/main/java/org/thoughtcrime/securesms/service/webrtc/IncomingCallActionProcessor.java b/app/src/main/java/org/thoughtcrime/securesms/service/webrtc/IncomingCallActionProcessor.java index 4491faf7e4..510a732cad 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/service/webrtc/IncomingCallActionProcessor.java +++ b/app/src/main/java/org/thoughtcrime/securesms/service/webrtc/IncomingCallActionProcessor.java @@ -2,6 +2,7 @@ package org.thoughtcrime.securesms.service.webrtc; import android.net.Uri; import android.os.ResultReceiver; +import android.text.TextUtils; import androidx.annotation.NonNull; import androidx.annotation.Nullable; @@ -204,6 +205,11 @@ public class IncomingCallActionProcessor extends DeviceAwareActionProcessor { ringtone = SignalStore.settings().getCallRingtone(); } + if (TextUtils.isEmpty(ringtone.toString())) { + Log.i(TAG, "Ringtone is likely set to silent"); + ringtone = null; + } + webRtcInteractor.startIncomingRinger(ringtone, vibrateState == RecipientTable.VibrateState.ENABLED || (vibrateState == RecipientTable.VibrateState.DEFAULT && SignalStore.settings().isCallVibrateEnabled())); } diff --git a/app/src/main/java/org/thoughtcrime/securesms/webrtc/audio/AudioManagerCommand.kt b/app/src/main/java/org/thoughtcrime/securesms/webrtc/audio/AudioManagerCommand.kt index 52306bad2e..8bc95e18ec 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/webrtc/audio/AudioManagerCommand.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/webrtc/audio/AudioManagerCommand.kt @@ -27,7 +27,7 @@ sealed class AudioManagerCommand : Parcelable { } } - class StartIncomingRinger(val ringtoneUri: Uri, val vibrate: Boolean) : AudioManagerCommand() { + class StartIncomingRinger(val ringtoneUri: Uri?, val vibrate: Boolean) : AudioManagerCommand() { override fun writeToParcel(parcel: Parcel, flags: Int) { parcel.writeParcelable(ringtoneUri, flags) ParcelUtil.writeBoolean(parcel, vibrate) @@ -37,7 +37,7 @@ sealed class AudioManagerCommand : Parcelable { @JvmField val CREATOR: Parcelable.Creator = ParcelCheat { parcel -> StartIncomingRinger( - ringtoneUri = parcel.readParcelableCompat(Uri::class.java)!!, + ringtoneUri = parcel.readParcelableCompat(Uri::class.java), vibrate = ParcelUtil.readBoolean(parcel) ) }