mirror of
https://github.com/signalapp/Signal-Android.git
synced 2026-08-05 21:07:49 +01:00
Cache display names when checking for group name collisions.
This commit is contained in:
committed by
Alex Hart
parent
5dd9386e12
commit
30b048976c
@@ -521,6 +521,9 @@ class NameCollisionTables(
|
||||
|
||||
val results = mutableListOf<ReviewRecipient>()
|
||||
|
||||
val cachedDisplayNames = HashMap<RecipientId, String>(members.size + changed.size)
|
||||
val displayName = { recipient: Recipient -> cachedDisplayNames.getOrPut(recipient.id) { recipient.getDisplayName(context) } }
|
||||
|
||||
for (reviewRecipient in changed) {
|
||||
if (results.contains(reviewRecipient)) {
|
||||
continue
|
||||
@@ -528,8 +531,10 @@ class NameCollisionTables(
|
||||
|
||||
members.remove(reviewRecipient.recipient)
|
||||
|
||||
val changedDisplayName = displayName(reviewRecipient.recipient)
|
||||
|
||||
for (member in members) {
|
||||
if (member.getDisplayName(context) == reviewRecipient.recipient.getDisplayName(context)) {
|
||||
if (displayName(member) == changedDisplayName) {
|
||||
results.add(reviewRecipient)
|
||||
results.add(ReviewRecipient(member))
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user