From 4b506eb7c86110c6d29bae94c1a0472658b6e324 Mon Sep 17 00:00:00 2001 From: xuqm Date: Thu, 1 Jun 2023 18:52:44 +0800 Subject: [PATCH] =?UTF-8?q?manager=E7=BB=93=E6=9E=84=E8=B0=83=E6=95=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../org/bjca/trust/android/lib/im/SZYXImSdk.java | 11 ++++++ .../trust/android/lib/im/kit/SdkInterface.java | 11 +----- .../trust/android/lib/im/kit/SdkMsgInterface.java | 15 ++++++++ .../android/lib/im/manager/SZYXImManager.java | 33 ----------------- .../android/lib/im/manager/SZYXMessageManager.java | 43 ++++++++++++++++++++++ .../bjca/trust/android/imdemo/ui/ChatActivity.java | 2 +- 6 files changed, 71 insertions(+), 44 deletions(-) create mode 100644 SzyxImSdk/src/main/java/cn/org/bjca/trust/android/lib/im/kit/SdkMsgInterface.java create mode 100644 SzyxImSdk/src/main/java/cn/org/bjca/trust/android/lib/im/manager/SZYXMessageManager.java diff --git a/SzyxImSdk/src/main/java/cn/org/bjca/trust/android/lib/im/SZYXImSdk.java b/SzyxImSdk/src/main/java/cn/org/bjca/trust/android/lib/im/SZYXImSdk.java index dfed5de..0d4b038 100644 --- a/SzyxImSdk/src/main/java/cn/org/bjca/trust/android/lib/im/SZYXImSdk.java +++ b/SzyxImSdk/src/main/java/cn/org/bjca/trust/android/lib/im/SZYXImSdk.java @@ -1,7 +1,9 @@ package cn.org.bjca.trust.android.lib.im; import cn.org.bjca.trust.android.lib.im.kit.SdkInterface; +import cn.org.bjca.trust.android.lib.im.kit.SdkMsgInterface; import cn.org.bjca.trust.android.lib.im.manager.SZYXImManager; +import cn.org.bjca.trust.android.lib.im.manager.SZYXMessageManager; public class SZYXImSdk { @@ -9,8 +11,17 @@ public class SZYXImSdk { static final SdkInterface instance = new SZYXImManager(); } + private static final class SdkMsgInterfaceHolder { + static final SdkMsgInterface instance = new SZYXMessageManager(); + } + public static SdkInterface getInstance() { return SdkInterfaceHolder.instance; } + + public static SdkMsgInterface getMessageManager() { + return SdkMsgInterfaceHolder.instance; + + } } diff --git a/SzyxImSdk/src/main/java/cn/org/bjca/trust/android/lib/im/kit/SdkInterface.java b/SzyxImSdk/src/main/java/cn/org/bjca/trust/android/lib/im/kit/SdkInterface.java index f8cbdb9..dcdda30 100644 --- a/SzyxImSdk/src/main/java/cn/org/bjca/trust/android/lib/im/kit/SdkInterface.java +++ b/SzyxImSdk/src/main/java/cn/org/bjca/trust/android/lib/im/kit/SdkInterface.java @@ -2,8 +2,6 @@ package cn.org.bjca.trust.android.lib.im.kit; import android.content.Context; -import cn.org.bjca.trust.android.lib.im.im.msg.SZYXMessage; - public interface SdkInterface { void setIMSDKListener(IMSDKListener listener); @@ -14,15 +12,8 @@ public interface SdkInterface { void login(String userID, String userSig, IMSDKCallback callback); - void logout( IMSDKCallback callback); - - void addMsgListener(MsgListener listener); - - void removeMsgListener(MsgListener listener); - - SZYXMessage sendMsgForTextToC(String toUserId, String text, IMSDKCallback callback); + void logout(IMSDKCallback callback); - SZYXMessage sendMsgForTextToG(String toGroupId, String text, IMSDKCallback callback); String getVersion(); } diff --git a/SzyxImSdk/src/main/java/cn/org/bjca/trust/android/lib/im/kit/SdkMsgInterface.java b/SzyxImSdk/src/main/java/cn/org/bjca/trust/android/lib/im/kit/SdkMsgInterface.java new file mode 100644 index 0000000..24d9416 --- /dev/null +++ b/SzyxImSdk/src/main/java/cn/org/bjca/trust/android/lib/im/kit/SdkMsgInterface.java @@ -0,0 +1,15 @@ +package cn.org.bjca.trust.android.lib.im.kit; + +import cn.org.bjca.trust.android.lib.im.im.msg.SZYXMessage; + +public interface SdkMsgInterface { + + void addMsgListener(MsgListener listener); + + void removeMsgListener(MsgListener listener); + + SZYXMessage sendMsgForTextToC(String toUserId, String text, IMSDKCallback callback); + + SZYXMessage sendMsgForTextToG(String toGroupId, String text, IMSDKCallback callback); + +} diff --git a/SzyxImSdk/src/main/java/cn/org/bjca/trust/android/lib/im/manager/SZYXImManager.java b/SzyxImSdk/src/main/java/cn/org/bjca/trust/android/lib/im/manager/SZYXImManager.java index 3834bf7..2f89eaf 100644 --- a/SzyxImSdk/src/main/java/cn/org/bjca/trust/android/lib/im/manager/SZYXImManager.java +++ b/SzyxImSdk/src/main/java/cn/org/bjca/trust/android/lib/im/manager/SZYXImManager.java @@ -6,16 +6,12 @@ import cn.org.bjca.trust.android.lib.im.BuildConfig; import cn.org.bjca.trust.android.lib.im.SZYXDbHelper; import cn.org.bjca.trust.android.lib.im.cfg.Constant; import cn.org.bjca.trust.android.lib.im.common.DeviceHelper; -import cn.org.bjca.trust.android.lib.im.enums.MsgType; import cn.org.bjca.trust.android.lib.im.http.HttpManage; import cn.org.bjca.trust.android.lib.im.im.IMHelper; import cn.org.bjca.trust.android.lib.im.im.manager.UserManager; -import cn.org.bjca.trust.android.lib.im.im.msg.SZYXMessage; -import cn.org.bjca.trust.android.lib.im.im.msg.message.SZYXTextMessage; import cn.org.bjca.trust.android.lib.im.im.opt.ImConnectOptions; import cn.org.bjca.trust.android.lib.im.kit.IMSDKCallback; import cn.org.bjca.trust.android.lib.im.kit.IMSDKListener; -import cn.org.bjca.trust.android.lib.im.kit.MsgListener; import cn.org.bjca.trust.android.lib.im.kit.SdkInterface; import cn.org.bjca.trust.android.lib.im.repository.Service; import cn.org.bjca.trust.android.lib.im.repository.bean.LoginBean; @@ -80,35 +76,6 @@ public class SZYXImManager implements SdkInterface { IMHelper.getInstance().logout(); } - @Override - public void addMsgListener(MsgListener listener) { - IMHelper.getInstance().addMsgListener(listener); - } - - @Override - public void removeMsgListener(MsgListener listener) { - IMHelper.getInstance().removeMsgListener(listener); - } - - @Override - public SZYXMessage sendMsgForTextToC(String toUserId, String text, IMSDKCallback callback) { - SZYXTextMessage textMessage = new SZYXTextMessage(text); - - SZYXMessage szyxMessage = IMHelper.getInstance().createMsg(MsgType.Text, toUserId, false, textMessage, null); - - IMHelper.getInstance().sendSZYXMessage(szyxMessage, callback); - return szyxMessage; - } - - @Override - public SZYXMessage sendMsgForTextToG(String toGroupId, String text, IMSDKCallback callback) { - SZYXTextMessage textMessage = new SZYXTextMessage(text); - - SZYXMessage szyxMessage = IMHelper.getInstance().createMsg(MsgType.Text, toGroupId, true, textMessage, null); - - IMHelper.getInstance().sendSZYXMessage(szyxMessage, callback); - return szyxMessage; - } @Override public String getVersion() { diff --git a/SzyxImSdk/src/main/java/cn/org/bjca/trust/android/lib/im/manager/SZYXMessageManager.java b/SzyxImSdk/src/main/java/cn/org/bjca/trust/android/lib/im/manager/SZYXMessageManager.java new file mode 100644 index 0000000..cc9f00d --- /dev/null +++ b/SzyxImSdk/src/main/java/cn/org/bjca/trust/android/lib/im/manager/SZYXMessageManager.java @@ -0,0 +1,43 @@ +package cn.org.bjca.trust.android.lib.im.manager; + +import cn.org.bjca.trust.android.lib.im.enums.MsgType; +import cn.org.bjca.trust.android.lib.im.im.IMHelper; +import cn.org.bjca.trust.android.lib.im.im.msg.SZYXMessage; +import cn.org.bjca.trust.android.lib.im.im.msg.message.SZYXTextMessage; +import cn.org.bjca.trust.android.lib.im.kit.IMSDKCallback; +import cn.org.bjca.trust.android.lib.im.kit.MsgListener; +import cn.org.bjca.trust.android.lib.im.kit.SdkMsgInterface; + +public class SZYXMessageManager implements SdkMsgInterface { + + + @Override + public void addMsgListener(MsgListener listener) { + IMHelper.getInstance().addMsgListener(listener); + } + + @Override + public void removeMsgListener(MsgListener listener) { + IMHelper.getInstance().removeMsgListener(listener); + } + + @Override + public SZYXMessage sendMsgForTextToC(String toUserId, String text, IMSDKCallback callback) { + SZYXTextMessage textMessage = new SZYXTextMessage(text); + + SZYXMessage szyxMessage = IMHelper.getInstance().createMsg(MsgType.Text, toUserId, false, textMessage, null); + + IMHelper.getInstance().sendSZYXMessage(szyxMessage, callback); + return szyxMessage; + } + + @Override + public SZYXMessage sendMsgForTextToG(String toGroupId, String text, IMSDKCallback callback) { + SZYXTextMessage textMessage = new SZYXTextMessage(text); + + SZYXMessage szyxMessage = IMHelper.getInstance().createMsg(MsgType.Text, toGroupId, true, textMessage, null); + + IMHelper.getInstance().sendSZYXMessage(szyxMessage, callback); + return szyxMessage; + } +} diff --git a/app/src/main/java/cn/org/bjca/trust/android/imdemo/ui/ChatActivity.java b/app/src/main/java/cn/org/bjca/trust/android/imdemo/ui/ChatActivity.java index d1c0c34..e84d947 100644 --- a/app/src/main/java/cn/org/bjca/trust/android/imdemo/ui/ChatActivity.java +++ b/app/src/main/java/cn/org/bjca/trust/android/imdemo/ui/ChatActivity.java @@ -29,7 +29,7 @@ public class ChatActivity extends BaseActivity { getBinding().btnSend.setOnClickListener(v -> { String msg = getBinding().et.getText().toString(); if (!ToolsHelper.isNull(msg)) { - SZYXImSdk.getInstance().sendMsgForTextToC(userId, msg, new IMSDKCallback() { + SZYXImSdk.getMessageManager().sendMsgForTextToC(userId, msg, new IMSDKCallback() { @Override public void success() { ToolsHelper.showMessage("发送消息成功");