From b035d28ac2ee4cd19c15cdb0fdb105dd84dc08c7 Mon Sep 17 00:00:00 2001 From: hrxiang Date: Sun, 26 Sep 2021 09:19:32 +0800 Subject: [PATCH] fix bug --- .../openim/flutter_openim_sdk/util/CommonUtil.java | 2 +- lib/src/manager/im_manager.dart | 12 +++++++----- 2 files changed, 8 insertions(+), 6 deletions(-) diff --git a/android/src/main/java/io/openim/flutter_openim_sdk/util/CommonUtil.java b/android/src/main/java/io/openim/flutter_openim_sdk/util/CommonUtil.java index 71b4ab1..30cda3f 100644 --- a/android/src/main/java/io/openim/flutter_openim_sdk/util/CommonUtil.java +++ b/android/src/main/java/io/openim/flutter_openim_sdk/util/CommonUtil.java @@ -54,7 +54,7 @@ public class CommonUtil { runMainThreadReturnError(result, String.valueOf(errorCode), errorMessage, errorDetails); } - public static void emitEvent(String method, String type, Long errCode, String errMsg, T data) { + public synchronized static void emitEvent(String method, String type, Long errCode, String errMsg, T data) { runMainThread(new Runnable() { @Override public void run() { diff --git a/lib/src/manager/im_manager.dart b/lib/src/manager/im_manager.dart index 517b8ad..c8633f8 100644 --- a/lib/src/manager/im_manager.dart +++ b/lib/src/manager/im_manager.dart @@ -23,10 +23,10 @@ class IMManager { groupManager = GroupManager(_channel); offlinePushManager = OfflinePushManager(_channel); signalingManager = SignalingManager(_channel); - addNativeCallback(_channel); + _addNativeCallback(_channel); } - void addNativeCallback(MethodChannel _channel) { + void _addNativeCallback(MethodChannel _channel) { _channel.setMethodCallHandler((call) { try { if (call.method == ListenerType.initSDKListener) { @@ -306,12 +306,14 @@ class IMManager { /// login sdk /// - Future login({required String uid, required String token}) async { + Future login({required String uid, required String token}) async { this.uid = uid; - return _channel.invokeMethod( + await _channel.invokeMethod( 'login', _buildParam({'uid': uid, 'token': token}), ); + this.uInfo = (await getUsersInfo([uid])).first; + return uInfo; } /// @@ -332,7 +334,7 @@ class IMManager { /// Future getLoginUserInfo() { - return getUsersInfo([uid]).then((list) => uInfo = list[0]); + return Future.value(uInfo); } ///