22 lines
		
	
	
		
			569 B
		
	
	
	
		
			Dart
		
	
	
	
			
		
		
	
	
			22 lines
		
	
	
		
			569 B
		
	
	
	
		
			Dart
		
	
	
	
| import 'package:matrix/matrix.dart';
 | |
| 
 | |
| extension OtherPartyCanReceiveExtension on Room {
 | |
|   bool get otherPartyCanReceiveMessages {
 | |
|     if (!encrypted) return true;
 | |
|     final users = getParticipants()
 | |
|         .map((u) => u.id)
 | |
|         .where((userId) => userId != client.userID)
 | |
|         .toSet();
 | |
|     if (users.isEmpty) return true;
 | |
| 
 | |
|     for (final userId in users) {
 | |
|       if (client.userDeviceKeys[userId]?.deviceKeys.values.isNotEmpty == true) {
 | |
|         return true;
 | |
|       }
 | |
|     }
 | |
|     return false;
 | |
|   }
 | |
| }
 | |
| 
 | |
| class OtherPartyCanNotReceiveMessages implements Exception {}
 |