Skip to content

Commit ee02dc7

Browse files
authored
Merge pull request #541 from easemob/dev_4.0.0+2
Dev 4.0.0+2
2 parents cf64a6b + dec172d commit ee02dc7

File tree

10 files changed

+39
-39
lines changed

10 files changed

+39
-39
lines changed

CHANGELOG.md

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,11 @@
11
## NEXT
22

3-
## 4.0.0+1
3+
## 4.0.0+2
44

55
#### 修复
66

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

910
## 4.0.0
1011

lib/src/em_chat_room_manager.dart

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -64,13 +64,13 @@ class EMChatRoomManager {
6464
break;
6565
case EMChatRoomEvent.ON_MUTE_LIST_ADDED:
6666
String roomId = event['roomId'];
67-
List<String> mutes = List.from(event['mutes']);
67+
List<String> mutes = List.from(event['mutes'] ?? []);
6868
String? expireTime = event['expireTime'];
6969
item.onMuteListAddedFromChatRoom?.call(roomId, mutes, expireTime);
7070
break;
7171
case EMChatRoomEvent.ON_MUTE_LIST_REMOVED:
7272
String roomId = event['roomId'];
73-
List<String> mutes = List.from(event['mutes']);
73+
List<String> mutes = List.from(event['mutes'] ?? []);
7474
item.onMuteListRemovedFromChatRoom?.call(roomId, mutes);
7575
break;
7676
case EMChatRoomEvent.ON_ADMIN_ADDED:
@@ -96,12 +96,12 @@ class EMChatRoomManager {
9696
break;
9797
case EMChatRoomEvent.ON_WHITE_LIST_ADDED:
9898
String roomId = event['roomId'];
99-
List<String> members = List.from(event["whitelist"]);
99+
List<String> members = List.from(event["whitelist"] ?? []);
100100
item.onAllowListAddedFromChatRoom?.call(roomId, members);
101101
break;
102102
case EMChatRoomEvent.ON_WHITE_LIST_REMOVED:
103103
String roomId = event['roomId'];
104-
List<String> members = List.from(event["whitelist"]);
104+
List<String> members = List.from(event["whitelist"] ?? []);
105105
item.onAllowListRemovedFromChatRoom?.call(roomId, members);
106106
break;
107107
case EMChatRoomEvent.ON_ALL_MEMBER_MUTE_STATE_CHANGED:
@@ -163,13 +163,13 @@ class EMChatRoomManager {
163163
break;
164164
case EMChatRoomEvent.ON_MUTE_LIST_ADDED:
165165
String roomId = event['roomId'];
166-
List<String> mutes = List.from(event['mutes']);
166+
List<String> mutes = List.from(event['mutes'] ?? []);
167167
String? expireTime = event['expireTime'];
168168
listener.onMuteListAddedFromChatRoom(roomId, mutes, expireTime);
169169
break;
170170
case EMChatRoomEvent.ON_MUTE_LIST_REMOVED:
171171
String roomId = event['roomId'];
172-
List<String> mutes = List.from(event['mutes']);
172+
List<String> mutes = List.from(event['mutes'] ?? []);
173173
listener.onMuteListRemovedFromChatRoom(roomId, mutes);
174174
break;
175175
case EMChatRoomEvent.ON_ADMIN_ADDED:
@@ -195,12 +195,12 @@ class EMChatRoomManager {
195195
break;
196196
case EMChatRoomEvent.ON_WHITE_LIST_ADDED:
197197
String roomId = event['roomId'];
198-
List<String> members = List.from(event["whitelist"]);
198+
List<String> members = List.from(event["whitelist"] ?? []);
199199
listener.onAllowListAddedFromChatRoom(roomId, members);
200200
break;
201201
case EMChatRoomEvent.ON_WHITE_LIST_REMOVED:
202202
String roomId = event['roomId'];
203-
List<String> members = List.from(event["whitelist"]);
203+
List<String> members = List.from(event["whitelist"] ?? []);
204204
listener.onAllowListRemovedFromChatRoom(roomId, members);
205205
break;
206206
case EMChatRoomEvent.ON_ALL_MEMBER_MUTE_STATE_CHANGED:

lib/src/em_client.dart

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -629,7 +629,7 @@ class EMClient {
629629
Future<void> _onMultiDeviceGroupEvent(Map map) async {
630630
EMMultiDevicesEvent event = convertIntToEMMultiDevicesEvent(map['event'])!;
631631
String target = map['target'];
632-
List<String> users = map['users'];
632+
List<String>? users = map.getList("users");
633633

634634
for (var handler in _multiDeviceEventHandler.values) {
635635
handler.onGroupEvent?.call(event, target, users);

lib/src/em_group_manager.dart

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1319,13 +1319,13 @@ class EMGroupManager {
13191319
break;
13201320
case EMGroupChangeEvent.ON_MUTE_LIST_ADDED:
13211321
String groupId = map['groupId'];
1322-
List<String> mutes = List.from(map['mutes']);
1322+
List<String> mutes = List.from(map['mutes'] ?? []);
13231323
int? muteExpire = map['muteExpire'];
13241324
element.onMuteListAddedFromGroup?.call(groupId, mutes, muteExpire);
13251325
break;
13261326
case EMGroupChangeEvent.ON_MUTE_LIST_REMOVED:
13271327
String groupId = map['groupId'];
1328-
List<String> mutes = List.from(map['mutes']);
1328+
List<String> mutes = List.from(map['mutes'] ?? []);
13291329
element.onMuteListRemovedFromGroup?.call(groupId, mutes);
13301330
break;
13311331
case EMGroupChangeEvent.ON_ADMIN_ADDED:
@@ -1372,12 +1372,12 @@ class EMGroupManager {
13721372
break;
13731373
case EMGroupChangeEvent.ON_WHITE_LIST_ADDED:
13741374
String groupId = map["groupId"];
1375-
List<String> members = List.from(map['whitelist']);
1375+
List<String> members = List.from(map['whitelist'] ?? []);
13761376
element.onAllowListAddedFromGroup?.call(groupId, members);
13771377
break;
13781378
case EMGroupChangeEvent.ON_WHITE_LIST_REMOVED:
13791379
String groupId = map["groupId"];
1380-
List<String> members = List.from(map['whitelist']);
1380+
List<String> members = List.from(map['whitelist'] ?? []);
13811381
element.onAllowListRemovedFromGroup?.call(groupId, members);
13821382
break;
13831383
case EMGroupChangeEvent.ON_ALL_MEMBER_MUTE_STATE_CHANGED:
@@ -1462,13 +1462,13 @@ class EMGroupManager {
14621462
break;
14631463
case EMGroupChangeEvent.ON_MUTE_LIST_ADDED:
14641464
String groupId = map['groupId'];
1465-
List<String> mutes = List.from(map['mutes']);
1465+
List<String> mutes = List.from(map['mutes'] ?? []);
14661466
int? muteExpire = map['muteExpire'];
14671467
listener.onMuteListAddedFromGroup(groupId, mutes, muteExpire);
14681468
break;
14691469
case EMGroupChangeEvent.ON_MUTE_LIST_REMOVED:
14701470
String groupId = map['groupId'];
1471-
List<String> mutes = List.from(map['mutes']);
1471+
List<String> mutes = List.from(map['mutes'] ?? []);
14721472
listener.onMuteListRemovedFromGroup(groupId, mutes);
14731473
break;
14741474
case EMGroupChangeEvent.ON_ADMIN_ADDED:
@@ -1515,12 +1515,12 @@ class EMGroupManager {
15151515
break;
15161516
case EMGroupChangeEvent.ON_WHITE_LIST_ADDED:
15171517
String groupId = map["groupId"];
1518-
List<String> members = List.from(map['whitelist']);
1518+
List<String> members = List.from(map['whitelist'] ?? []);
15191519
listener.onAllowListAddedFromGroup(groupId, members);
15201520
break;
15211521
case EMGroupChangeEvent.ON_WHITE_LIST_REMOVED:
15221522
String groupId = map["groupId"];
1523-
List<String> members = List.from(map['whitelist']);
1523+
List<String> members = List.from(map['whitelist'] ?? []);
15241524
listener.onAllowListRemovedFromGroup(groupId, members);
15251525
break;
15261526
case EMGroupChangeEvent.ON_ALL_MEMBER_MUTE_STATE_CHANGED:

lib/src/models/em_chat_room.dart

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -34,10 +34,10 @@ class EMChatRoom {
3434
owner: map["owner"],
3535
memberCount: map["memberCount"],
3636
maxUsers: map["maxUsers"],
37-
adminList: map["adminList"],
38-
memberList: map["memberList"],
39-
blockList: map["blockList"],
40-
muteList: map["muteList"],
37+
adminList: map.getList("adminList"),
38+
memberList: map.getList("memberList"),
39+
blockList: map.getList("blockList"),
40+
muteList: map.getList("muteList"),
4141
announcement: map["announcement"],
4242
permissionType: chatRoomPermissionTypeFromInt(map["permissionType"]),
4343
isAllMemberMuted: map.boolValue("isAllMemberMuted"));

lib/src/models/em_group.dart

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -189,10 +189,10 @@ class EMGroup {
189189
String? owner = map["owner"];
190190
String? announcement = map["announcement"];
191191
int? memberCount = map["memberCount"];
192-
List<String>? memberList = map["memberList"];
193-
List<String>? adminList = map["adminList"];
194-
List<String>? blockList = map["blockList"];
195-
List<String>? muteList = map["muteList"];
192+
List<String>? memberList = map.getList("memberList");
193+
List<String>? adminList = map.getList("adminList");
194+
List<String>? blockList = map.getList("blockList");
195+
List<String>? muteList = map.getList("muteList");
196196
bool? messageBlocked = map["messageBlocked"];
197197
bool? isAllMemberMuted = map["isAllMemberMuted"];
198198
EMGroupPermissionType? permissionType =

lib/src/models/em_message.dart

Lines changed: 1 addition & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -933,12 +933,7 @@ class EMTextMessageBody extends EMMessageBody {
933933
type: MessageType.TXT,
934934
) {
935935
this.content = map["content"] ?? "";
936-
this.targetLanguages = map.getList<String>(
937-
"targetLanguages",
938-
valueCallback: (item) {
939-
return item;
940-
},
941-
);
936+
this.targetLanguages = map.getList("targetLanguages");
942937
if (map.containsKey("translations")) {
943938
this.translations = map["translations"]?.cast<String, String>();
944939
}

lib/src/models/em_message_reaction.dart

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -44,9 +44,7 @@ class EMMessageReaction {
4444

4545
bool isAddedBySelf = map["isAddedBySelf"] ?? false;
4646
List<String> userList = [];
47-
List<String>? tmp = map.getList("userList", valueCallback: (str) {
48-
return str;
49-
});
47+
List<String>? tmp = map.getList("userList");
5048
if (tmp != null) {
5149
userList.addAll(tmp);
5250
}

lib/src/tools/em_extension.dart

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -52,14 +52,20 @@ extension MapExtension on Map {
5252
return ret;
5353
}
5454

55-
List<T>? getList<T>(String key, {valueCallback = MapResultCallback}) {
55+
List<T>? getList<T>(String key, {MapResultCallback? valueCallback}) {
5656
List<T>? ret;
5757
if (this.containsKey(key)) {
5858
List list = this[key];
5959

6060
List<T> typeList = [];
6161
for (var item in list) {
62-
typeList.add(valueCallback(item));
62+
if (valueCallback != null) {
63+
typeList.add(valueCallback(item));
64+
} else {
65+
if (item is T) {
66+
typeList.add(item);
67+
}
68+
}
6369
}
6470
if (typeList.length > 0) {
6571
ret = typeList;

pubspec.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
name: im_flutter_sdk
22
description: Integrate the Chat SDK to enjoy the global IM services with high reliability, ultra-low latency, and high concurrency.
3-
version: 4.0.0+1
3+
version: 4.0.0+2
44
homepage: https://www.easemob.com/product/im
55

66
environment:

0 commit comments

Comments
 (0)