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 52fe83170a..665feda063 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 @@ -5,8 +5,11 @@ import org.session.libsession.R import org.session.libsession.messaging.MessagingModuleConfiguration import org.session.libsession.messaging.calls.CallMessageType import org.session.libsession.messaging.contacts.Contact +import org.session.libsession.messaging.messages.ExpirationConfiguration import org.session.libsession.messaging.sending_receiving.data_extraction.DataExtractionNotificationInfoMessage +import org.session.libsession.utilities.Address import org.session.libsession.utilities.ExpirationUtil +import org.session.libsignal.protos.SignalServiceProtos.Content.ExpirationType object UpdateMessageBuilder { @@ -84,12 +87,40 @@ object UpdateMessageBuilder { storage.getContactWithSessionID(sender!!)?.displayName(Contact.ContactContext.REGULAR) ?: sender } else { context.getString(R.string.MessageRecord_you) } return if (duration <= 0) { - if (isOutgoing) context.getString(R.string.MessageRecord_you_disabled_disappearing_messages) - else context.getString(R.string.MessageRecord_s_disabled_disappearing_messages, senderName) + 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) + } + } else { + if (ExpirationConfiguration.isNewConfigEnabled) { + context.getString(R.string.MessageRecord_s_turned_off_disappearing_messages) + } else { + context.getString(R.string.MessageRecord_s_disabled_disappearing_messages, senderName) + } + } } else { val time = ExpirationUtil.getExpirationDisplayValue(context, duration.toInt()) - if (isOutgoing)context.getString(R.string.MessageRecord_you_set_disappearing_message_time_to_s, time) - else context.getString(R.string.MessageRecord_s_set_disappearing_message_time_to_s, senderName, time) + val config = storage.getExpirationConfiguration(storage.getOrCreateThreadIdFor(Address.fromSerialized(sender!!))) + val state = when (config?.expirationType) { + ExpirationType.DELETE_AFTER_SEND -> context.getString(R.string.MessageRecord_state_sent) + ExpirationType.DELETE_AFTER_READ -> context.getString(R.string.MessageRecord_state_read) + else -> "" + } + 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) + } + } 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) + } + } } } diff --git a/libsession/src/main/res/values/strings.xml b/libsession/src/main/res/values/strings.xml index c9904920f2..922a76d113 100644 --- a/libsession/src/main/res/values/strings.xml +++ b/libsession/src/main/res/values/strings.xml @@ -16,11 +16,19 @@ Called %s Missed call from %s You disabled disappearing messages. + You have turned off disappearing messages %1$s disabled disappearing messages. + %1$s turned off disappearing messages You set the disappearing message timer to %1$s + You have set 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 changed messages to disappear %2$s after they have been %3$s %1$s took a screenshot. Media saved by %1$s. + read + sent Off