Skip to content

Commit 7a2d31e

Browse files
committed
tencent_cloud_chat_uikit source code update to version 4.0.0.
1 parent 763cf3f commit 7a2d31e

19 files changed

+784
-516
lines changed

CHANGELOG.md

+10
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,13 @@
1+
# 4.0.0
2+
## Breaking changes
3+
* Upgraded the plugin tim_ui_kit_sticker_plugin to 4.0.0, no longer supports QQ emoji and unicode emoji.
4+
* Delete the useQQStickerPackage and unicodeEmojiList parameters in StickerPanelConfig.
5+
* Delete the isUseDefaultEmoji parameter in TIMUIKitChatConfig.
6+
* Delete the isUseDefaultEmoji parameter in each widget.
7+
8+
## Bug Fixes
9+
* Solve the problem that showReplyMessage and showForwardMessage in ToolTipsConfig do not take effect after being set to false.
10+
111
# 3.1.0+2
212
* Replace the flutter_slidable library with flutter_slidable_plus_plus to solve the compatibility issue of flutter 3.27.0 version.
313

lib/ui/views/TIMUIKitChat/TIMUIKItMessageList/tim_uikit_chat_history_message_list_item.dart

+15-16
Original file line numberDiff line numberDiff line change
@@ -271,9 +271,6 @@ class TIMUIKitHistoryMessageListItem extends StatefulWidget {
271271
// open MessageReaction
272272
final bool? isUseMessageReaction;
273273

274-
/// Whether to use the default emoji
275-
final bool isUseDefaultEmoji;
276-
277274
final List<CustomEmojiFaceData> customEmojiStickerList;
278275

279276
final V2TimGroupMemberFullInfo? groupMemberInfo;
@@ -309,7 +306,6 @@ class TIMUIKitHistoryMessageListItem extends StatefulWidget {
309306
this.topRowBuilder,
310307
this.isUseMessageReaction,
311308
this.bottomRowBuilder,
312-
this.isUseDefaultEmoji = false,
313309
this.customEmojiStickerList = const [],
314310
this.textFieldController,
315311
this.onSecondaryTapForOthersPortrait,
@@ -502,7 +498,6 @@ class _TIMUIKItHistoryMessageListItemState
502498
fontStyle: widget.themeData?.messageTextStyle,
503499
backgroundColor: widget.themeData?.messageBackgroundColor,
504500
textPadding: widget.textPadding,
505-
isUseDefaultEmoji: widget.isUseDefaultEmoji,
506501
customEmojiStickerList: widget.customEmojiStickerList,
507502
chatModel: model,
508503
isShowMessageReaction: widget.isUseMessageReaction,
@@ -527,7 +522,6 @@ class _TIMUIKItHistoryMessageListItemState
527522
backgroundColor: widget.themeData?.messageBackgroundColor,
528523
textPadding: widget.textPadding,
529524
isShowMessageReaction: widget.isUseMessageReaction,
530-
isUseDefaultEmoji: widget.isUseDefaultEmoji,
531525
customEmojiStickerList: widget.customEmojiStickerList,
532526
);
533527
case MessageElemType.V2TIM_ELEM_TYPE_FACE:
@@ -888,17 +882,23 @@ class _TIMUIKItHistoryMessageListItemState
888882
}
889883
}
890884

