Skip to content

Commit b4b1e7a

Browse files
committed
fix: 回复消息显示不支持类型
Signed-off-by: java30433 <[email protected]>
1 parent 3a4313d commit b4b1e7a

3 files changed

Lines changed: 58 additions & 0 deletions

File tree

app/src/main/java/momoi/mod/qqpro/MsgUtil.kt

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,11 @@ import com.tencent.qqnt.kernel.nativeinterface.TextElement
77
import com.tencent.qqnt.msg.api.impl.MsgServiceImpl
88
import com.tencent.qqnt.msg.api.impl.MsgUtilApiImpl
99
import com.tencent.watch.aio_impl.ext.MsgListUtilKt
10+
import momoi.mod.qqpro.enum.ElementType
11+
import momoi.mod.qqpro.enum.NTMsgType
1012
import momoi.mod.qqpro.hook.view.MyDialogFragment
13+
import momoi.mod.qqpro.util.Json
14+
import momoi.mod.qqpro.util.Utils
1115
import java.util.UUID
1216
import kotlin.random.Random
1317

@@ -16,40 +20,57 @@ object MsgUtil {
1620
val msgUtilApi = MsgUtilApiImpl()
1721

1822
fun summary(elements: List<MsgElement>): CharSequence {
23+
if (elements[0].elementType == ElementType.GREY_TIP) {
24+
//subElementType == 1
25+
return "[原消息已被撤回]"
26+
}
1927
elements.forEach { ele ->
2028
ele.picElement?.let {
2129
ele.picElement = null
30+
ele.elementType = ElementType.TEXT
2231
ele.textElement = TextElement().apply {
2332
content = "[图片]"
2433
}
2534
}
2635
ele.multiForwardMsgElement?.let {
2736
ele.multiForwardMsgElement = null
37+
ele.elementType = ElementType.TEXT
2838
ele.textElement = TextElement().apply {
2939
content = "[聊天记录]"
3040
}
3141
}
3242
ele.videoElement?.let {
3343
ele.videoElement = null
44+
ele.elementType = ElementType.TEXT
3445
ele.textElement = TextElement().apply {
3546
content = "[视频]"
3647
}
3748
}
3849
ele.fileElement?.let {
3950
ele.fileElement = null
51+
ele.elementType = ElementType.TEXT
4052
ele.textElement = TextElement().apply {
4153
content = "[文件]"
4254
}
4355
}
4456
ele.pttElement?.let {
4557
ele.pttElement = null
58+
ele.elementType = ElementType.TEXT
4659
ele.textElement = TextElement().apply {
4760
content = "[语音]"
4861
}
4962
}
63+
ele.arkElement?.let {
64+
ele.arkElement = null
65+
ele.elementType = ElementType.TEXT
66+
ele.textElement = TextElement().apply {
67+
content = Json(it.bytesData).str("prompt") ?: "[卡片信息]"
68+
}
69+
}
5070
}
5171
return MsgListUtilKt.a(elements)
5272
}
73+
5374
fun summary(record: MsgRecord) = summary(record.elements)
5475
}
5576

Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
package momoi.mod.qqpro.enum
2+
3+
object ElementType {
4+
const val UNKNOWN = 0
5+
const val TEXT = 1
6+
const val PIC = 2
7+
const val FILE = 3
8+
const val PTT = 4
9+
const val VIDEO = 5
10+
const val FACE = 6
11+
const val REPLY = 7
12+
const val GREY_TIP = 8 // “小灰条”,包括拍一拍 (Poke)、撤回提示等
13+
const val WALLET = 9
14+
const val ARK = 10
15+
const val MFACE = 11
16+
const val LIVE_GIFT = 12
17+
const val STRUCT_LONG_MSG = 13
18+
const val MARKDOWN = 14
19+
const val GIPHY = 15
20+
const val MULTI_FORWARD = 16
21+
const val INLINE_KEYBOARD = 17
22+
const val IN_TEXT_GIFT = 18
23+
const val CALENDAR = 19
24+
const val YOLO_GAME_RESULT = 20
25+
const val AV_RECORD = 21
26+
const val FEED = 22
27+
const val TOFU_RECORD = 23
28+
const val ACE_BUBBLE = 24
29+
const val ACTIVITY = 25
30+
const val TOFU = 26
31+
const val FACE_BUBBLE = 27
32+
const val SHARE_LOCATION = 28
33+
const val TASK_TOP_MSG = 29
34+
const val RECOMMENDED_MSG = 43
35+
const val ACTION_BAR = 44
36+
}

app/src/main/java/momoi/mod/qqpro/hook/版权信息.kt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@ class 版权信息 : SelfFragment() {
2424
appendLine()
2525
appendLine("更新日志:")
2626
appendLine("现在可以展示卡片信息和跳转链接")
27+
appendLine("修复了回复消息内容显示问题")
2728
appendLine("移除了跳转未读消息的滚动动画")
2829
appendLine("修复圆屏长按菜单错位问题")
2930
appendLine()

0 commit comments

Comments
 (0)