From c7f1ea57dce285afd7b0a5b3465ed28a23853824 Mon Sep 17 00:00:00 2001 From: heavyrian2012 Date: Thu, 6 Nov 2025 18:31:12 +0800 Subject: [PATCH] =?UTF-8?q?=E8=A7=A3=E5=86=B3=E6=9F=90=E4=BA=9B=E5=B9=B3?= =?UTF-8?q?=E5=8F=B0SDK=E5=86=85=E7=BD=AE=E6=B6=88=E6=81=AF=E6=B2=A1?= =?UTF-8?q?=E6=9C=89=E6=B3=A8=E5=86=8C=E7=9A=84=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../messagecontent/MessageContentFactory.java | 36 +++++++++++++++++++ 1 file changed, 36 insertions(+) diff --git a/sdk/src/main/java/cn/wildfirechat/sdk/messagecontent/MessageContentFactory.java b/sdk/src/main/java/cn/wildfirechat/sdk/messagecontent/MessageContentFactory.java index 98910f64..b92957c4 100644 --- a/sdk/src/main/java/cn/wildfirechat/sdk/messagecontent/MessageContentFactory.java +++ b/sdk/src/main/java/cn/wildfirechat/sdk/messagecontent/MessageContentFactory.java @@ -8,12 +8,39 @@ import cn.wildfirechat.sdk.utilities.ClassUtil; import java.io.IOException; import java.lang.reflect.Modifier; +import java.util.Arrays; +import java.util.List; import java.util.Map; import java.util.concurrent.ConcurrentHashMap; public class MessageContentFactory { private static final Map> contentClassMap = new ConcurrentHashMap<>(); + private static List buildinMessageContents = Arrays.asList( + ArticlesMessageContent.class, + StreamTextGeneratedMessageContent.class, + CallStartMessageContent.class, + StreamTextGeneratingMessageContent.class, + CardMessageContent.class, + MultiCallOngoingMessageContent.class, + TextMessageContent.class, + DeleteMessageContent.class, + NotDeliveredMessageContent.class, + TipNotificationMessageContent.class, + FileMessageContent.class, + PTTSoundMessageContent.class, + TypingMessageContent.class, + ImageMessageContent.class, + RecallMessageContent.class, + UnknownMessageContent.class, + LinkMessageContent.class, + RichNotificationMessageContent.class, + VideoMessageContent.class, + LocationMessageContent.class, + SoundMessageContent.class, + StickerMessageContent.class + ); + static { registerAllMessageContent(); } @@ -59,6 +86,15 @@ public class MessageContentFactory { } private static void registerAllMessageContent() { + try { + for (Class buildinMessageContent : buildinMessageContents) { + MessageContent content = (MessageContent)buildinMessageContent.newInstance(); + contentClassMap.put(content.getContentType(), buildinMessageContent); + } + } catch (Exception e) { + e.printStackTrace(); + } + try { for (Class cls : ClassUtil.getAllAssignedClass(MessageContent.class)) { if(!Modifier.isAbstract(cls.getModifiers())) {