[Bug] 强制使用默认字体导致消息内容显示错误
- Dominant language
- Java
- Stars
- 5.7k
- Forks
- 416
- Avg merge
- 10d 4h
- Merged PRs (30d)
- 4
Description
### 复现步骤 / Steps to reproduce
1.开启强制使用默认字体,群聊消息内容就会显示错误

2.关闭强制使用默认字体内容显示正常

### 预期行为 / Expected behaviour
打开了强制使用默认字体就会出现,关闭就显示正常
### 实际行为 / Actual behaviour

### 你使用的Xposed框架 / Xposed Framework you used
LSPosed 1.10.1 (7159) - Zygisk
### 你使用的安卓系统版本 / Your Android version
15
### QQ(TIM) 版本 / QQ(TIM) Version
8.8.50.6735(2324)
### 模块版本 / Module Version
1.5.5.r2540.224cfe1(2540)
### 版本和其他要求 / Version and Other Requirements
- [ ] 我正在使用最新 CI 调试版本且启用详细日志 / I am using latest debug CI version of QAuxiliary and enable verbose log
- [X] 我使用的 QQ 是官方发布的正式版本,而非修改版或测试版 / The QQ I am using is an official release version, not a modified or beta version
- [X] 我已经在 [Issue Tracker](https://github.com/cinit/QAuxiliary/issues) 中找过我要提出的问题,没有找到相同问题。重复问题会被关闭。
- [X] 我已知晓并同意,此处仅用于汇报主程序中存在的问题。若这个 Issue 是关于其他非程序本身问题,则我的 Issue 可能会被无条件自动关闭或/并锁定。
- [X] 我已知晓并同意,如果我不按照模板提供的指示进行填写,则我的 Issue 可能会被无条件删除。
### 日志 / Logs
[0]PicElement
com.tencent.mobileqq.aio.msg.AIOMsgElementType.PicElement
= (void*)0
[6]AbstractQQCustomMenuItem
com.tencent.qqnt.aio.menu.ui.AbstractQQCustomMenuItem
= Lio/github/qauxv/util/DexKit$NoSuchClass;->a()V
[8]AIOPictureView
com.tencent.mobileqq.richmediabrowser.view.AIOPictureView
= com.tencent.mobileqq.richmediabrowser.view.AIOPictureView
[9]AIOUtils
com.tencent.mobileqq.activity.aio.AIOUtils
= com.tencent.mobileqq.activity.aio.AIOUtils
[10]AbstractGalleryScene
com.tencent.common.galleryactivity.AbstractGalleryScene
= com.tencent.common.galleryactivity.AbstractGalleryScene
[11]AppConstants
com.tencent.mobileqq.app.AppConstants
= com.tencent.mobileqq.app.AppConstants
[12]ArkAppItemBubbleBuilder
com.tencent.mobileqq.activity.aio.item.ArkAppItemBubbleBuilder
= com.tencent.mobileqq.activity.aio.item.ArkAppItemBubbleBuilder
[13]AvatarUtil
com.tencent.mobileqq.avatar.utils.AvatarUtil
= com.tencent.mobileqq.avatar.utils.AvatarUtil
[14]BasePicDownloadProcessor
com.tencent.mobileqq.transfile.BasePicDownloadProcessor
= com.tencent.mobileqq.transfile.BasePicDownloadProcessor
[15]CustomWidgetUtil
com.tencent.widget.CustomWidgetUtil
= com.tencent.widget.CustomWidgetUtil
[16]DialogUtil
com.tencent.mobileqq.utils.DialogUtil
= com.tencent.mobileqq.utils.DialogUtil
[17]ChatActivityFacade
com.tencent.mobileqq.activity.ChatActivityFacade
= com.tencent.mobileqq.activity.ChatActivityFacade
[18]FaceManager
com.tencent.mobileqq.app.face.FaceManager
= (void*)0
[19]FavEmoConstant
com.tencent.mobileqq.emosm.favroaming.FavEmoConstant
= com.tencent.mobileqq.emosm.favroaming.FavEmoConstant
[20]FlashPicHelper
com.tencent.mobileqq.app.FlashPicHelper
= com.tencent.mobileqq.app.FlashPicHelper
[21]FrameControllerInjectImpl
com.tencent.mobileqq.activity.framebusiness.controllerinject.FrameControllerInjectImpl
= com.tencent.mobileqq.activity.framebusiness.controllerinject.FrameControllerInjectImpl
[22]GalleryBaseScene
com.tencent.mobileqq.gallery.view.GalleryBaseScene
= (void*)0
[23]TroopAppShortcutDrawer
com.tencent.mobileqq.activity.aio.drawer.TroopAppShortcutDrawer
= com.tencent.mobileqq.activity.aio.drawer.TroopAppShortcutDrawer
[24]GuildArkHelper
com.tencent.mobileqq.guild.chatpie.helper.GuildArkHelper
= Lio/github/qauxv/util/DexKit$NoSuchClass;->a()V
[25]GuildHelperProvider
com.tencent.mobileqq.guild.chatpie.GuildHelperProvider
= com.tencent.mobileqq.guild.chatpie.GuildHelperProvider
[26]HttpDownloader
com.tencent.mobileqq.transfile.HttpDownloader
= com.tencent.mobileqq.transfile.HttpDownloader
[27]IntimateInfoChatDrawer
com.tencent.mobileqq.activity.aio.drawer.IntimateInfoChatDrawer
= com.tencent.mobileqq.activity.aio.drawer.IntimateInfoChatDrawer
[28]ItemBuilderFactory
com.tencent.mobileqq.activity.aio.item.ItemBuilderFactory
= Lcom/tencent/mobileqq/activity/aio/core/msglist/item/ItemBuilderFactory;->a(Lcom/tencent/mobileqq/data/ChatMessage;Landroid/widget/BaseAdapter;)Lcom/tencent/mobileqq/activity/aio/ChatItemBuilder;
[29]MessageCache
com.tencent.mobileqq.service.message.MessageCache
= com.tencent.mobileqq.service.message.MessageCache
[30]MessageRecordFactory
com.tencent.mobileqq.service.message.MessageRecordFactory
= com.tencent.mobileqq.service.message.MessageRecordFactory
[31]MultiMsgManager
com.tencent.mobileqq.multimsg.MultiMsgManager
= com.tencent.mobileqq.multimsg.MultiMsgManager
[32]OnlinePushPbPushTransMsg
com.tencent.mobileqq.app.handler.receivesuccess.OnlinePushPbPushTransMsg
= com.tencent.mobileqq.app.handler.receivesuccess.OnlinePushPbPushTransMsg
[33]PicEmoticonInfo
com.tencent.mobileqq.emoticonview.PicEmoticonInfo
= com.tencent.mobileqq.emoticonview.PicEmoticonInfo
[34]PngFrameUtil
com.tencent.mobileqq.magicface.drawable.PngFrameUtil
= com.tencent.mobileqq.magicface.drawable.PngFrameUtil
[35]PopOutEmoticonUtil
com.tencent.mobileqq.popanim.util.PopOutEmoticonUtil
= com.tencent.mobileqq.popanim.util.PopOutEmoticonUtil
[36]MsgNotification
cooperation.qzone.push.MsgNotification
= cooperation.qzone.push.MsgNotification
[37]ReplyMsgSender
com.tencent.mobileqq.replymsg.ReplyMsgSender
= com.tencent.mobileqq.replymsg.ReplyMsgSender
[38]ReplyMsgUtils
com.tencent.mobileqq.activity.aio.reply.ReplyMsgUtils
= com.tencent.mobileqq.activity.aio.reply.ReplyMsgUtils
[39]ScreenShotHelper
com.tencent.mobileqq.screendetect.ScreenShotHelper
= com.tencent.mobileqq.screendetect.ScreenShotHelper
[40]SimpleUIUtil
com.tencent.mobileqq.theme.SimpleUIUtil
= (void*)0
[41]SystemMessageProcessor
com.tencent.mobileqq.app.message.SystemMessageProcessor
= com.tencent.mobileqq.app.message.SystemMessageProcessor
[42]TestStructMsg
com.tencent.mobileqq.structmsg.TestStructMsg
= com.tencent.mobileqq.structmsg.TestStructMsg
[43]TimeFormatterUtils
com.tencent.mobileqq.utils.TimeFormatterUtils
= com.tencent.mobileqq.utils.TimeFormatterUtils
[44]TroopGiftUtil
com.tencent.mobileqq.troop.utils.TroopGiftUtil
= com.tencent.mobileqq.troop.utils.TroopGiftUtil
[45]ZipUtils
com.tencent.biz.common.util.ZipUtils
= com.tencent.biz.common.util.ZipUtils
[49]DefaultFileModel
com.tencent.mobileqq.filemanager.fileviewer.model.DefaultFileModel
= com.tencent.mobileqq.filemanager.fileviewer.model.DefaultFileModel
[52]EmotcationConstants
com.tencent.mobileqq.text.EmotcationConstants
= com.tencent.mobileqq.text.EmotcationConstants
[53]ForwardSendPicUtil
com.tencent.mobileqq.utils.ForwardSendPicUtil
= com.tencent.mobileqq.utils.ForwardSendPicUtil
[63]
= (void*)0
[64]
= (void*)0
[65]toBottomIntent
com.tencent.mobileqq.aio.input.multiselect.c.toBottomIntent
= (void*)0
[76]CustomWidgetUtil
com.tencent.widget.CustomWidgetUtil
= com.tencent.widget.CustomWidgetUtil
[94]
= Lio/github/qauxv/util/DexKit$NoSuchClass;->a()V
[103]
= (void*)0
[105]EditTroopMemberNickService$EmojiFilter;
Lcom.tencent.mobileqq.activity.editservice.EditTroopMemberNickService$EmojiFilter;
= com.tencent.mobileqq.activity.editservice.EditTroopMemberNickService$EmojiFilter
[107]LoadPropertiesUtils
com.tencent.smtt.utils.LoadPropertiesUtils
= Lio/github/qauxv/util/DexKit$NoSuchClass;->a()V
[108]activity
com.tencent.qqnt.aio.activity
= (void*)0
[112]
= (void*)0
[115]
= Lio/github/qauxv/util/DexKit$NoSuchClass;->a()V
[119]
= Lio/github/qauxv/util/DexKit$NoSuchClass;->a()V
[1]sendMsg
com.tencent.mobileqq.aio.input.sendmsg.AIOSendMsgVMDelegate.sendMsg
= (void*)0
[2]AIOTextElementCtor
com.tencent.mobileqq.aio.msg.AIOMsgElement.AIOTextElementCtor
= (void*)0
[3]AIOTitleVB
com.tencent.mobileqq.aio.title.AIOTitleVB
= Lio/github/qauxv/util/DexKit$NoSuchClass;->a()V
[4]AIO_Create_QQNT
AIO_Create_QQNT
= (void*)0
[5]
= Lio/github/qauxv/util/DexKit$NoSuchClass;->a()V
[7]BaseListenTogetherPanel
com.tencent.mobileqq.listentogether.ui.BaseListenTogetherPanel
= Lcom/tencent/mobileqq/listentogether/ui/BaseListenTogetherPanel;->a(Lcom/tencent/mobileqq/listentogether/ListenTogetherSession;)V
[46]ChatPanel_InitPanel_QQNT
ChatPanel_InitPanel_QQNT
= (void*)0
[47]
= (void*)0
[48]
= (void*)0
[50]LiteActionBottomBar;
Lcom.tencent.mobileqq.aio.bottombar.c2c.LiteActionBottomBar;
= (void*)0
[51]
= (void*)0
[54]NotifyIdManager
com.tencent.util.notification.NotifyIdManager
= Lcom/tencent/util/notification/NotifyIdManager;->b(Ljava/lang/String;Lcom/tencent/imcore/message/Message;)Ljava/lang/String;
[55]Guild_Emo_Btn_Create_QQNT
Guild_Emo_Btn_Create_QQNT
= (void*)0
[56]PickerBottomBarPart
Lcom.tencent.qqnt.qbasealbum.album.view.PickerBottomBarPart
= (void*)0
[57]PhotoListPanel
Lcom.tencent.mobileqq.activity.aio.photo.PhotoListPanel
= (void*)0
[58]VasADBannerManager
cooperation.vip.qqbanner.manager.VasADBannerManager
= cooperation.vip.qqbanner.manager.VasADBannerManager
[59]message
com.tencent.imcore.message
= (void*)0
[60]AIOFileViewer
Lcom.tencent.mobileqq.aio.msglist.holder.component.file.AIOFileViewer
= (void*)0
[61]TroopShortcutVB;
Lcom.tencent.mobileqq.troop.shortcut.aio.TroopShortcutVB;
= (void*)0
[62]TroopAppShortcutBarHelper;
Lcom.tencent.mobileqq.activity.aio.helper.TroopAppShortcutBarHelper;
= com.tencent.mobileqq.activity.aio.helper.TroopAppShortcutBarHelper
[66]AtPanel
com.tencent.mobileqq.troop.quickat.ui.AtPanel
= Lcom/tencent/mobileqq/troop/quickat/ui/AtPanel;->a(Lcom/tencent/mobileqq/troop/quickat/ui/SearchTask$SearchResult;)V
[67]AtPanel
com.tencent.mobileqq.troop.quickat.ui.AtPanel
= Lcom/tencent/mobileqq/troop/quickat/ui/AtPanel;->a(Landroid/view/View;Ljava/lang/String;Z)V
[68]BaseChatPie
com.tencent.mobileqq.activity.aio.core.BaseChatPie
= com.tencent.mobileqq.activity.aio.core.BaseChatPie
[69]BaseChatPie
com.tencent.mobileqq.activity.aio.core.BaseChatPie
= com.tencent.mobileqq.activity.aio.core.BaseChatPie
[70]BaseChatPie
com.tencent.mobileqq.activity.aio.core.BaseChatPie
= Lcom/tencent/mobileqq/activity/aio/core/BaseChatPie;->m()V
[71]BaseChatPie
com.tencent.mobileqq.activity.aio.core.BaseChatPie
= com.tencent.mobileqq.activity.aio.core.BaseChatPie
[72]ChatActivityFacade
com.tencent.mobileqq.activity.ChatActivityFacade
= Lcom/tencent/mobileqq/activity/ChatActivityFacade;->a(Lcom/tencent/mobileqq/app/QQAppInterface;Landroid/content/Context;Lcom/tencent/mobileqq/activity/aio/BaseSessionInfo;Ljava/lang/String;Ljava/util/ArrayList;Lcom/tencent/mobileqq/activity/ChatActivityFacade$SendMsgParams;)[J
[73]ContactUtils
com.tencent.mobileqq.utils.ContactUtils
= Lcom/tencent/mobileqq/utils/ContactUtils;->a(Lmqq/app/AppRuntime;Ljava/lang/String;Z)Ljava/lang/String;
[74]ContactUtils
com.tencent.mobileqq.utils.ContactUtils
= Lcom/tencent/mobileqq/utils/ContactUtils;->a(Lcom/tencent/common/app/business/BaseQQAppInterface;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
[75]Conversation
com.tencent.mobileqq.activity.home.Conversation
= com.tencent.mobileqq.activity.home.Conversation
[77]FriendChatPie
com.tencent.mobileqq.activity.aio.core.FriendChatPie
= Lcom/tencent/mobileqq/activity/aio/core/FriendChatPie;->bm()V
[78]FriendsStatusUtil
com.tencent.mobileqq.app.utils.FriendsStatusUtil
= com.tencent.mobileqq.app.utils.FriendsStatusUtil
[79]LeftSwipeReplyHelper
com.tencent.mobileqq.bubble.LeftSwipeReplyHelper
= Lcom/tencent/mobileqq/bubble/LeftSwipeReplyHelper;->f()V
[80]PadUtil
com.tencent.common.config.PadUtil
= (void*)0
[81]PhotoListPanel
com.tencent.mobileqq.activity.aio.photo.PhotoListPanel
= Lcom/tencent/mobileqq/activity/aio/photo/PhotoListPanel;->a(Z)V
[82]ProfileCardUtil
com.tencent.mobileqq.util.ProfileCardUtil
= com.tencent.mobileqq.util.ProfileCardUtil
[83]QQSettingMe
com.tencent.mobileqq.activity.QQSettingMe
= com.tencent.mobileqq.activity.QQSettingMe
[84]QQSettingMe
com.tencent.mobileqq.activity.QQSettingMe
= Lcom/tencent/mobileqq/activity/QQSettingMe;->a(Lcom/tencent/mobileqq/activity/qqsettingme/bean/QQSettingMeProfileBubbleBean;)V
[85]
= (void*)0
[86]Scene
com.tencent.mobileqq.troopAddFrd.Scene
= Lcom/tencent/mobileqq/troopAddFrd/Scene;->f()I
[87]TroopAppShortcutBarHelper
com.tencent.mobileqq.activity.aio.helper.TroopAppShortcutBarHelper
= Lcom/tencent/mobileqq/activity/aio/helper/TroopAppShortcutBarHelper;->m()V
[88]TroopChatPie
com.tencent.mobileqq.activity.aio.core.TroopChatPie
= com.tencent.mobileqq.activity.aio.core.TroopChatPie
[89]VasProfileTemplateController
com.tencent.mobileqq.profilecard.vas.VasProfileTemplateController
= Lcom/tencent/mobileqq/profilecard/vas/VasProfileTemplateController;->onCardUpdate(Lcom/tencent/mobileqq/profilecard/base/framework/IComponentCenter;Lcom/tencent/mobileqq/profilecard/data/ProfileCardInfo;)Z
[90]VipUtils
com.tencent.mobileqq.utils.VipUtils
= Lcom/tencent/mobileqq/vip/VipStatusManagerImpl;->getPrivilegeFlags(Ljava/lang/String;)I
[91]VipUtils
com.tencent.mobileqq.utils.VipUtils
= Lcom/tencent/mobileqq/utils/VipUtils;->a(Lcom/tencent/mobileqq/app/QQAppInterface;Ljava/lang/String;Z)I
[92]WebSecurityPluginV2$
com.tencent.mobileqq.webview.WebSecurityPluginV2$
= Lcom/tencent/mobileqq/webview/WebSecurityPluginV2$1;->callback(Landroid/os/Bundle;)V
[93]PaiYiPaiHandler
com.tencent.mobileqq.paiyipai.PaiYiPaiHandler
= com.tencent.mobileqq.paiyipai.PaiYiPaiHandler
[95]PushNotificationManager
com.tencent.mobileqq.managers.PushNotificationManager
= com.tencent.mobileqq.managers.PushNotificationManager
[96]QQValuePagView
com.tencent.mobileqq.vas.qqvaluecard.view.QQValuePagView
= com.tencent.mobileqq.vas.qqvaluecard.view.QQValuePagView
[97]QZoneFeedxTopEntranceManagerView
com.qzone.reborn.feedx.widget.entrance.QZoneFeedxTopEntranceManagerView
= (void*)0
[98]
= (void*)0
[99]AudioTransitionAnimManager;
Lcom.tencent.mobileqq.activity.aio.audiopanel.AudioTransitionAnimManager;
= Lcom/tencent/mobileqq/activity/aio/audiopanel/AudioTransitionAnimManager;->a(Lcom/tencent/mobileqq/dinifly/LottieComposition;ILjava/lang/String;Landroid/content/Context;)V
[100]
= Lio/github/qauxv/util/DexKit$NoSuchClass;->a()V
[101]
= Lcom/tencent/mobileqq/troop/enterEffect/TroopEnterEffectController;->a()V
[102]TroopGuildChatPie
com.tencent.mobileqq.troop.guild.TroopGuildChatPie
= (void*)0
[104]
= (void*)0
[106]p
com.tencent.mobileqq.vas.p
= Lio/github/qauxv/util/DexKit$NoSuchClass;->a()V
[109]AIO_Create_QQNT
AIO_Create_QQNT
= (void*)0
[110]
= (void*)0
[111]
= (void*)0
[113]GrowHalfLayerHelper
cooperation.vip.ad.GrowHalfLayerHelper
= (void*)0
[114]
= (void*)0
[116]
= (void*)0
[117]
= Lio/github/qauxv/util/DexKit$NoSuchClass;->a()V
[118]
= Lio/github/qauxv/util/DexKit$NoSuchClass;->a()V
[120]AIOAvatarContentComponent
com.tencent.mobileqq.aio.msglist.holder.component.avatar.AIOAvatarContentComponent
= (void*)0
[121]AIOPictureView
com.tencent.mobileqq.activity.aio.photo.AIOPictureView
= (void*)0
[122]AIOPictureView
com.tencent.mobileqq.activity.aio.photo.AIOPictureView
= (void*)0
[123]TextItemBuilder
com.tencent.mobileqq.activity.aio.item.TextItemBuilder
= Lcom/tencent/mobileqq/activity/aio/item/TextItemBuilder;->a(Lcom/tencent/mobileqq/activity/aio/BaseBubbleBuilder$ViewHolder;Lcom/tencent/mobileqq/data/ChatMessage;)V
[124]
= (void*)0
[125]TextMsgItem
com.tencent.mobileqq.aio.msg.TextMsgItem
= (void*)0
[40001]ReplyNoAtHook
com/tencent/mobileqq/activity/aio/rebuild/input/InputUIUtils
[40002]ChatWordsCount
nf4
[40003]SortAtPanel.sessionInfoTroopUin
b
[40004]RemovePlayTogether.ClockInEntryHelper
f
[40005]QQMessageFacade
b
[40006]SimplifyQQSettingMe::MidContentName
S
[40007]RemovePlayTogether.TogetherControlHelper
n
### 补充说明(可选) / Additional information (optional)
_No response_
Contributor guide
Research direction
No repository file or test is identified. Reproduce on Android 15 with QQ 8.8.50.6735 and the force-default-font setting, then trace the AIO message entry points named in the log, such as AIOTextElementCtor, BaseChatPie, and ItemBuilderFactory. Done means group-chat message content renders correctly with the setting enabled without regressing the disabled case.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- android, java
- Domain
- mobile-dev
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 20/100