roomAvatarProvider top-level property
final
Caching the MemoryImage of each room
Implementation
final roomAvatarProvider =
FutureProvider.family<MemoryImage?, String>((ref, roomId) async {
final sdk = await ref.watch(sdkProvider.future);
final thumbsize = sdk.api.newThumbSize(48, 48);
final room = await ref.watch(maybeRoomProvider(roomId).future);
if (room == null || !room.hasAvatar()) {
return null;
}
final avatar = (await room.avatar(thumbsize)).data();
if (avatar != null) {
return MemoryImage(Uint8List.fromList(avatar.asTypedList()));
}
return null;
});