diff --git a/app/src/main/java/org/linphone/ui/main/chat/model/EventModel.kt b/app/src/main/java/org/linphone/ui/main/chat/model/EventModel.kt
index 404f3f365..eb7b28fdb 100644
--- a/app/src/main/java/org/linphone/ui/main/chat/model/EventModel.kt
+++ b/app/src/main/java/org/linphone/ui/main/chat/model/EventModel.kt
@@ -37,6 +37,8 @@ class EventModel
val icon: Drawable?
init {
+ val name = getName()
+
text = when (eventLog.type) {
EventLog.Type.ConferenceCreated -> AppUtils.getString(
R.string.conversation_event_conference_created
@@ -46,11 +48,11 @@ class EventModel
)
EventLog.Type.ConferenceParticipantAdded -> AppUtils.getFormattedString(
R.string.conversation_event_participant_added,
- getName()
+ name
)
EventLog.Type.ConferenceParticipantRemoved -> AppUtils.getFormattedString(
R.string.conversation_event_participant_removed,
- getName()
+ name
)
EventLog.Type.ConferenceSubjectChanged -> AppUtils.getFormattedString(
R.string.conversation_event_subject_changed,
@@ -58,19 +60,19 @@ class EventModel
)
EventLog.Type.ConferenceParticipantSetAdmin -> AppUtils.getFormattedString(
R.string.conversation_event_admin_set,
- getName()
+ name
)
EventLog.Type.ConferenceParticipantUnsetAdmin -> AppUtils.getFormattedString(
R.string.conversation_event_admin_unset,
- getName()
+ name
)
EventLog.Type.ConferenceParticipantDeviceAdded -> AppUtils.getFormattedString(
R.string.conversation_event_device_added,
- getName()
+ name
)
EventLog.Type.ConferenceParticipantDeviceRemoved -> AppUtils.getFormattedString(
R.string.conversation_event_device_removed,
- getName()
+ name
)
EventLog.Type.ConferenceEphemeralMessageEnabled -> AppUtils.getString(
R.string.conversation_event_ephemeral_messages_enabled
@@ -84,6 +86,23 @@ class EventModel
Locale.getDefault()
)
)
+ EventLog.Type.ConferenceSecurityEvent -> {
+ when (eventLog.securityEventType) {
+ EventLog.SecurityEventType.SecurityLevelDowngraded -> AppUtils.getFormattedString(
+ R.string.conversation_event_security_event_level_downgraded, name
+ )
+ EventLog.SecurityEventType.ParticipantMaxDeviceCountExceeded -> AppUtils.getFormattedString(
+ R.string.conversation_event_security_event_max_participant_count_exceeded, name
+ )
+ EventLog.SecurityEventType.EncryptionIdentityKeyChanged -> AppUtils.getFormattedString(
+ R.string.conversation_event_security_event_lime_identity_key_changed, name
+ )
+ EventLog.SecurityEventType.ManInTheMiddleDetected -> AppUtils.getFormattedString(
+ R.string.conversation_event_security_event_man_in_the_middle_detected, name
+ )
+ else -> eventLog.securityEventType.name
+ }
+ }
else -> {
eventLog.type.name
}
@@ -97,7 +116,8 @@ class EventModel
EventLog.Type.ConferenceEphemeralMessageLifetimeChanged -> {
R.drawable.clock_countdown
}
- EventLog.Type.ConferenceTerminated -> {
+ EventLog.Type.ConferenceTerminated,
+ EventLog.Type.ConferenceSecurityEvent -> {
R.drawable.warning_circle
}
EventLog.Type.ConferenceSubjectChanged -> {
@@ -121,7 +141,11 @@ class EventModel
@WorkerThread
fun getName(): String {
- val address = eventLog.participantAddress ?: eventLog.peerAddress
+ val address = if (eventLog.type == EventLog.Type.ConferenceSecurityEvent) {
+ eventLog.securityEventFaultyDeviceAddress
+ } else {
+ eventLog.participantAddress ?: eventLog.peerAddress
+ }
val name = if (address != null) {
coreContext.contactsManager.findDisplayName(address)
} else {
diff --git a/app/src/main/res/values-fr/strings.xml b/app/src/main/res/values-fr/strings.xml
index b0caa578b..2b9baa643 100644
--- a/app/src/main/res/values-fr/strings.xml
+++ b/app/src/main/res/values-fr/strings.xml
@@ -517,6 +517,10 @@
Messages éphémères activés
Messages éphémères désactivés
Messages éphémères : %s
+ Les clés de sécurité ont changé pour %s
+ Attaque de l\'homme du milieu détectée pour %s
+ Baisse du niveau de sécurité due à %s
+ Nombre maximum de terminaux dépassé pour %s
Médias & documents
Médias partagés
diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml
index 63e78e07b..264693b85 100644
--- a/app/src/main/res/values/strings.xml
+++ b/app/src/main/res/values/strings.xml
@@ -557,6 +557,10 @@
Ephemeral messages have been enabled
Ephemeral messages have been disabled
Ephemeral lifetime is now %s
+ LIME identity key changed for %s
+ Man-in-the-middle attack detected for %s
+ Security level decreased because of %s
+ Max participant count exceeded by %s
Media & documents
Shared media