Skip to content

Commit

Permalink
Merge pull request #541 from easemob/dev_4.0.0+2
Browse files Browse the repository at this point in the history
Dev 4.0.0+2
  • Loading branch information
dujiepeng committed Mar 3, 2023
2 parents cf64a6b + dec172d commit ee02dc7
Show file tree
Hide file tree
Showing 10 changed files with 39 additions and 39 deletions.
5 changes: 3 additions & 2 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,10 +1,11 @@
## NEXT

## 4.0.0+1
## 4.0.0+2

#### 修复

- 修复图片消息和视频消息转换失败的问题。
- 修复List<String>? 转换失败;
- 修复图片消息和视频消息转换失败;

## 4.0.0

Expand Down
16 changes: 8 additions & 8 deletions lib/src/em_chat_room_manager.dart
Original file line number Diff line number Diff line change
Expand Up @@ -64,13 +64,13 @@ class EMChatRoomManager {
break;
case EMChatRoomEvent.ON_MUTE_LIST_ADDED:
String roomId = event['roomId'];
List<String> mutes = List.from(event['mutes']);
List<String> mutes = List.from(event['mutes'] ?? []);
String? expireTime = event['expireTime'];
item.onMuteListAddedFromChatRoom?.call(roomId, mutes, expireTime);
break;
case EMChatRoomEvent.ON_MUTE_LIST_REMOVED:
String roomId = event['roomId'];
List<String> mutes = List.from(event['mutes']);
List<String> mutes = List.from(event['mutes'] ?? []);
item.onMuteListRemovedFromChatRoom?.call(roomId, mutes);
break;
case EMChatRoomEvent.ON_ADMIN_ADDED:
Expand All @@ -96,12 +96,12 @@ class EMChatRoomManager {
break;
case EMChatRoomEvent.ON_WHITE_LIST_ADDED:
String roomId = event['roomId'];
List<String> members = List.from(event["whitelist"]);
List<String> members = List.from(event["whitelist"] ?? []);
item.onAllowListAddedFromChatRoom?.call(roomId, members);
break;
case EMChatRoomEvent.ON_WHITE_LIST_REMOVED:
String roomId = event['roomId'];
List<String> members = List.from(event["whitelist"]);
List<String> members = List.from(event["whitelist"] ?? []);
item.onAllowListRemovedFromChatRoom?.call(roomId, members);
break;
case EMChatRoomEvent.ON_ALL_MEMBER_MUTE_STATE_CHANGED:
Expand Down Expand Up @@ -163,13 +163,13 @@ class EMChatRoomManager {
break;
case EMChatRoomEvent.ON_MUTE_LIST_ADDED:
String roomId = event['roomId'];
List<String> mutes = List.from(event['mutes']);
List<String> mutes = List.from(event['mutes'] ?? []);
String? expireTime = event['expireTime'];
listener.onMuteListAddedFromChatRoom(roomId, mutes, expireTime);
break;
case EMChatRoomEvent.ON_MUTE_LIST_REMOVED:
String roomId = event['roomId'];
List<String> mutes = List.from(event['mutes']);
List<String> mutes = List.from(event['mutes'] ?? []);
listener.onMuteListRemovedFromChatRoom(roomId, mutes);
break;
case EMChatRoomEvent.ON_ADMIN_ADDED:
Expand All @@ -195,12 +195,12 @@ class EMChatRoomManager {
break;
case EMChatRoomEvent.ON_WHITE_LIST_ADDED:
String roomId = event['roomId'];
List<String> members = List.from(event["whitelist"]);
List<String> members = List.from(event["whitelist"] ?? []);
listener.onAllowListAddedFromChatRoom(roomId, members);
break;
case EMChatRoomEvent.ON_WHITE_LIST_REMOVED:
String roomId = event['roomId'];
List<String> members = List.from(event["whitelist"]);
List<String> members = List.from(event["whitelist"] ?? []);
listener.onAllowListRemovedFromChatRoom(roomId, members);
break;
case EMChatRoomEvent.ON_ALL_MEMBER_MUTE_STATE_CHANGED:
Expand Down
2 changes: 1 addition & 1 deletion lib/src/em_client.dart
Original file line number Diff line number Diff line change
Expand Up @@ -629,7 +629,7 @@ class EMClient {
Future<void> _onMultiDeviceGroupEvent(Map map) async {
EMMultiDevicesEvent event = convertIntToEMMultiDevicesEvent(map['event'])!;
String target = map['target'];
List<String> users = map['users'];
List<String>? users = map.getList("users");

for (var handler in _multiDeviceEventHandler.values) {
handler.onGroupEvent?.call(event, target, users);
Expand Down
16 changes: 8 additions & 8 deletions lib/src/em_group_manager.dart
Original file line number Diff line number Diff line change
Expand Up @@ -1319,13 +1319,13 @@ class EMGroupManager {
break;
case EMGroupChangeEvent.ON_MUTE_LIST_ADDED:
String groupId = map['groupId'];
List<String> mutes = List.from(map['mutes']);
List<String> mutes = List.from(map['mutes'] ?? []);
int? muteExpire = map['muteExpire'];
element.onMuteListAddedFromGroup?.call(groupId, mutes, muteExpire);
break;
case EMGroupChangeEvent.ON_MUTE_LIST_REMOVED:
String groupId = map['groupId'];
List<String> mutes = List.from(map['mutes']);
List<String> mutes = List.from(map['mutes'] ?? []);
element.onMuteListRemovedFromGroup?.call(groupId, mutes);
break;
case EMGroupChangeEvent.ON_ADMIN_ADDED:
Expand Down Expand Up @@ -1372,12 +1372,12 @@ class EMGroupManager {
break;
case EMGroupChangeEvent.ON_WHITE_LIST_ADDED:
String groupId = map["groupId"];
List<String> members = List.from(map['whitelist']);
List<String> members = List.from(map['whitelist'] ?? []);
element.onAllowListAddedFromGroup?.call(groupId, members);
break;
case EMGroupChangeEvent.ON_WHITE_LIST_REMOVED:
String groupId = map["groupId"];
List<String> members = List.from(map['whitelist']);
List<String> members = List.from(map['whitelist'] ?? []);
element.onAllowListRemovedFromGroup?.call(groupId, members);
break;
case EMGroupChangeEvent.ON_ALL_MEMBER_MUTE_STATE_CHANGED:
Expand Down Expand Up @@ -1462,13 +1462,13 @@ class EMGroupManager {
break;
case EMGroupChangeEvent.ON_MUTE_LIST_ADDED:
String groupId = map['groupId'];
List<String> mutes = List.from(map['mutes']);
List<String> mutes = List.from(map['mutes'] ?? []);
int? muteExpire = map['muteExpire'];
listener.onMuteListAddedFromGroup(groupId, mutes, muteExpire);
break;
case EMGroupChangeEvent.ON_MUTE_LIST_REMOVED:
String groupId = map['groupId'];
List<String> mutes = List.from(map['mutes']);
List<String> mutes = List.from(map['mutes'] ?? []);
listener.onMuteListRemovedFromGroup(groupId, mutes);
break;
case EMGroupChangeEvent.ON_ADMIN_ADDED:
Expand Down Expand Up @@ -1515,12 +1515,12 @@ class EMGroupManager {
break;
case EMGroupChangeEvent.ON_WHITE_LIST_ADDED:
String groupId = map["groupId"];
List<String> members = List.from(map['whitelist']);
List<String> members = List.from(map['whitelist'] ?? []);
listener.onAllowListAddedFromGroup(groupId, members);
break;
case EMGroupChangeEvent.ON_WHITE_LIST_REMOVED:
String groupId = map["groupId"];
List<String> members = List.from(map['whitelist']);
List<String> members = List.from(map['whitelist'] ?? []);
listener.onAllowListRemovedFromGroup(groupId, members);
break;
case EMGroupChangeEvent.ON_ALL_MEMBER_MUTE_STATE_CHANGED:
Expand Down
8 changes: 4 additions & 4 deletions lib/src/models/em_chat_room.dart
Original file line number Diff line number Diff line change
Expand Up @@ -34,10 +34,10 @@ class EMChatRoom {
owner: map["owner"],
memberCount: map["memberCount"],
maxUsers: map["maxUsers"],
adminList: map["adminList"],
memberList: map["memberList"],
blockList: map["blockList"],
muteList: map["muteList"],
adminList: map.getList("adminList"),
memberList: map.getList("memberList"),
blockList: map.getList("blockList"),
muteList: map.getList("muteList"),
announcement: map["announcement"],
permissionType: chatRoomPermissionTypeFromInt(map["permissionType"]),
isAllMemberMuted: map.boolValue("isAllMemberMuted"));
Expand Down
8 changes: 4 additions & 4 deletions lib/src/models/em_group.dart
Original file line number Diff line number Diff line change
Expand Up @@ -189,10 +189,10 @@ class EMGroup {
String? owner = map["owner"];
String? announcement = map["announcement"];
int? memberCount = map["memberCount"];
List<String>? memberList = map["memberList"];
List<String>? adminList = map["adminList"];
List<String>? blockList = map["blockList"];
List<String>? muteList = map["muteList"];
List<String>? memberList = map.getList("memberList");
List<String>? adminList = map.getList("adminList");
List<String>? blockList = map.getList("blockList");
List<String>? muteList = map.getList("muteList");
bool? messageBlocked = map["messageBlocked"];
bool? isAllMemberMuted = map["isAllMemberMuted"];
EMGroupPermissionType? permissionType =
Expand Down
7 changes: 1 addition & 6 deletions lib/src/models/em_message.dart
Original file line number Diff line number Diff line change
Expand Up @@ -933,12 +933,7 @@ class EMTextMessageBody extends EMMessageBody {
type: MessageType.TXT,
) {
this.content = map["content"] ?? "";
this.targetLanguages = map.getList<String>(
"targetLanguages",
valueCallback: (item) {
return item;
},
);
this.targetLanguages = map.getList("targetLanguages");
if (map.containsKey("translations")) {
this.translations = map["translations"]?.cast<String, String>();
}
Expand Down
4 changes: 1 addition & 3 deletions lib/src/models/em_message_reaction.dart
Original file line number Diff line number Diff line change
Expand Up @@ -44,9 +44,7 @@ class EMMessageReaction {

bool isAddedBySelf = map["isAddedBySelf"] ?? false;
List<String> userList = [];
List<String>? tmp = map.getList("userList", valueCallback: (str) {
return str;
});
List<String>? tmp = map.getList("userList");
if (tmp != null) {
userList.addAll(tmp);
}
Expand Down
10 changes: 8 additions & 2 deletions lib/src/tools/em_extension.dart
Original file line number Diff line number Diff line change
Expand Up @@ -52,14 +52,20 @@ extension MapExtension on Map {
return ret;
}

List<T>? getList<T>(String key, {valueCallback = MapResultCallback}) {
List<T>? getList<T>(String key, {MapResultCallback? valueCallback}) {
List<T>? ret;
if (this.containsKey(key)) {
List list = this[key];

List<T> typeList = [];
for (var item in list) {
typeList.add(valueCallback(item));
if (valueCallback != null) {
typeList.add(valueCallback(item));
} else {
if (item is T) {
typeList.add(item);
}
}
}
if (typeList.length > 0) {
ret = typeList;
Expand Down
2 changes: 1 addition & 1 deletion pubspec.yaml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
name: im_flutter_sdk
description: Integrate the Chat SDK to enjoy the global IM services with high reliability, ultra-low latency, and high concurrency.
version: 4.0.0+1
version: 4.0.0+2
homepage: https://www.easemob.com/product/im

environment:
Expand Down

0 comments on commit ee02dc7

Please sign in to comment.