891-
if (widget.message.status != MessageStatus.V2TIM_MSG_STATUS_SEND_FAIL) {
892-
widget.toolTipsConfig?.showReplyMessage = true;
893-
} else {
894-
widget.toolTipsConfig?.showReplyMessage = false;
885+
// 如果配置了显示回复消息,则需要根据消息状态来决定是否可以回复;如果配置了不显示回复消息,则不需要判断消息状态。
886+
if ((widget.toolTipsConfig?.showReplyMessage ?? true)) {
887+
if (widget.message.status != MessageStatus.V2TIM_MSG_STATUS_SEND_FAIL) {
888+
widget.toolTipsConfig?.showReplyMessage = true;
889+
} else {
890+
widget.toolTipsConfig?.showReplyMessage = false;
891+
}
895892
}
896893

897-
if (widget.message.status != MessageStatus.V2TIM_MSG_STATUS_SEND_FAIL &&
898-
!(widget.message.hasRiskContent ?? false)) {
899-
widget.toolTipsConfig?.showForwardMessage = true;
900-
} else {
901-
widget.toolTipsConfig?.showForwardMessage = false;
894+
// 如果配置了显示转发消息,则需要根据消息状态来决定是否可以转发;如果配置了不显示转发消息,则不需要判断消息状态。
895+
if ((widget.toolTipsConfig?.showForwardMessage ?? true)) {
896+
if (widget.message.status != MessageStatus.V2TIM_MSG_STATUS_SEND_FAIL &&
897+
!(widget.message.hasRiskContent ?? false)) {
898+
widget.toolTipsConfig?.showForwardMessage = true;
899+
} else {
900+
widget.toolTipsConfig?.showForwardMessage = false;
901+
}
902902
}
903903

904904
tooltip = SuperTooltip(
@@ -1561,7 +1561,6 @@ class _TIMUIKItHistoryMessageListItemState
15611561
),
15621562
TIMUIKitTextTranslationElem(
15631563
message: message,
1564-
isUseDefaultEmoji: widget.isUseDefaultEmoji,
15651564
customEmojiStickerList:
15661565
widget.customEmojiStickerList,
15671566
isFromSelf: message.isSelf ?? true,

lib/ui/views/TIMUIKitChat/TIMUIKItMessageList/tim_uikit_history_message_list_container.dart

+7-10
Original file line numberDiff line numberDiff line change
@@ -68,9 +68,6 @@ class TIMUIKitHistoryMessageListContainer extends StatefulWidget {
6868
/// tool tips panel configuration, long press message will show tool tips panel
6969
final ToolTipsConfig? toolTipsConfig;
7070

71-
/// Whether to use the default emoji
72-
final bool isUseDefaultEmoji;
73-
7471
final List<CustomEmojiFaceData> customEmojiStickerList;
7572

7673
final bool isAllowScroll;
@@ -105,7 +102,6 @@ class TIMUIKitHistoryMessageListContainer extends StatefulWidget {
105102
this.initFindingMsg,
106103
this.mainHistoryListConfig,
107104
this.toolTipsConfig,
108-
this.isUseDefaultEmoji = false,
109105
this.customEmojiStickerList = const [],
110106
this.textFieldController,
111107
required this.conversation,
@@ -131,10 +127,11 @@ class _TIMUIKitHistoryMessageListContainerState
131127
if ((direction == LoadDirection.previous) ||
132128
(direction == LoadDirection.latest && model.haveMoreLatestData)) {
133129
return await model.loadChatRecord(
134-
direction: direction,
135-
count: count ?? (kIsWeb ? 15 : HistoryMessageDartConstant.getCount),
136-
lastMsgID: lastMsgID,
137-
lastMsgSeq: lastSeq ?? -1,);
130+
direction: direction,
131+
count: count ?? (kIsWeb ? 15 : HistoryMessageDartConstant.getCount),
132+
lastMsgID: lastMsgID,
133+
lastMsgSeq: lastSeq ?? -1,
134+
);
138135
} else {
139136
return false;
140137
}
@@ -182,7 +179,6 @@ class _TIMUIKitHistoryMessageListContainerState
182179
textFieldController: widget.textFieldController,
183180
userAvatarBuilder: widget.userAvatarBuilder,
184181
customEmojiStickerList: widget.customEmojiStickerList,
185-
isUseDefaultEmoji: widget.isUseDefaultEmoji,
186182
topRowBuilder: _getTopRowBuilder(model),
187183
onScrollToIndex: _historyMessageListController.scrollToIndex,
188184
onScrollToIndexBegin:
@@ -206,7 +202,8 @@ class _TIMUIKitHistoryMessageListContainerState
206202
tongueItemBuilder: widget.tongueItemBuilder,
207203
initFindingMsg: widget.initFindingMsg,
208204
messageList: messageList,
209-
onLoadMore: (String? a, LoadDirection direction, [int? b, int? lastSeq]) async {
205+
onLoadMore: (String? a, LoadDirection direction,
206+
[int? b, int? lastSeq]) async {
210207
return await requestForData(a, direction, model, b, lastSeq);
211208
},
212209
);

lib/ui/views/TIMUIKitChat/TIMUIKitMessageItem/tim_uikit_chat_image_elem.dart

+2-2
Original file line numberDiff line numberDiff line change
@@ -180,7 +180,7 @@ class _TIMUIKitImageElem extends TIMUIKitState<TIMUIKitImageElem> {
180180
}
181181
File f = File(savePath);
182182
if (f.existsSync()) {
183-
var result = await ImageGallerySaver.saveFile(savePath);
183+
var result = await ImageGallerySaverPlus.saveFile(savePath);
184184

185185
if (PlatformUtils().isIOS) {
186186
if (result['isSuccess']) {
@@ -218,7 +218,7 @@ class _TIMUIKitImageElem extends TIMUIKitState<TIMUIKitImageElem> {
218218
return;
219219
}
220220

221-
var result = await ImageGallerySaver.saveFile(imageUrl);
221+
var result = await ImageGallerySaverPlus.saveFile(imageUrl);
222222

223223
if (PlatformUtils().isIOS) {
224224
if (result['isSuccess']) {

lib/ui/views/TIMUIKitChat/TIMUIKitMessageItem/tim_uikit_chat_reply_elem.dart

+4-17
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,6 @@ class TIMUIKitReplyElem extends StatefulWidget {
3737
final EdgeInsetsGeometry? textPadding;
3838
final TUIChatSeparateViewModel chatModel;
3939
final bool? isShowMessageReaction;
40-
final bool isUseDefaultEmoji;
4140
final List<CustomEmojiFaceData> customEmojiStickerList;
4241

4342
const TIMUIKitReplyElem({
@@ -51,7 +50,6 @@ class TIMUIKitReplyElem extends StatefulWidget {
5150
this.isShowMessageReaction,
5251
this.backgroundColor,
5352
this.textPadding,
54-
this.isUseDefaultEmoji = false,
5553
this.customEmojiStickerList = const [],
5654
required this.chatModel,
5755
}) : super(key: key);
@@ -94,7 +92,7 @@ class _TIMUIKitReplyElemState extends TIMUIKitState<TIMUIKitReplyElem> {
9492
}
9593

9694
final messageID = cloudCustomData.messageID;
97-
if(PlatformUtils().isWeb){
95+
if (PlatformUtils().isWeb) {
9896
return;
9997
}
10098
V2TimMessage? message = await widget.chatModel.findMessage(messageID);
@@ -289,12 +287,12 @@ class _TIMUIKitReplyElemState extends TIMUIKitState<TIMUIKitReplyElem> {
289287
}
290288

291289
void _jumpToRawMsg() {
292-
if (rawMessage?.status != MessageStatus.V2TIM_MSG_STATUS_LOCAL_REVOKED && rawMessage?.timestamp != null) {
290+
if (rawMessage?.status != MessageStatus.V2TIM_MSG_STATUS_LOCAL_REVOKED &&
291+
rawMessage?.timestamp != null) {
293292
widget.scrollToIndex(rawMessage);
294293
} else {
295294
onTIMCallback(TIMCallback(
296-
type: TIMCallbackType.INFO,
297-
infoRecommendText: TIM_t("无法定位到原消息")));
295+
type: TIMCallbackType.INFO, infoRecommendText: TIM_t("无法定位到原消息")));
298296
}
299297
}
300298

@@ -370,10 +368,6 @@ class _TIMUIKitReplyElemState extends TIMUIKitState<TIMUIKitReplyElem> {
370368
widget.message.textElem?.text ?? "",
371369
widget.chatModel.chatConfig.isSupportMarkdownForTextMessage,
372370
onLinkTap: widget.chatModel.chatConfig.onTapLink,
373-
isUseQQPackage: (widget.chatModel.chatConfig.stickerPanelConfig
374-
?.useTencentCloudChatStickerPackage ??
375-
true) ||
376-
widget.isUseDefaultEmoji,
377371
isUseTencentCloudChatPackage: widget.chatModel.chatConfig
378372
.stickerPanelConfig?.useTencentCloudChatStickerPackage ??
379373
true,
@@ -440,13 +434,6 @@ class _TIMUIKitReplyElemState extends TIMUIKitState<TIMUIKitReplyElem> {
440434
fontSize: isDesktopScreen ? 14 : 16,
441435
height: widget.chatModel.chatConfig.textHeight),
442436
specialTextSpanBuilder: DefaultSpecialTextSpanBuilder(
443-
isUseQQPackage: (widget
444-
.chatModel
445-
.chatConfig
446-
.stickerPanelConfig
447-
?.useTencentCloudChatStickerPackage ??
448-
true) ||
449-
widget.isUseDefaultEmoji,
450437
isUseTencentCloudChatPackage: widget
451438
.chatModel
452439
.chatConfig

lib/ui/views/TIMUIKitChat/TIMUIKitMessageItem/tim_uikit_chat_text_elem.dart

-13
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,6 @@ class TIMUIKitTextElem extends StatefulWidget {
2424
final EdgeInsetsGeometry? textPadding;
2525
final TUIChatSeparateViewModel chatModel;
2626
final bool? isShowMessageReaction;
27-
final bool isUseDefaultEmoji;
2827
final List<CustomEmojiFaceData> customEmojiStickerList;
2928

3029
const TIMUIKitTextElem(
@@ -39,7 +38,6 @@ class TIMUIKitTextElem extends StatefulWidget {
3938
this.backgroundColor,
4039
this.textPadding,
4140
required this.chatModel,
42-
this.isUseDefaultEmoji = false,
4341
this.customEmojiStickerList = const []})
4442
: super(key: key);
4543

@@ -167,10 +165,6 @@ class _TIMUIKitTextElemState extends TIMUIKitState<TIMUIKitTextElem> {
167165
widget.message.textElem?.text ?? "",
168166
widget.chatModel.chatConfig.isSupportMarkdownForTextMessage,
169167
onLinkTap: widget.chatModel.chatConfig.onTapLink,
170-
isUseQQPackage: (widget.chatModel.chatConfig.stickerPanelConfig
171-
?.useTencentCloudChatStickerPackage ??
172-
true) ||
173-
widget.isUseDefaultEmoji,
174168
isUseTencentCloudChatPackage: widget.chatModel.chatConfig
175169
.stickerPanelConfig?.useTencentCloudChatStickerPackage ??
176170
true,
@@ -238,13 +232,6 @@ class _TIMUIKitTextElemState extends TIMUIKitState<TIMUIKitTextElem> {
238232
fontSize: isDesktopScreen ? 14 : 16,
239233
height: widget.chatModel.chatConfig.textHeight),
240234
specialTextSpanBuilder: DefaultSpecialTextSpanBuilder(
241-
isUseQQPackage: (widget
242-
.chatModel
243-
.chatConfig
244-
.stickerPanelConfig
245-
?.useTencentCloudChatStickerPackage ??
246-
true) ||
247-
widget.isUseDefaultEmoji,
248235
isUseTencentCloudChatPackage: widget
249236
.chatModel
250237
.chatConfig

lib/ui/views/TIMUIKitChat/TIMUIKitMessageItem/tim_uikit_chat_text_translate_elem.dart

-13
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,6 @@ class TIMUIKitTextTranslationElem extends StatefulWidget {
2222
final EdgeInsetsGeometry? textPadding;
2323
final TUIChatSeparateViewModel chatModel;
2424
final bool? isShowMessageReaction;
25-
final bool isUseDefaultEmoji;
2625
final List<CustomEmojiFaceData> customEmojiStickerList;
2726

2827
const TIMUIKitTextTranslationElem(
@@ -37,7 +36,6 @@ class TIMUIKitTextTranslationElem extends StatefulWidget {
3736
this.backgroundColor,
3837
this.textPadding,
3938
required this.chatModel,
40-
this.isUseDefaultEmoji = false,
4139
this.customEmojiStickerList = const []})
4240
: super(key: key);
4341

@@ -124,10 +122,6 @@ class _TIMUIKitTextTranslationElemState
124122
final textWithLink = LinkPreviewEntry.getHyperlinksText(translateText ?? "",
125123
widget.chatModel.chatConfig.isSupportMarkdownForTextMessage,
126124
onLinkTap: widget.chatModel.chatConfig.onTapLink,
127-
isUseQQPackage: (widget.chatModel.chatConfig.stickerPanelConfig
128-
?.useTencentCloudChatStickerPackage ??
129-
true) ||
130-
widget.isUseDefaultEmoji,
131125
isUseTencentCloudChatPackage: widget.chatModel.chatConfig
132126
.stickerPanelConfig?.useTencentCloudChatStickerPackage ??
133127
true,
@@ -166,13 +160,6 @@ class _TIMUIKitTextTranslationElemState
166160
fontSize: isDesktopScreen ? 14 : 16,
167161
height: widget.chatModel.chatConfig.textHeight),
168162
specialTextSpanBuilder: DefaultSpecialTextSpanBuilder(
169-
isUseQQPackage: (widget
170-
.chatModel
171-
.chatConfig
172-
.stickerPanelConfig
173-
?.useTencentCloudChatStickerPackage ??
174-
true) ||
175-
widget.isUseDefaultEmoji,
176163
isUseTencentCloudChatPackage: widget
177164
.chatModel
178165
.chatConfig

lib/ui/views/TIMUIKitChat/TIMUIKitTextField/special_text/DefaultSpecialTextSpanBuilder.dart

-4
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,6 @@ import 'emoji_text.dart';
99

1010
class DefaultSpecialTextSpanBuilder extends SpecialTextSpanBuilder {
1111
DefaultSpecialTextSpanBuilder({
12-
this.isUseQQPackage = false,
1312
this.isUseTencentCloudChatPackage = false,
1413
this.customEmojiStickerList = const [],
1514
this.showAtBackground = false,
@@ -19,8 +18,6 @@ class DefaultSpecialTextSpanBuilder extends SpecialTextSpanBuilder {
1918
/// whether show background for @somebody
2019
final bool showAtBackground;
2120

22-
final bool isUseQQPackage;
23-
2421
final bool isUseTencentCloudChatPackage;
2522

2623
final bool checkHttpLink;
@@ -41,7 +38,6 @@ class DefaultSpecialTextSpanBuilder extends SpecialTextSpanBuilder {
4138
return EmojiText(textStyle,
4239
isUseTencentCloudChatPackage: isUseTencentCloudChatPackage,
4340
start: index! - (EmojiText.flag.length - 1),
44-
isUseQQPackage: isUseQQPackage,
4541
customEmojiStickerList: customEmojiStickerList);
4642
} else if (isStart(flag, HttpText.flag) && checkHttpLink) {
4743
return HttpText(textStyle, onTap,

0 commit comments

Comments
 (0)