From 4c43d54a1a3e14f82e00828958ad2876b76ba228 Mon Sep 17 00:00:00 2001 From: hrxiang Date: Mon, 21 Feb 2022 15:11:27 +0800 Subject: [PATCH] new version sdk --- example/pubspec.lock | 9 ++- lib/flutter_openim_sdk.dart | 13 ++-- lib/src/listener/advanced_msg_listener.dart | 34 +++++--- lib/src/listener/connect_listener.dart | 44 +++++++++-- lib/src/listener/conversation_listener.dart | 43 +++++++++-- lib/src/listener/friendship_listener.dart | 76 +++++++++++++----- lib/src/listener/group_listener.dart | 66 +++++++++++++--- .../listener/impl/advanced_msg_listener.dart | 28 ------- lib/src/listener/impl/connect_listener.dart | 43 ----------- .../listener/impl/conversation_listener.dart | 50 ------------ .../listener/impl/friendship_listener.dart | 70 ----------------- lib/src/listener/impl/group_listener.dart | 77 ------------------- .../impl/msg_send_progress_listener.dart | 11 --- lib/src/listener/impl/user_listener.dart | 12 --- .../listener/msg_send_progress_listener.dart | 10 ++- lib/src/listener/user_listener.dart | 10 ++- lib/src/manager/im_conversation_manager.dart | 4 +- lib/src/manager/im_friendship_manager.dart | 4 +- lib/src/manager/im_group_manager.dart | 4 +- lib/src/manager/im_manager.dart | 4 +- lib/src/manager/im_message_manager.dart | 17 ++-- lib/src/manager/im_user_manager.dart | 4 +- lib/src/utils.dart | 23 ++---- pubspec.lock | 9 ++- 24 files changed, 276 insertions(+), 389 deletions(-) delete mode 100644 lib/src/listener/impl/advanced_msg_listener.dart delete mode 100644 lib/src/listener/impl/connect_listener.dart delete mode 100644 lib/src/listener/impl/conversation_listener.dart delete mode 100644 lib/src/listener/impl/friendship_listener.dart delete mode 100644 lib/src/listener/impl/group_listener.dart delete mode 100644 lib/src/listener/impl/msg_send_progress_listener.dart delete mode 100644 lib/src/listener/impl/user_listener.dart diff --git a/example/pubspec.lock b/example/pubspec.lock index 60d0397..2f89402 100644 --- a/example/pubspec.lock +++ b/example/pubspec.lock @@ -81,6 +81,13 @@ packages: url: "https://pub.flutter-io.cn" source: hosted version: "0.12.11" + material_color_utilities: + dependency: transitive + description: + name: material_color_utilities + url: "https://pub.flutter-io.cn" + source: hosted + version: "0.1.3" meta: dependency: transitive description: @@ -141,7 +148,7 @@ packages: name: test_api url: "https://pub.flutter-io.cn" source: hosted - version: "0.4.3" + version: "0.4.8" typed_data: dependency: transitive description: diff --git a/lib/flutter_openim_sdk.dart b/lib/flutter_openim_sdk.dart index 0cbcb0d..e8bd60a 100644 --- a/lib/flutter_openim_sdk.dart +++ b/lib/flutter_openim_sdk.dart @@ -7,19 +7,18 @@ export 'src/enum/listener_type.dart'; export 'src/enum/message_status.dart'; export 'src/enum/message_type.dart'; export 'src/listener/advanced_msg_listener.dart'; +export 'src/listener/advanced_msg_listener.dart'; +export 'src/listener/connect_listener.dart'; export 'src/listener/connect_listener.dart'; export 'src/listener/conversation_listener.dart'; export 'src/listener/friendship_listener.dart'; +export 'src/listener/friendship_listener.dart'; export 'src/listener/group_listener.dart'; -export 'src/listener/impl/advanced_msg_listener.dart'; -export 'src/listener/impl/connect_listener.dart'; -export 'src/listener/impl/conversation_listener.dart'; -export 'src/listener/impl/friendship_listener.dart'; -export 'src/listener/impl/group_listener.dart'; -export 'src/listener/impl/msg_send_progress_listener.dart'; -export 'src/listener/impl/user_listener.dart'; +export 'src/listener/group_listener.dart'; +export 'src/listener/msg_send_progress_listener.dart'; export 'src/listener/msg_send_progress_listener.dart'; export 'src/listener/user_listener.dart'; +export 'src/listener/user_listener.dart'; export 'src/manager/im_conversation_manager.dart'; export 'src/manager/im_friendship_manager.dart'; export 'src/manager/im_group_manager.dart'; diff --git a/lib/src/listener/advanced_msg_listener.dart b/lib/src/listener/advanced_msg_listener.dart index c1d53ae..b075e42 100644 --- a/lib/src/listener/advanced_msg_listener.dart +++ b/lib/src/listener/advanced_msg_listener.dart @@ -1,17 +1,33 @@ import 'package:flutter_openim_sdk/flutter_openim_sdk.dart'; -abstract class AdvancedMsgListener { - /// Uniquely identifies - final String id; +class OnAdvancedMsgListener { + /// Message read receipt + Function(List list)? onRecvC2CReadReceipt; - AdvancedMsgListener() : id = "id_${DateTime.now().microsecondsSinceEpoch}"; + /// A friend revoked a message + Function(String msgId)? onRecvMessageRevoked; /// Receive new message - void recvNewMessage(Message msg); + Function(Message msg)? onRecvNewMessage; - /// Message read receipt - void recvC2CReadReceipt(List list); + /// Uniquely identifies + String id; + + OnAdvancedMsgListener({ + this.onRecvC2CReadReceipt, + this.onRecvMessageRevoked, + this.onRecvNewMessage, + }) : id = "id_${DateTime.now().microsecondsSinceEpoch}"; + + void recvC2CReadReceipt(List list) { + if (null != onRecvC2CReadReceipt) onRecvC2CReadReceipt!(list); + } + + void recvMessageRevoked(String msgId) { + if (null != onRecvMessageRevoked) onRecvMessageRevoked!(msgId); + } - /// A friend withdrew a message - void recvMessageRevoked(String msgId); + void recvNewMessage(Message msg) { + if (null != onRecvNewMessage) onRecvNewMessage!(msg); + } } diff --git a/lib/src/listener/connect_listener.dart b/lib/src/listener/connect_listener.dart index 8ca1e83..b2fe8fc 100644 --- a/lib/src/listener/connect_listener.dart +++ b/lib/src/listener/connect_listener.dart @@ -1,18 +1,46 @@ -abstract class ConnectListener { - /// SDK is connecting to the server - void connecting(); +class OnConnectListener { + /// SDK failed to connect to the server + Function(int? code, String? errorMsg)? onConnectFailed; /// SDK has successfully connected to the server - void connectSuccess(); + Function()? onConnectSuccess; - /// SDK failed to connect to the server - void connectFailed(int? code, String? errorMsg); + /// SDK is connecting to the server + Function()? onConnecting; /// The current user is kicked offline. /// At this time, the UI can prompt the user and call IMManager's login() function to log in again. - void kickedOffline(); + Function()? onKickedOffline; /// Ticket expired when online. /// At this time, you need to generate a new userSig and call IMManager's login() function to log in again - void userSigExpired(); + Function()? onUserSigExpired; + + OnConnectListener({ + this.onConnectFailed, + this.onConnectSuccess, + this.onConnecting, + this.onKickedOffline, + this.onUserSigExpired, + }); + + void connectFailed(int? code, String? errorMsg) { + if (null != onConnectFailed) onConnectFailed!(code, errorMsg); + } + + void connectSuccess() { + if (null != onConnectSuccess) onConnectSuccess!(); + } + + void connecting() { + if (null != onConnecting) onConnecting!.call(); + } + + void kickedOffline() { + if (null != onKickedOffline) onKickedOffline!(); + } + + void userSigExpired() { + if (null != onUserSigExpired) onUserSigExpired!(); + } } diff --git a/lib/src/listener/conversation_listener.dart b/lib/src/listener/conversation_listener.dart index be81f1d..8f278d3 100644 --- a/lib/src/listener/conversation_listener.dart +++ b/lib/src/listener/conversation_listener.dart @@ -1,15 +1,44 @@ import 'package:flutter_openim_sdk/flutter_openim_sdk.dart'; -abstract class ConversationListener { - void conversationChanged(List list); +class OnConversationListener { + Function(List list)? onConversationChanged; + Function(List list)? onNewConversation; + Function(int count)? onTotalUnreadMessageCountChanged; + Function()? onSyncServerFailed; + Function()? onSyncServerFinish; + Function()? onSyncServerStart; - void newConversation(List list); + OnConversationListener({ + this.onConversationChanged, + this.onNewConversation, + this.onTotalUnreadMessageCountChanged, + this.onSyncServerFailed, + this.onSyncServerFinish, + this.onSyncServerStart, + }); - void syncServerFailed(); + void conversationChanged(List list) { + if (onConversationChanged != null) onConversationChanged!(list); + } - void syncServerFinish(); + void newConversation(List list) { + if (onNewConversation != null) onNewConversation!(list); + } - void syncServerStart(); + void syncServerFailed() { + if (onSyncServerFailed != null) onSyncServerFailed!(); + } - void totalUnreadMessageCountChanged(int i); + void syncServerFinish() { + if (onSyncServerFinish != null) onSyncServerFinish!(); + } + + void syncServerStart() { + if (onSyncServerStart != null) onSyncServerStart!(); + } + + void totalUnreadMessageCountChanged(int i) { + if (onTotalUnreadMessageCountChanged != null) + onTotalUnreadMessageCountChanged!(i); + } } diff --git a/lib/src/listener/friendship_listener.dart b/lib/src/listener/friendship_listener.dart index 8ad40c3..bdd8ca4 100644 --- a/lib/src/listener/friendship_listener.dart +++ b/lib/src/listener/friendship_listener.dart @@ -1,21 +1,61 @@ import 'package:flutter_openim_sdk/flutter_openim_sdk.dart'; -abstract class FriendshipListener { - void friendApplicationAdded(FriendApplicationInfo u); - - void friendApplicationDeleted(FriendApplicationInfo u); - - void friendApplicationAccepted(FriendApplicationInfo u); - - void friendApplicationRejected(FriendApplicationInfo u); - - void friendAdded(FriendInfo u); - - void friendDeleted(FriendInfo u); - - void friendInfoChanged(FriendInfo u); - - void blacklistAdded(BlacklistInfo u); - - void blacklistDeleted(BlacklistInfo u); +class OnFriendshipListener { + Function(FriendApplicationInfo i)? onFriendApplicationAdded; + Function(FriendApplicationInfo i)? onFriendApplicationDeleted; + Function(FriendApplicationInfo i)? onFriendApplicationAccepted; + Function(FriendApplicationInfo i)? onFriendApplicationRejected; + Function(FriendInfo i)? onFriendAdded; + Function(FriendInfo i)? onFriendDeleted; + Function(FriendInfo i)? onFriendInfoChanged; + Function(BlacklistInfo i)? onBlacklistAdded; + Function(BlacklistInfo i)? onBlacklistDeleted; + + OnFriendshipListener({ + this.onBlacklistAdded, + this.onBlacklistDeleted, + this.onFriendAdded, + this.onFriendApplicationAccepted, + this.onFriendApplicationAdded, + this.onFriendApplicationDeleted, + this.onFriendApplicationRejected, + this.onFriendDeleted, + this.onFriendInfoChanged, + }); + + void blacklistAdded(BlacklistInfo u) { + onBlacklistAdded?.call(u); + } + + void blacklistDeleted(BlacklistInfo u) { + onBlacklistDeleted?.call(u); + } + + void friendAdded(FriendInfo u) { + onFriendAdded?.call(u); + } + + void friendApplicationAccepted(FriendApplicationInfo u) { + onFriendApplicationAccepted?.call(u); + } + + void friendApplicationAdded(FriendApplicationInfo u) { + onFriendApplicationAdded?.call(u); + } + + void friendApplicationDeleted(FriendApplicationInfo u) { + onFriendApplicationDeleted?.call(u); + } + + void friendApplicationRejected(FriendApplicationInfo u) { + onFriendApplicationRejected?.call(u); + } + + void friendDeleted(FriendInfo u) { + onFriendDeleted?.call(u); + } + + void friendInfoChanged(FriendInfo u) { + onFriendInfoChanged?.call(u); + } } diff --git a/lib/src/listener/group_listener.dart b/lib/src/listener/group_listener.dart index b8cb374..bab46a3 100644 --- a/lib/src/listener/group_listener.dart +++ b/lib/src/listener/group_listener.dart @@ -1,23 +1,67 @@ import 'package:flutter_openim_sdk/flutter_openim_sdk.dart'; -abstract class GroupListener { - void joinedGroupAdded(GroupInfo info); +class OnGroupListener { + Function(GroupApplicationInfo info)? onGroupApplicationAccepted; + Function(GroupApplicationInfo info)? onGroupApplicationAdded; + Function(GroupApplicationInfo info)? onGroupApplicationDeleted; + Function(GroupApplicationInfo info)? onGroupApplicationRejected; + Function(GroupInfo info)? onGroupInfoChanged; + Function(GroupMembersInfo info)? onGroupMemberAdded; + Function(GroupMembersInfo info)? onGroupMemberDeleted; + Function(GroupMembersInfo info)? onGroupMemberInfoChanged; + Function(GroupInfo info)? onJoinedGroupAdded; + Function(GroupInfo info)? onJoinedGroupDeleted; - void joinedGroupDeleted(GroupInfo info); + OnGroupListener({ + this.onGroupApplicationAccepted, + this.onGroupApplicationAdded, + this.onGroupApplicationDeleted, + this.onGroupApplicationRejected, + this.onGroupInfoChanged, + this.onGroupMemberAdded, + this.onGroupMemberDeleted, + this.onGroupMemberInfoChanged, + this.onJoinedGroupAdded, + this.onJoinedGroupDeleted, + }); - void groupMemberAdded(GroupMembersInfo info); + void groupApplicationAccepted(GroupApplicationInfo info) { + onGroupApplicationAccepted?.call(info); + } - void groupMemberDeleted(GroupMembersInfo info); + void groupApplicationAdded(GroupApplicationInfo info) { + onGroupApplicationAdded?.call(info); + } - void groupApplicationAdded(GroupApplicationInfo info); + void groupApplicationDeleted(GroupApplicationInfo info) { + onGroupApplicationDeleted?.call(info); + } - void groupApplicationDeleted(GroupApplicationInfo info); + void groupApplicationRejected(GroupApplicationInfo info) { + onGroupApplicationRejected?.call(info); + } - void groupInfoChanged(GroupInfo info); + void groupInfoChanged(GroupInfo info) { + onGroupInfoChanged?.call(info); + } - void groupMemberInfoChanged(GroupMembersInfo info); + void groupMemberAdded(GroupMembersInfo info) { + onGroupMemberAdded?.call(info); + } - void groupApplicationAccepted(GroupApplicationInfo info); + void groupMemberDeleted(GroupMembersInfo info) { + onGroupMemberDeleted?.call(info); + } - void groupApplicationRejected(GroupApplicationInfo info); + void groupMemberInfoChanged(GroupMembersInfo info) { + onGroupMemberInfoChanged?.call(info); + } + + void joinedGroupAdded(GroupInfo info) { + onJoinedGroupAdded?.call(info); + } + + void joinedGroupDeleted(GroupInfo info) { + onJoinedGroupDeleted?.call(info); + } } diff --git a/lib/src/listener/impl/advanced_msg_listener.dart b/lib/src/listener/impl/advanced_msg_listener.dart deleted file mode 100644 index 0ceea24..0000000 --- a/lib/src/listener/impl/advanced_msg_listener.dart +++ /dev/null @@ -1,28 +0,0 @@ -import 'package:flutter_openim_sdk/flutter_openim_sdk.dart'; - -class OnAdvancedMsgListener extends AdvancedMsgListener { - Function(List list)? onRecvC2CReadReceipt; - Function(String msgId)? onRecvMessageRevoked; - Function(Message msg)? onRecvNewMessage; - - OnAdvancedMsgListener({ - this.onRecvC2CReadReceipt, - this.onRecvMessageRevoked, - this.onRecvNewMessage, - }); - - @override - void recvC2CReadReceipt(List list) { - if (null != onRecvC2CReadReceipt) onRecvC2CReadReceipt!(list); - } - - @override - void recvMessageRevoked(String msgId) { - if (null != onRecvMessageRevoked) onRecvMessageRevoked!(msgId); - } - - @override - void recvNewMessage(Message msg) { - if (null != onRecvNewMessage) onRecvNewMessage!(msg); - } -} diff --git a/lib/src/listener/impl/connect_listener.dart b/lib/src/listener/impl/connect_listener.dart deleted file mode 100644 index 332e1fe..0000000 --- a/lib/src/listener/impl/connect_listener.dart +++ /dev/null @@ -1,43 +0,0 @@ -import 'package:flutter_openim_sdk/flutter_openim_sdk.dart'; -import 'package:flutter_openim_sdk/src/listener/connect_listener.dart'; - -class OnConnectListener extends ConnectListener { - Function(int? code, String? errorMsg)? onConnectFailed; - Function()? onConnectSuccess; - Function()? onConnecting; - Function()? onKickedOffline; - Function()? onUserSigExpired; - - OnConnectListener({ - this.onConnectFailed, - this.onConnectSuccess, - this.onConnecting, - this.onKickedOffline, - this.onUserSigExpired, - }); - - @override - void connectFailed(int? code, String? errorMsg) { - if (null != onConnectFailed) onConnectFailed!(code, errorMsg); - } - - @override - void connectSuccess() { - if (null != onConnectSuccess) onConnectSuccess!(); - } - - @override - void connecting() { - if (null != onConnecting) onConnecting!.call(); - } - - @override - void kickedOffline() { - if (null != onKickedOffline) onKickedOffline!(); - } - - @override - void userSigExpired() { - if (null != onUserSigExpired) onUserSigExpired!(); - } -} diff --git a/lib/src/listener/impl/conversation_listener.dart b/lib/src/listener/impl/conversation_listener.dart deleted file mode 100644 index 8392f3c..0000000 --- a/lib/src/listener/impl/conversation_listener.dart +++ /dev/null @@ -1,50 +0,0 @@ -import 'package:flutter_openim_sdk/flutter_openim_sdk.dart'; - -class OnConversationListener extends ConversationListener { - Function(List list)? onConversationChanged; - Function(List list)? onNewConversation; - Function(int count)? onTotalUnreadMessageCountChanged; - Function()? onSyncServerFailed; - Function()? onSyncServerFinish; - Function()? onSyncServerStart; - - OnConversationListener({ - this.onConversationChanged, - this.onNewConversation, - this.onTotalUnreadMessageCountChanged, - this.onSyncServerFailed, - this.onSyncServerFinish, - this.onSyncServerStart, - }); - - @override - void conversationChanged(List list) { - if (onConversationChanged != null) onConversationChanged!(list); - } - - @override - void newConversation(List list) { - if (onNewConversation != null) onNewConversation!(list); - } - - @override - void syncServerFailed() { - if (onSyncServerFailed != null) onSyncServerFailed!(); - } - - @override - void syncServerFinish() { - if (onSyncServerFinish != null) onSyncServerFinish!(); - } - - @override - void syncServerStart() { - if (onSyncServerStart != null) onSyncServerStart!(); - } - - @override - void totalUnreadMessageCountChanged(int i) { - if (onTotalUnreadMessageCountChanged != null) - onTotalUnreadMessageCountChanged!(i); - } -} diff --git a/lib/src/listener/impl/friendship_listener.dart b/lib/src/listener/impl/friendship_listener.dart deleted file mode 100644 index 132a782..0000000 --- a/lib/src/listener/impl/friendship_listener.dart +++ /dev/null @@ -1,70 +0,0 @@ -import 'package:flutter_openim_sdk/flutter_openim_sdk.dart'; - -class OnFriendshipListener extends FriendshipListener { - Function(FriendApplicationInfo i)? onFriendApplicationAdded; - Function(FriendApplicationInfo i)? onFriendApplicationDeleted; - Function(FriendApplicationInfo i)? onFriendApplicationAccepted; - Function(FriendApplicationInfo i)? onFriendApplicationRejected; - Function(FriendInfo i)? onFriendAdded; - Function(FriendInfo i)? onFriendDeleted; - Function(FriendInfo i)? onFriendInfoChanged; - Function(BlacklistInfo i)? onBlacklistAdded; - Function(BlacklistInfo i)? onBlacklistDeleted; - - OnFriendshipListener({ - this.onBlacklistAdded, - this.onBlacklistDeleted, - this.onFriendAdded, - this.onFriendApplicationAccepted, - this.onFriendApplicationAdded, - this.onFriendApplicationDeleted, - this.onFriendApplicationRejected, - this.onFriendDeleted, - this.onFriendInfoChanged, - }); - - @override - void blacklistAdded(BlacklistInfo u) { - onBlacklistAdded?.call(u); - } - - @override - void blacklistDeleted(BlacklistInfo u) { - onBlacklistDeleted?.call(u); - } - - @override - void friendAdded(FriendInfo u) { - onFriendAdded?.call(u); - } - - @override - void friendApplicationAccepted(FriendApplicationInfo u) { - onFriendApplicationAccepted?.call(u); - } - - @override - void friendApplicationAdded(FriendApplicationInfo u) { - onFriendApplicationAdded?.call(u); - } - - @override - void friendApplicationDeleted(FriendApplicationInfo u) { - onFriendApplicationDeleted?.call(u); - } - - @override - void friendApplicationRejected(FriendApplicationInfo u) { - onFriendApplicationRejected?.call(u); - } - - @override - void friendDeleted(FriendInfo u) { - onFriendDeleted?.call(u); - } - - @override - void friendInfoChanged(FriendInfo u) { - onFriendInfoChanged?.call(u); - } -} diff --git a/lib/src/listener/impl/group_listener.dart b/lib/src/listener/impl/group_listener.dart deleted file mode 100644 index 8a104ad..0000000 --- a/lib/src/listener/impl/group_listener.dart +++ /dev/null @@ -1,77 +0,0 @@ -import 'package:flutter_openim_sdk/flutter_openim_sdk.dart'; - -class OnGroupListener extends GroupListener { - Function(GroupApplicationInfo info)? onGroupApplicationAccepted; - Function(GroupApplicationInfo info)? onGroupApplicationAdded; - Function(GroupApplicationInfo info)? onGroupApplicationDeleted; - Function(GroupApplicationInfo info)? onGroupApplicationRejected; - Function(GroupInfo info)? onGroupInfoChanged; - Function(GroupMembersInfo info)? onGroupMemberAdded; - Function(GroupMembersInfo info)? onGroupMemberDeleted; - Function(GroupMembersInfo info)? onGroupMemberInfoChanged; - Function(GroupInfo info)? onJoinedGroupAdded; - Function(GroupInfo info)? onJoinedGroupDeleted; - - OnGroupListener({ - this.onGroupApplicationAccepted, - this.onGroupApplicationAdded, - this.onGroupApplicationDeleted, - this.onGroupApplicationRejected, - this.onGroupInfoChanged, - this.onGroupMemberAdded, - this.onGroupMemberDeleted, - this.onGroupMemberInfoChanged, - this.onJoinedGroupAdded, - this.onJoinedGroupDeleted, - }); - - @override - void groupApplicationAccepted(GroupApplicationInfo info) { - onGroupApplicationAccepted?.call(info); - } - - @override - void groupApplicationAdded(GroupApplicationInfo info) { - onGroupApplicationAdded?.call(info); - } - - @override - void groupApplicationDeleted(GroupApplicationInfo info) { - onGroupApplicationDeleted?.call(info); - } - - @override - void groupApplicationRejected(GroupApplicationInfo info) { - onGroupApplicationRejected?.call(info); - } - - @override - void groupInfoChanged(GroupInfo info) { - onGroupInfoChanged?.call(info); - } - - @override - void groupMemberAdded(GroupMembersInfo info) { - onGroupMemberAdded?.call(info); - } - - @override - void groupMemberDeleted(GroupMembersInfo info) { - onGroupMemberDeleted?.call(info); - } - - @override - void groupMemberInfoChanged(GroupMembersInfo info) { - onGroupMemberInfoChanged?.call(info); - } - - @override - void joinedGroupAdded(GroupInfo info) { - onJoinedGroupAdded?.call(info); - } - - @override - void joinedGroupDeleted(GroupInfo info) { - onJoinedGroupDeleted?.call(info); - } -} diff --git a/lib/src/listener/impl/msg_send_progress_listener.dart b/lib/src/listener/impl/msg_send_progress_listener.dart deleted file mode 100644 index f90de43..0000000 --- a/lib/src/listener/impl/msg_send_progress_listener.dart +++ /dev/null @@ -1,11 +0,0 @@ -import 'package:flutter_openim_sdk/flutter_openim_sdk.dart'; - -class OnMsgSendProgressListener extends MsgSendProgressListener { - Function(String clientMsgID, int progress)? onProgress; - - OnMsgSendProgressListener({this.onProgress}); - - void progress(String clientMsgID, int progress) { - if (null != onProgress) onProgress!(clientMsgID, progress); - } -} diff --git a/lib/src/listener/impl/user_listener.dart b/lib/src/listener/impl/user_listener.dart deleted file mode 100644 index 230eeb4..0000000 --- a/lib/src/listener/impl/user_listener.dart +++ /dev/null @@ -1,12 +0,0 @@ -import 'package:flutter_openim_sdk/flutter_openim_sdk.dart'; - -class OnUserListener extends UserListener { - Function(UserInfo info)? onSelfInfoUpdated; - - OnUserListener({this.onSelfInfoUpdated}); - - @override - void selfInfoUpdated(UserInfo info) { - onSelfInfoUpdated?.call(info); - } -} diff --git a/lib/src/listener/msg_send_progress_listener.dart b/lib/src/listener/msg_send_progress_listener.dart index f1dd4f3..3dfdf3c 100644 --- a/lib/src/listener/msg_send_progress_listener.dart +++ b/lib/src/listener/msg_send_progress_listener.dart @@ -1,3 +1,9 @@ -abstract class MsgSendProgressListener { - void progress(String clientMsgID, int progress); +class OnMsgSendProgressListener { + Function(String clientMsgID, int progress)? onProgress; + + OnMsgSendProgressListener({this.onProgress}); + + void progress(String clientMsgID, int progress) { + if (null != onProgress) onProgress!(clientMsgID, progress); + } } diff --git a/lib/src/listener/user_listener.dart b/lib/src/listener/user_listener.dart index 0d830c6..557f7b9 100644 --- a/lib/src/listener/user_listener.dart +++ b/lib/src/listener/user_listener.dart @@ -1,6 +1,12 @@ import 'package:flutter_openim_sdk/flutter_openim_sdk.dart'; -abstract class UserListener { +class OnUserListener { /// The information of the logged-in user has been updated - void selfInfoUpdated(UserInfo info); + Function(UserInfo info)? onSelfInfoUpdated; + + OnUserListener({this.onSelfInfoUpdated}); + + void selfInfoUpdated(UserInfo info) { + onSelfInfoUpdated?.call(info); + } } diff --git a/lib/src/manager/im_conversation_manager.dart b/lib/src/manager/im_conversation_manager.dart index 12eb02c..fa37b98 100644 --- a/lib/src/manager/im_conversation_manager.dart +++ b/lib/src/manager/im_conversation_manager.dart @@ -3,13 +3,13 @@ import 'package:flutter_openim_sdk/flutter_openim_sdk.dart'; class ConversationManager { MethodChannel _channel; - late ConversationListener conversationListener; + late OnConversationListener conversationListener; ConversationManager(this._channel); /// Observe conversation changes /// 会话监听 - Future setConversationListener(ConversationListener listener) { + Future setConversationListener(OnConversationListener listener) { this.conversationListener = listener; return _channel.invokeMethod('setConversationListener', _buildParam({})); } diff --git a/lib/src/manager/im_friendship_manager.dart b/lib/src/manager/im_friendship_manager.dart index 19e3952..7b3defd 100644 --- a/lib/src/manager/im_friendship_manager.dart +++ b/lib/src/manager/im_friendship_manager.dart @@ -3,13 +3,13 @@ import 'package:flutter_openim_sdk/flutter_openim_sdk.dart'; class FriendshipManager { MethodChannel _channel; - late FriendshipListener friendshipListener; + late OnFriendshipListener friendshipListener; FriendshipManager(this._channel); /// Set up a friend relationship listener /// 好友关系监听 - Future setFriendshipListener(FriendshipListener listener) { + Future setFriendshipListener(OnFriendshipListener listener) { this.friendshipListener = listener; return _channel.invokeMethod('setFriendListener', _buildParam({})); } diff --git a/lib/src/manager/im_group_manager.dart b/lib/src/manager/im_group_manager.dart index 0bf5607..c11676f 100644 --- a/lib/src/manager/im_group_manager.dart +++ b/lib/src/manager/im_group_manager.dart @@ -3,13 +3,13 @@ import 'package:flutter_openim_sdk/flutter_openim_sdk.dart'; class GroupManager { MethodChannel _channel; - late GroupListener groupListener; + late OnGroupListener groupListener; GroupManager(this._channel); /// Set up group relationship monitoring /// 组关系监听 - Future setGroupListener(GroupListener listener) { + Future setGroupListener(OnGroupListener listener) { this.groupListener = listener; return _channel.invokeMethod('setGroupListener', _buildParam({})); } diff --git a/lib/src/manager/im_manager.dart b/lib/src/manager/im_manager.dart index 2a1ee09..23d93b5 100644 --- a/lib/src/manager/im_manager.dart +++ b/lib/src/manager/im_manager.dart @@ -13,7 +13,7 @@ class IMManager { // late OfflinePushManager offlinePushManager; // late SignalingManager signalingManager; - late ConnectListener _connectListener; + late OnConnectListener _connectListener; late String uid; late UserInfo uInfo; bool isLogined = false; @@ -251,7 +251,7 @@ class IMManager { required String apiAddr, required String wsAddr, required String dataDir, - required ConnectListener listener, + required OnConnectListener listener, int logLevel = 6, String? objectStorage, String? operationID, diff --git a/lib/src/manager/im_message_manager.dart b/lib/src/manager/im_message_manager.dart index 5e9f500..3c10daa 100644 --- a/lib/src/manager/im_message_manager.dart +++ b/lib/src/manager/im_message_manager.dart @@ -5,14 +5,14 @@ class MessageManager { MethodChannel _channel; // List advancedMsgListeners = List.empty(growable: true); - MsgSendProgressListener? msgSendProgressListener; - late AdvancedMsgListener advancedMsgListener; + OnMsgSendProgressListener? msgSendProgressListener; + late OnAdvancedMsgListener advancedMsgListener; MessageManager(this._channel); /// Set a message listener /// 消息监听 - Future setAdvancedMsgListener(AdvancedMsgListener listener) { + Future setAdvancedMsgListener(OnAdvancedMsgListener listener) { this.advancedMsgListener = listener; // advancedMsgListeners.add(listener); return _channel.invokeMethod( @@ -24,7 +24,7 @@ class MessageManager { /// Set up message sending progress monitoring /// 消息发送进度监听 - void setMsgSendProgressListener(MsgSendProgressListener listener) { + void setMsgSendProgressListener(OnMsgSendProgressListener listener) { msgSendProgressListener = listener; } @@ -47,7 +47,14 @@ class MessageManager { 'message': message.toJson(), 'userID': userID ?? '', 'groupID': groupID ?? '', - 'offlinePushInfo': offlinePushInfo?.toJson() ?? {}, + 'offlinePushInfo': offlinePushInfo?.toJson() ?? + { + "title": "You have a new message", + "desc": "", + "ex": "", + "iOSPushSound": "+1", + "iOSBadgeCount": true, + }, 'operationID': Utils.checkOperationID(operationID), })) .then((value) => Utils.toObj(value, (map) => Message.fromJson(map))); diff --git a/lib/src/manager/im_user_manager.dart b/lib/src/manager/im_user_manager.dart index 165b70b..0cc4955 100644 --- a/lib/src/manager/im_user_manager.dart +++ b/lib/src/manager/im_user_manager.dart @@ -3,13 +3,13 @@ import 'package:flutter_openim_sdk/flutter_openim_sdk.dart'; class UserManager { MethodChannel _channel; - late UserListener userListener; + late OnUserListener userListener; UserManager(this._channel); /// Observe user info changes /// 用户资料改变监听 - Future setUserListener(UserListener listener) { + Future setUserListener(OnUserListener listener) { this.userListener = listener; return _channel.invokeMethod('setUserListener', _buildParam({})); } diff --git a/lib/src/utils.dart b/lib/src/utils.dart index 520442c..2e64be2 100644 --- a/lib/src/utils.dart +++ b/lib/src/utils.dart @@ -1,27 +1,16 @@ import 'dart:convert'; class Utils { - static List toList(String? value, T f(Map map)) { - var list = _formatJson(value); - if (null == list) return []; - return (list as List).map((e) => f(e)).toList(); - } + static List toList(String value, T f(Map map)) => + (_formatJson(value) as List).map((e) => f(e)).toList(); static T toObj(String value, T f(Map map)) => f(_formatJson(value)); - static List toListMap(String? value) => _formatJson(value) ?? []; + static List toListMap(String value) => _formatJson(value); - static dynamic _formatJson(String? value) { - if (null == value) return null; - return jsonDecode(_printValue(value)); - } + static dynamic _formatJson(String value) => jsonDecode(value); - static String _printValue(value) { - return value; - } - - static String checkOperationID(String? obj) { - return obj ?? DateTime.now().millisecondsSinceEpoch.toString(); - } + static String checkOperationID(String? obj) => + obj ?? DateTime.now().millisecondsSinceEpoch.toString(); } diff --git a/pubspec.lock b/pubspec.lock index 06646da..ad9e252 100644 --- a/pubspec.lock +++ b/pubspec.lock @@ -67,6 +67,13 @@ packages: url: "https://pub.flutter-io.cn" source: hosted version: "0.12.11" + material_color_utilities: + dependency: transitive + description: + name: material_color_utilities + url: "https://pub.flutter-io.cn" + source: hosted + version: "0.1.3" meta: dependency: transitive description: @@ -127,7 +134,7 @@ packages: name: test_api url: "https://pub.flutter-io.cn" source: hosted - version: "0.4.3" + version: "0.4.8" typed_data: dependency: transitive description: