mirror of
				https://gitlab.com/comunic/comunicmobile
				synced 2025-11-03 19:54:12 +00:00 
			
		
		
		
	Handles join / leave events
This commit is contained in:
		@@ -1,5 +1,6 @@
 | 
			
		||||
import 'package:comunic/helpers/calls_helper.dart';
 | 
			
		||||
import 'package:comunic/helpers/conversations_helper.dart';
 | 
			
		||||
import 'package:comunic/helpers/events_helper.dart';
 | 
			
		||||
import 'package:comunic/helpers/users_helper.dart';
 | 
			
		||||
import 'package:comunic/lists/call_members_list.dart';
 | 
			
		||||
import 'package:comunic/lists/users_list.dart';
 | 
			
		||||
@@ -78,6 +79,15 @@ class _CallScreenState extends SafeState<CallScreen> {
 | 
			
		||||
      _membersList = membersList;
 | 
			
		||||
 | 
			
		||||
      setState(() {});
 | 
			
		||||
 | 
			
		||||
      // Register to events
 | 
			
		||||
      this.listenChangeState<UserJoinedCallEvent>((e) {
 | 
			
		||||
        if (e.callID == convID) _membersList.add(CallMember(id: e.userID));
 | 
			
		||||
      });
 | 
			
		||||
 | 
			
		||||
      this.listen<UserLeftCallEvent>((e) {
 | 
			
		||||
        if (e.callID == convID) _removeMember(e.userID);
 | 
			
		||||
      });
 | 
			
		||||
    } catch (e, stack) {
 | 
			
		||||
      print("Could not initialize call! $e\n$stack");
 | 
			
		||||
      setState(() => _error = true);
 | 
			
		||||
@@ -93,6 +103,11 @@ class _CallScreenState extends SafeState<CallScreen> {
 | 
			
		||||
    }
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  void _removeMember(int memberID) {
 | 
			
		||||
    _membersList.removeUser(memberID);
 | 
			
		||||
    setState(() {});
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  @override
 | 
			
		||||
  Widget build(BuildContext context) {
 | 
			
		||||
    return Scaffold(
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user