Added room avatar caching and room list loading state.

This commit is contained in:
Stefan Ceriu
2022-02-22 12:37:44 +02:00
parent ad80b91b16
commit c35438cbb8
11 changed files with 118 additions and 47 deletions
@@ -23,7 +23,7 @@ struct MockRoomModel: RoomModelProtocol {
let isPublic = Bool.random()
let isEncrypted = Bool.random()
func getAvatar(_ completion: (Result<UIImage?, Error>) -> Void) {
func loadAvatar(_ completion: (Result<UIImage?, Error>) -> Void) {
completion(.success(UIImage(systemName: "wand.and.stars")))
}
}
@@ -74,7 +74,7 @@ struct RoomModel: RoomModelProtocol {
return URL(string: urlString)
}
func getAvatar(_ completion: @escaping (Result<UIImage?, Error>) -> Void) {
func loadAvatar(_ completion: @escaping (Result<UIImage?, Error>) -> Void) {
DispatchQueue.global(qos: .background).async {
do {
let avatarData = try room.avatar()
@@ -22,5 +22,5 @@ protocol RoomModelProtocol {
var avatarURL: URL? { get }
func getAvatar(_ completion: @escaping (Result<UIImage?, Error>) -> Void)
func loadAvatar(_ completion: @escaping (Result<UIImage?, Error>) -> Void)
}