From 06c258364f7ec84e52bb8dec609000133868eb06 Mon Sep 17 00:00:00 2001 From: Andrew Date: Fri, 15 Dec 2023 16:36:02 +1030 Subject: [PATCH] Use new strings for follow setting control message --- .../database/model/MessageRecord.java | 2 +- app/src/main/res/values/strings.xml | 2 +- .../utilities/UpdateMessageBuilder.kt | 46 +++++++++---------- .../utilities/recipients/Recipient.java | 1 + libsession/src/main/res/values/strings.xml | 8 +++- 5 files changed, 30 insertions(+), 29 deletions(-) diff --git a/app/src/main/java/org/thoughtcrime/securesms/database/model/MessageRecord.java b/app/src/main/java/org/thoughtcrime/securesms/database/model/MessageRecord.java index 3b61bcd3c6..b5b0aea20c 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/database/model/MessageRecord.java +++ b/app/src/main/java/org/thoughtcrime/securesms/database/model/MessageRecord.java @@ -120,7 +120,7 @@ public abstract class MessageRecord extends DisplayRecord { return new SpannableString(UpdateMessageBuilder.INSTANCE.buildGroupUpdateMessage(context, updateMessageData, getIndividualRecipient().getAddress().serialize(), isOutgoing())); } else if (isExpirationTimerUpdate()) { int seconds = (int) (getExpiresIn() / 1000); - return new SpannableString(UpdateMessageBuilder.INSTANCE.buildExpirationTimerMessage(context, seconds, getIndividualRecipient().getAddress().serialize(), getThreadId(), isOutgoing(), getTimestamp(), expireStarted)); + return new SpannableString(UpdateMessageBuilder.INSTANCE.buildExpirationTimerMessage(context, seconds, getRecipient(), getIndividualRecipient().getAddress().serialize(), isOutgoing(), getTimestamp(), expireStarted)); } else if (isDataExtractionNotification()) { if (isScreenshotNotification()) return new SpannableString((UpdateMessageBuilder.INSTANCE.buildDataExtractionMessage(context, DataExtractionNotificationInfoMessage.Kind.SCREENSHOT, getIndividualRecipient().getAddress().serialize()))); else if (isMediaSavedNotification()) return new SpannableString((UpdateMessageBuilder.INSTANCE.buildDataExtractionMessage(context, DataExtractionNotificationInfoMessage.Kind.MEDIA_SAVED, getIndividualRecipient().getAddress().serialize()))); diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index ab8d322b8f..55ff86510d 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -1046,7 +1046,7 @@ Navigate Back Close Dialog Disappearing Messages - This setting applies to everyone in this conversation. + This setting applies to messages you send in this conversation. Original version of disappearing messages. Legacy Messages disappear after they have been sent. diff --git a/libsession/src/main/java/org/session/libsession/messaging/utilities/UpdateMessageBuilder.kt b/libsession/src/main/java/org/session/libsession/messaging/utilities/UpdateMessageBuilder.kt index bc76fff841..82c0a0a1be 100644 --- a/libsession/src/main/java/org/session/libsession/messaging/utilities/UpdateMessageBuilder.kt +++ b/libsession/src/main/java/org/session/libsession/messaging/utilities/UpdateMessageBuilder.kt @@ -1,7 +1,6 @@ package org.session.libsession.messaging.utilities import android.content.Context -import network.loki.messenger.libsession_util.util.ExpiryMode import org.session.libsession.R import org.session.libsession.messaging.MessagingModuleConfiguration import org.session.libsession.messaging.calls.CallMessageType @@ -10,10 +9,11 @@ import org.session.libsession.messaging.calls.CallMessageType.CALL_INCOMING import org.session.libsession.messaging.calls.CallMessageType.CALL_MISSED import org.session.libsession.messaging.calls.CallMessageType.CALL_OUTGOING import org.session.libsession.messaging.contacts.Contact -import org.session.libsession.messaging.messages.ExpirationConfiguration +import org.session.libsession.messaging.messages.ExpirationConfiguration.Companion.isNewConfigEnabled import org.session.libsession.messaging.sending_receiving.data_extraction.DataExtractionNotificationInfoMessage import org.session.libsession.utilities.ExpirationUtil import org.session.libsession.utilities.getExpirationTypeDisplayValue +import org.session.libsession.utilities.recipients.Recipient import org.session.libsession.utilities.truncateIdForDisplay object UpdateMessageBuilder { @@ -79,8 +79,8 @@ object UpdateMessageBuilder { fun buildExpirationTimerMessage( context: Context, duration: Long, + recipient: Recipient, senderId: String? = null, - threadId: Long, isOutgoing: Boolean = false, timestamp: Long, expireStarted: Long @@ -89,34 +89,30 @@ object UpdateMessageBuilder { val senderName = if (isOutgoing) context.getString(R.string.MessageRecord_you) else getSenderName(senderId!!) return if (duration <= 0) { if (isOutgoing) { - if (ExpirationConfiguration.isNewConfigEnabled) { - context.getString(R.string.MessageRecord_you_turned_off_disappearing_messages) - } else { - context.getString(R.string.MessageRecord_you_disabled_disappearing_messages) - } + if (!isNewConfigEnabled) context.getString(R.string.MessageRecord_you_disabled_disappearing_messages) + else context.getString(if (recipient.is1on1) R.string.MessageRecord_you_turned_off_disappearing_messages_1_on_1 else R.string.MessageRecord_you_turned_off_disappearing_messages) } else { - if (ExpirationConfiguration.isNewConfigEnabled) { - context.getString(R.string.MessageRecord_s_turned_off_disappearing_messages, senderName) - } else { - context.getString(R.string.MessageRecord_s_disabled_disappearing_messages, senderName) - } + if (!isNewConfigEnabled) context.getString(R.string.MessageRecord_s_disabled_disappearing_messages, senderName) + else context.getString(if (recipient.is1on1) R.string.MessageRecord_s_turned_off_disappearing_messages_1_on_1 else R.string.MessageRecord_s_turned_off_disappearing_messages, senderName) } } else { val time = ExpirationUtil.getExpirationDisplayValue(context, duration.toInt()) - val config = threadId.let { storage.getExpirationConfiguration(it) } - val state = context.getExpirationTypeDisplayValue(timestamp == expireStarted) + val action = context.getExpirationTypeDisplayValue(timestamp == expireStarted) if (isOutgoing) { - if (ExpirationConfiguration.isNewConfigEnabled) { - context.getString(R.string.MessageRecord_you_set_messages_to_disappear_s_after_s, time, state) - } else { - context.getString(R.string.MessageRecord_you_set_disappearing_message_time_to_s, time) - } + if (!isNewConfigEnabled) context.getString(R.string.MessageRecord_you_set_disappearing_message_time_to_s, time) + else context.getString( + if (recipient.is1on1) R.string.MessageRecord_you_set_messages_to_disappear_s_after_s_1_on_1 else R.string.MessageRecord_you_set_messages_to_disappear_s_after_s, + time, + action + ) } else { - if (ExpirationConfiguration.isNewConfigEnabled) { - context.getString(R.string.MessageRecord_s_set_messages_to_disappear_s_after_s, senderName, time, state) - } else { - context.getString(R.string.MessageRecord_s_set_disappearing_message_time_to_s, senderName, time) - } + if (!isNewConfigEnabled) context.getString(R.string.MessageRecord_s_set_disappearing_message_time_to_s, senderName, time) + else context.getString( + if (recipient.is1on1) R.string.MessageRecord_s_set_messages_to_disappear_s_after_s_1_on_1 else R.string.MessageRecord_s_set_messages_to_disappear_s_after_s, + senderName, + time, + action + ) } } } diff --git a/libsession/src/main/java/org/session/libsession/utilities/recipients/Recipient.java b/libsession/src/main/java/org/session/libsession/utilities/recipients/Recipient.java index ce1118aa5c..720806ef89 100644 --- a/libsession/src/main/java/org/session/libsession/utilities/recipients/Recipient.java +++ b/libsession/src/main/java/org/session/libsession/utilities/recipients/Recipient.java @@ -457,6 +457,7 @@ public class Recipient implements RecipientModifiedListener { public boolean isContactRecipient() { return address.isContact(); } + public boolean is1on1() { return address.isContact() && !isLocalNumber; } public boolean isOpenGroupRecipient() { return address.isOpenGroup(); diff --git a/libsession/src/main/res/values/strings.xml b/libsession/src/main/res/values/strings.xml index 922a76d113..3d587cfbfc 100644 --- a/libsession/src/main/res/values/strings.xml +++ b/libsession/src/main/res/values/strings.xml @@ -16,14 +16,18 @@ Called %s Missed call from %s You disabled disappearing messages. - You have turned off disappearing messages + You have turned off disappearing messages. + You turned off disappearing messages. Messages you send will no longer disappear. %1$s disabled disappearing messages. - %1$s turned off disappearing messages + %1$s turned off disappearing messages. + %1$s has turned off disappearing messages. Messages they send will no longer disappear. You set the disappearing message timer to %1$s You have set messages to disappear %1$s after they have been %2$s + You set your messages to disappear %1$s after they have been %2$s. You have changed messages to disappear %1$s after they have been %2$s %1$s set the disappearing message timer to %2$s %1$s has set messages to disappear %2$s after they have been %3$s + %1$s has set their messages to disappear %2$s after they have been %3$s. %1$s has changed messages to disappear %2$s after they have been %3$s %1$s took a screenshot. Media saved by %1$s.