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);
return avatar
.data()
.map((data) => MemoryImage(Uint8List.fromList(data.asTypedList())));
});