Skip to content

Instantly share code, notes, and snippets.

@yaizudamashii
Last active August 11, 2021 17:37
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save yaizudamashii/403e91e3e2b9964b95c825a577dbbcf1 to your computer and use it in GitHub Desktop.
Save yaizudamashii/403e91e3e2b9964b95c825a577dbbcf1 to your computer and use it in GitHub Desktop.
AutoDisposeStreamProvider<RoomDetailViewModel> createUsersStreamProvider({ Room room }) {
return StreamProvider.autoDispose<RoomDetailViewModel>((ref) {
final database = ref.watch(databaseProvider);
final agora = ref.watch(agoraProvider);
final currentUserStream = ref.watch(userProvider);
if (database != null && agora != null && currentUserStream != null) {
return currentUserStream.when(
data: (User currentUser) {
return database.roomStream(agoraService: agora, room: room, currentUser: currentUser);
},
loading: () => const Stream.empty(),
error: (error, stackTrace) => const Stream.empty()
);
}
return const Stream.empty();
});
}
// 略
RoomDetailScreen({ @required this.room })
: usersStreamProvider = createUsersStreamProvider(room: room);
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment