소스 검색

manager结构调整

xuqm 2 년 전
부모
커밋
4b506eb7c8

+ 11 - 0
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;
+
+    }
 }

+ 1 - 10
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();
 }

+ 15 - 0
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);
+
+}

+ 0 - 33
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() {

+ 43 - 0
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;
+    }
+}

+ 1 - 1
app/src/main/java/cn/org/bjca/trust/android/imdemo/ui/ChatActivity.java

@@ -29,7 +29,7 @@ public class ChatActivity extends BaseActivity<ActivityChatBinding> {
         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("发送消息成功");