@ -34,14 +34,8 @@ object UpdateMessageBuilder {
val storage = MessagingModuleConfiguration . shared . storage
private fun getSenderName ( senderId : String ) = storage . getContactWithAccountID ( senderId )
?. displayName ( Contact . ContactContext . REGULAR )
?: truncateIdForDisplay ( senderId )
private fun getGroupMemberName ( groupId : AccountId ? , memberId : String ) =
storage . getContactWithAccountID ( memberId ) ?. displayName ( Contact . ContactContext . REGULAR )
?: groupId ?. let { MessagingModuleConfiguration . shared . configFactory . withGroupConfigs ( it ) { it . groupMembers . getOrNull ( memberId ) ?. name } }
?: truncateIdForDisplay ( memberId )
private fun getGroupMemberName ( memberId : String , groupId : AccountId ? = null ) =
storage . getContactNameWithAccountID ( memberId , groupId )
@JvmStatic
fun buildGroupUpdateMessage (
@ -86,19 +80,19 @@ object UpdateMessageBuilder {
}
1 -> {
Phrase . from ( context , R . string . legacyGroupMemberNew )
. put ( NAME _KEY , getGroupMemberName ( groupV2Id, updateData. updatedMembers . elementAt ( 0 ) ) )
. put ( NAME _KEY , getGroupMemberName ( updateData. updatedMembers . elementAt ( 0 ) , groupV2Id ) )
. format ( )
}
2 -> {
Phrase . from ( context , R . string . legacyGroupMemberTwoNew )
. put ( NAME _KEY , getGroupMemberName ( groupV2Id, updateData. updatedMembers . elementAt ( 0 ) ) )
. put ( OTHER _NAME _KEY , getGroupMemberName ( groupV2Id, updateData. updatedMembers . elementAt ( 1 ) ) )
. put ( NAME _KEY , getGroupMemberName ( updateData. updatedMembers . elementAt ( 0 ) , groupV2Id ) )
. put ( OTHER _NAME _KEY , getGroupMemberName ( updateData. updatedMembers . elementAt ( 1 ) , groupV2Id ) )
. format ( )
}
else -> {
val newMemberCountMinusOne = newMemberCount - 1
Phrase . from ( context , R . string . legacyGroupMemberNewMultiple )
. put ( NAME _KEY , getGroupMemberName ( groupV2Id, updateData. updatedMembers . elementAt ( 0 ) ) )
. put ( NAME _KEY , getGroupMemberName ( updateData. updatedMembers . elementAt ( 0 ) , groupV2Id ) )
. put ( COUNT _KEY , newMemberCountMinusOne )
. format ( )
}
@ -126,14 +120,14 @@ object UpdateMessageBuilder {
" " // Return an empty string - we don't want to show the error in the conversation
}
1 -> Phrase . from ( context , R . string . groupRemoved )
. put ( NAME _KEY , getGroupMemberName ( groupV2Id, updateData. updatedMembers . elementAt ( 0 ) ) )
. put ( NAME _KEY , getGroupMemberName ( updateData. updatedMembers . elementAt ( 0 ) , groupV2Id ) )
. format ( )
2 -> Phrase . from ( context , R . string . groupRemovedTwo )
. put ( NAME _KEY , getGroupMemberName ( groupV2Id, updateData. updatedMembers . elementAt ( 0 ) ) )
. put ( OTHER _NAME _KEY , getGroupMemberName ( groupV2Id, updateData. updatedMembers . elementAt ( 1 ) ) )
. put ( NAME _KEY , getGroupMemberName ( updateData. updatedMembers . elementAt ( 0 ) , groupV2Id ) )
. put ( OTHER _NAME _KEY , getGroupMemberName ( updateData. updatedMembers . elementAt ( 1 ) , groupV2Id ) )
. format ( )
else -> Phrase . from ( context , R . string . groupRemovedMultiple )
. put ( NAME _KEY , getGroupMemberName ( groupV2Id, updateData. updatedMembers . elementAt ( 0 ) ) )
. put ( NAME _KEY , getGroupMemberName ( updateData. updatedMembers . elementAt ( 0 ) , groupV2Id ) )
. put ( COUNT _KEY , updateData . updatedMembers . size - 1 )
. format ( )
}
@ -150,14 +144,14 @@ object UpdateMessageBuilder {
" " // Return an empty string - we don't want to show the error in the conversation
}
1 -> Phrase . from ( context , R . string . groupRemoved )
. put ( NAME _KEY , getGroupMemberName ( groupV2Id, updateData. updatedMembers . elementAt ( 0 ) ) )
. put ( NAME _KEY , getGroupMemberName ( updateData. updatedMembers . elementAt ( 0 ) , groupV2Id ) )
. format ( )
2 -> Phrase . from ( context , R . string . groupRemovedTwo )
. put ( NAME _KEY , getGroupMemberName ( groupV2Id, updateData. updatedMembers . elementAt ( 0 ) ) )
. put ( OTHER _NAME _KEY , getGroupMemberName ( groupV2Id, updateData. updatedMembers . elementAt ( 1 ) ) )
. put ( NAME _KEY , getGroupMemberName ( updateData. updatedMembers . elementAt ( 0 ) , groupV2Id ) )
. put ( OTHER _NAME _KEY , getGroupMemberName ( updateData. updatedMembers . elementAt ( 1 ) , groupV2Id ) )
. format ( )
else -> Phrase . from ( context , R . string . groupRemovedMultiple )
. put ( NAME _KEY , getGroupMemberName ( groupV2Id, updateData. updatedMembers . elementAt ( 0 ) ) )
. put ( NAME _KEY , getGroupMemberName ( updateData. updatedMembers . elementAt ( 0 ) , groupV2Id ) )
. put ( COUNT _KEY , updateData . updatedMembers . size - 1 )
. format ( )
}
@ -173,14 +167,14 @@ object UpdateMessageBuilder {
" " // Return an empty string - we don't want to show the error in the conversation
}
1 -> Phrase . from ( context , R . string . groupMemberLeft )
. put ( NAME _KEY , getGroupMemberName ( groupV2Id, updateData. updatedMembers . elementAt ( 0 ) ) )
. put ( NAME _KEY , getGroupMemberName ( updateData. updatedMembers . elementAt ( 0 ) , groupV2Id ) )
. format ( )
2 -> Phrase . from ( context , R . string . groupMemberLeftTwo )
. put ( NAME _KEY , getGroupMemberName ( groupV2Id, updateData. updatedMembers . elementAt ( 0 ) ) )
. put ( OTHER _NAME _KEY , getGroupMemberName ( groupV2Id, updateData. updatedMembers . elementAt ( 1 ) ) )
. put ( NAME _KEY , getGroupMemberName ( updateData. updatedMembers . elementAt ( 0 ) , groupV2Id ) )
. put ( OTHER _NAME _KEY , getGroupMemberName ( updateData. updatedMembers . elementAt ( 1 ) , groupV2Id ) )
. format ( )
else -> Phrase . from ( context , R . string . groupMemberLeftMultiple )
. put ( NAME _KEY , getGroupMemberName ( groupV2Id, updateData. updatedMembers . elementAt ( 0 ) ) )
. put ( NAME _KEY , getGroupMemberName ( updateData. updatedMembers . elementAt ( 0 ) , groupV2Id ) )
. put ( COUNT _KEY , updateData . updatedMembers . size - 1 )
. format ( )
}
@ -208,16 +202,16 @@ object UpdateMessageBuilder {
. format ( )
number == 1 -> Phrase . from ( context ,
if ( historyShared ) R . string . groupMemberNewHistory else R . string . groupMemberNew )
. put ( NAME _KEY , getGroupMemberName ( groupV2Id, updateData. sessionIds . first ( ) ) )
. put ( NAME _KEY , getGroupMemberName ( updateData. sessionIds . first ( ) , groupV2Id ) )
. format ( )
number == 2 && containsUser -> Phrase . from ( context ,
if ( historyShared ) R . string . groupMemberNewYouHistoryTwo else R . string . groupInviteYouAndOtherNew )
. put ( OTHER _NAME _KEY , getGroupMemberName ( groupV2Id, updateData. sessionIds . first { it != userPublicKey } ) )
. put ( OTHER _NAME _KEY , getGroupMemberName ( updateData. sessionIds . first { it != userPublicKey } , groupV2Id ) )
. format ( )
number == 2 -> Phrase . from ( context ,
if ( historyShared ) R . string . groupMemberNewHistoryTwo else R . string . groupMemberNewTwo )
. put ( NAME _KEY , getGroupMemberName ( groupV2Id, updateData. sessionIds . first ( ) ) )
. put ( OTHER _NAME _KEY , getGroupMemberName ( groupV2Id, updateData. sessionIds . last ( ) ) )
. put ( NAME _KEY , getGroupMemberName ( updateData. sessionIds . first ( ) , groupV2Id ) )
. put ( OTHER _NAME _KEY , getGroupMemberName ( updateData. sessionIds . last ( ) , groupV2Id ) )
. format ( )
containsUser -> Phrase . from ( context ,
if ( historyShared ) R . string . groupMemberNewYouHistoryMultiple else R . string . groupInviteYouAndMoreNew )
@ -225,7 +219,7 @@ object UpdateMessageBuilder {
. format ( )
number > 0 -> Phrase . from ( context ,
if ( historyShared ) R . string . groupMemberNewHistoryMultiple else R . string . groupMemberNewMultiple )
. put ( NAME _KEY , getGroupMemberName ( groupV2Id, updateData. sessionIds . first ( ) ) )
. put ( NAME _KEY , getGroupMemberName ( updateData. sessionIds . first ( ) , groupV2Id ) )
. put ( COUNT _KEY , updateData . sessionIds . size - 1 )
. format ( )
else -> " "
@ -239,16 +233,16 @@ object UpdateMessageBuilder {
)
number == 1 -> Phrase . from ( context ,
R . string . adminPromotedToAdmin )
. put ( NAME _KEY , getGroupMemberName ( groupV2Id, updateData. sessionIds . first ( ) ) )
. put ( NAME _KEY , getGroupMemberName ( updateData. sessionIds . first ( ) , groupV2Id ) )
. format ( )
number == 2 && containsUser -> Phrase . from ( context ,
R . string . groupPromotedYouTwo )
. put ( OTHER _NAME _KEY , getGroupMemberName ( groupV2Id, updateData. sessionIds . first { it != userPublicKey } ) )
. put ( OTHER _NAME _KEY , getGroupMemberName ( updateData. sessionIds . first { it != userPublicKey } , groupV2Id ) )
. format ( )
number == 2 -> Phrase . from ( context ,
R . string . adminTwoPromotedToAdmin )
. put ( NAME _KEY , getGroupMemberName ( groupV2Id, updateData. sessionIds . first ( ) ) )
. put ( OTHER _NAME _KEY , getGroupMemberName ( groupV2Id, updateData. sessionIds . last ( ) ) )
. put ( NAME _KEY , getGroupMemberName ( updateData. sessionIds . first ( ) , groupV2Id ) )
. put ( OTHER _NAME _KEY , getGroupMemberName ( updateData. sessionIds . last ( ) , groupV2Id ) )
. format ( )
containsUser -> Phrase . from ( context ,
R . string . groupPromotedYouMultiple )
@ -256,7 +250,7 @@ object UpdateMessageBuilder {
. format ( )
else -> Phrase . from ( context ,
R . string . adminMorePromotedToAdmin )
. put ( NAME _KEY , getGroupMemberName ( groupV2Id, updateData. sessionIds . first ( ) ) )
. put ( NAME _KEY , getGroupMemberName ( updateData. sessionIds . first ( ) , groupV2Id ) )
. put ( COUNT _KEY , updateData . sessionIds . size - 1 )
. format ( )
}
@ -268,16 +262,16 @@ object UpdateMessageBuilder {
R . string . groupRemovedYouGeneral ) . format ( )
number == 1 -> Phrase . from ( context ,
R . string . groupRemoved )
. put ( NAME _KEY , getGroupMemberName ( groupV2Id, updateData. sessionIds . first ( ) ) )
. put ( NAME _KEY , getGroupMemberName ( updateData. sessionIds . first ( ) , groupV2Id ) )
. format ( )
number == 2 && containsUser -> Phrase . from ( context ,
R . string . groupRemovedYouTwo )
. put ( OTHER _NAME _KEY , getGroupMemberName ( groupV2Id, updateData. sessionIds . first { it != userPublicKey } ) )
. put ( OTHER _NAME _KEY , getGroupMemberName ( updateData. sessionIds . first { it != userPublicKey } , groupV2Id ) )
. format ( )
number == 2 -> Phrase . from ( context ,
R . string . groupRemovedTwo )
. put ( NAME _KEY , getGroupMemberName ( groupV2Id, updateData. sessionIds . first ( ) ) )
. put ( OTHER _NAME _KEY , getGroupMemberName ( groupV2Id, updateData. sessionIds . last ( ) ) )
. put ( NAME _KEY , getGroupMemberName ( updateData. sessionIds . first ( ) , groupV2Id ) )
. put ( OTHER _NAME _KEY , getGroupMemberName ( updateData. sessionIds . last ( ) , groupV2Id ) )
. format ( )
containsUser -> Phrase . from ( context ,
R . string . groupRemovedYouMultiple )
@ -285,7 +279,7 @@ object UpdateMessageBuilder {
. format ( )
else -> Phrase . from ( context ,
R . string . groupRemovedMultiple )
. put ( NAME _KEY , getGroupMemberName ( groupV2Id, updateData. sessionIds . first ( ) ) )
. put ( NAME _KEY , getGroupMemberName ( updateData. sessionIds . first ( ) , groupV2Id ) )
. put ( COUNT _KEY , updateData . sessionIds . size - 1 )
. format ( )
}
@ -295,7 +289,7 @@ object UpdateMessageBuilder {
}
is UpdateMessageData . Kind . GroupInvitation -> {
val approved = configFactory . getGroup ( AccountId ( updateData . groupAccountId ) ) ?. invited == false
val inviterName = updateData . invitingAdminName ?. takeIf { it . isNotEmpty ( ) } ?: getGroupMemberName ( groupV2Id, updateData. invitingAdmin Id)
val inviterName = updateData . invitingAdminName ?. takeIf { it . isNotEmpty ( ) } ?: getGroupMemberName ( updateData. invitingAdmin Id, groupV2 Id)
return if ( ! approved ) {
Phrase . from ( context , R . string . messageRequestGroupInvite )
. put ( NAME _KEY , inviterName )
@ -336,7 +330,7 @@ object UpdateMessageBuilder {
return " "
}
val senderName = if ( isOutgoing ) context . getString ( R . string . you ) else get Send erName( senderId !! )
val senderName = if ( isOutgoing ) context . getString ( R . string . you ) else get GroupMemb erName( senderId !! )
// Case 1.) Disappearing messages have been turned off..
if ( duration <= 0 ) {
@ -393,7 +387,7 @@ object UpdateMessageBuilder {
kind : DataExtractionNotificationInfoMessage . Kind ,
senderId : String ? = null ) : CharSequence {
val senderName = if ( senderId != null ) get Send erName( senderId ) else context . getString ( R . string . unknown )
val senderName = if ( senderId != null ) get GroupMemb erName( senderId ) else context . getString ( R . string . unknown )
return when ( kind ) {
SCREENSHOT -> Phrase . from ( context , R . string . screenshotTaken )
@ -407,9 +401,7 @@ object UpdateMessageBuilder {
}
fun buildCallMessage ( context : Context , type : CallMessageType , senderId : String ) : String {
val senderName =
storage . getContactWithAccountID ( senderId ) ?. displayName ( Contact . ContactContext . REGULAR )
?: senderId
val senderName = storage . getContactNameWithAccountID ( senderId )
return when ( type ) {
CALL _INCOMING -> Phrase . from ( context , R . string . callsCalledYou ) . put ( NAME _KEY , senderName )