From de3088f706aaf6c48525cbdb3570ca16482b12fa Mon Sep 17 00:00:00 2001
From: Ciphreon <193170968+Ciphreon@users.noreply.github.com>
Date: Sat, 5 Apr 2025 23:03:22 +0200
Subject: [PATCH] Show "declined" for declined voice and video calls instead of
"missed".
Closes #14081
Fixes #14080
---
.../preferences/CallPreference.kt | 31 ++++++++++++-------
.../database/model/MmsMessageRecord.java | 2 ++
app/src/main/res/values/strings.xml | 4 +++
3 files changed, 25 insertions(+), 12 deletions(-)
diff --git a/app/src/main/java/org/thoughtcrime/securesms/components/settings/conversation/preferences/CallPreference.kt b/app/src/main/java/org/thoughtcrime/securesms/components/settings/conversation/preferences/CallPreference.kt
index 42159fafdb..fb947d79d0 100644
--- a/app/src/main/java/org/thoughtcrime/securesms/components/settings/conversation/preferences/CallPreference.kt
+++ b/app/src/main/java/org/thoughtcrime/securesms/components/settings/conversation/preferences/CallPreference.kt
@@ -83,18 +83,25 @@ object CallPreference {
@StringRes
private fun getMissedCallString(isVideo: Boolean, callEvent: CallTable.Event): Int {
- return if (callEvent == CallTable.Event.MISSED_NOTIFICATION_PROFILE) {
- if (isVideo) {
- R.string.MessageRecord_missed_video_call_notification_profile
- } else {
- R.string.MessageRecord_missed_voice_call_notification_profile
- }
- } else {
- if (isVideo) {
- R.string.MessageRecord_missed_video_call
- } else {
- R.string.MessageRecord_missed_voice_call
- }
+ return when (callEvent) {
+ CallTable.Event.MISSED_NOTIFICATION_PROFILE ->
+ if (isVideo) {
+ R.string.MessageRecord_missed_video_call_notification_profile
+ } else {
+ R.string.MessageRecord_missed_voice_call_notification_profile
+ }
+ CallTable.Event.NOT_ACCEPTED ->
+ if (isVideo) {
+ R.string.MessageRecord_declined_video_call
+ } else {
+ R.string.MessageRecord_declined_voice_call
+ }
+ else ->
+ if (isVideo) {
+ R.string.MessageRecord_missed_video_call
+ } else {
+ R.string.MessageRecord_missed_voice_call
+ }
}
}
diff --git a/app/src/main/java/org/thoughtcrime/securesms/database/model/MmsMessageRecord.java b/app/src/main/java/org/thoughtcrime/securesms/database/model/MmsMessageRecord.java
index c9cbbafaa1..c3f35deb42 100644
--- a/app/src/main/java/org/thoughtcrime/securesms/database/model/MmsMessageRecord.java
+++ b/app/src/main/java/org/thoughtcrime/securesms/database/model/MmsMessageRecord.java
@@ -267,6 +267,8 @@ public class MmsMessageRecord extends MessageRecord {
int message;
if (call.getEvent() == CallTable.Event.MISSED_NOTIFICATION_PROFILE) {
message = isVideoCall ? R.string.MessageRecord_missed_video_call_notification_profile : R.string.MessageRecord_missed_voice_call_notification_profile;
+ } else if (call.getEvent() == CallTable.Event.NOT_ACCEPTED) {
+ message = isVideoCall ? R.string.MessageRecord_declined_video_call : R.string.MessageRecord_declined_voice_call;
} else {
message = isVideoCall ? R.string.MessageRecord_missed_video_call : R.string.MessageRecord_missed_voice_call;
}
diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml
index 2c6eb3a1a7..6e3bceeec2 100644
--- a/app/src/main/res/values/strings.xml
+++ b/app/src/main/res/values/strings.xml
@@ -1787,6 +1787,10 @@
Missed voice call
Missed video call
+
+ Declined voice call
+
+ Declined video call
Missed voice call while notification profile on