Caching memberDetailProviders, showing sender display names in home screen last message, cleaner homescreen design.

This commit is contained in:
Stefan Ceriu
2022-04-01 16:05:26 +03:00
parent 86d85f4d2c
commit 711857ac9c
15 changed files with 141 additions and 70 deletions
@@ -11,20 +11,20 @@ import UIKit
struct RoomTimelineItemFactory {
private let mediaProvider: MediaProviderProtocol
private let memberDetailsProvider: MemberDetailsProviderProtocol
private let memberDetailProvider: MemberDetailProviderProtocol
private let attributedStringBuilder: AttributedStringBuilderProtocol
init(mediaProvider: MediaProviderProtocol,
memberDetailsProvider: MemberDetailsProviderProtocol,
memberDetailProvider: MemberDetailProviderProtocol,
attributedStringBuilder: AttributedStringBuilderProtocol) {
self.mediaProvider = mediaProvider
self.memberDetailsProvider = memberDetailsProvider
self.memberDetailProvider = memberDetailProvider
self.attributedStringBuilder = attributedStringBuilder
}
func buildTimelineItemFor(_ roomMessage: RoomMessageProtocol, showSenderDetails: Bool) -> RoomTimelineItemProtocol {
let displayName = memberDetailsProvider.displayNameForUserId(roomMessage.sender)
let avatarURL = memberDetailsProvider.avatarURLForUserId(roomMessage.sender)
let displayName = memberDetailProvider.displayNameForUserId(roomMessage.sender)
let avatarURL = memberDetailProvider.avatarURLForUserId(roomMessage.sender)
let avatarImage = mediaProvider.imageForURL(avatarURL)
switch roomMessage {