@ -1,8 +1,8 @@
// TODO: R e n a m e s o m e o f t h e s e f u n c t i o n s t o m a k e t h e d i s t i n c t i o n s b e t w e e n t h e m c l e a r e r .
// MARK: - U s e r D i s p l a y N a m e U t i l i t i e s
@objc ( LK DisplayNameUtilities)
public final class DisplayNameUtilities : NSObject {
@objc ( LK User DisplayNameUtilities)
public final class User DisplayNameUtilities : NSObject {
override private init ( ) { }
@ -23,18 +23,6 @@ public final class DisplayNameUtilities : NSObject {
}
}
// MARK: C l o s e d G r o u p s
@objc public static func getDisplayName ( for group : TSGroupThread ) -> String {
let members = group . groupModel . groupMemberIds
let displayNames = members . map { hexEncodedPublicKey -> String in
guard let displayName = DisplayNameUtilities . getPrivateChatDisplayName ( for : hexEncodedPublicKey ) else { return hexEncodedPublicKey }
let regex = try ! NSRegularExpression ( pattern : " .* \\ ( \\ . \\ . \\ .[0-9a-fA-F]* \\ ) " )
guard regex . hasMatch ( input : displayName ) else { return displayName }
return String ( displayName [ displayName . startIndex . . < ( displayName . index ( displayName . endIndex , offsetBy : - 14 ) ) ] )
} . sorted ( )
return displayNames . joined ( separator : " , " )
}
// MARK: O p e n G r o u p s
@objc public static func getPublicChatDisplayName ( for hexEncodedPublicKey : String , in channel : UInt64 , on server : String ) -> String ? {
var result : String ?
@ -53,3 +41,23 @@ public final class DisplayNameUtilities : NSObject {
}
}
}
// MARK: - G r o u p D i s p l a y N a m e U t i l i t i e s
@objc ( LKGroupDisplayNameUtilities )
public final class GroupDisplayNameUtilities : NSObject {
override private init ( ) { }
// MARK: C l o s e d G r o u p s
@objc public static func getDefaultDisplayName ( for group : TSGroupThread ) -> String {
let members = group . groupModel . groupMemberIds
let displayNames = members . map { hexEncodedPublicKey -> String in
guard let displayName = UserDisplayNameUtilities . getPrivateChatDisplayName ( for : hexEncodedPublicKey ) else { return hexEncodedPublicKey }
let regex = try ! NSRegularExpression ( pattern : " .* \\ ( \\ . \\ . \\ .[0-9a-fA-F]* \\ ) " )
guard regex . hasMatch ( input : displayName ) else { return displayName }
return String ( displayName [ displayName . startIndex . . < ( displayName . index ( displayName . endIndex , offsetBy : - 14 ) ) ] )
} . sorted ( )
return displayNames . joined ( separator : " , " )
}
}