feat: Upgrade UIKit to 2.4.

This commit is contained in:
anonymous 2023-11-28 10:55:59 +08:00
parent 32e43471f4
commit f22c812070
6 changed files with 160 additions and 160 deletions

View File

@ -1,3 +1,10 @@
# 2.4.0
## Breaking Changes
* Migrated to Flutter 3.16.0.
* Upgraded the minimum supported Android Gradle Plugin to 7.3 to meet Flutter requirements.
# 2.3.3 # 2.3.3
## New Features ## New Features

View File

@ -181,10 +181,10 @@ packages:
dependency: transitive dependency: transitive
description: description:
name: collection name: collection
sha256: f092b211a4319e98e5ff58223576de6c2803db36221657b46c82574721240687 sha256: ee67cb0715911d28db6bf4af1026078bd6f0128b07a5f66fb2ed94ec6783c09a
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "1.17.2" version: "1.18.0"
convert: convert:
dependency: transitive dependency: transitive
description: description:
@ -301,26 +301,26 @@ packages:
dependency: transitive dependency: transitive
description: description:
name: extended_text name: extended_text
sha256: "02260234da409916f56add1dd470bc17f4b3359e94c93bf4b8e44c7439dcd536" sha256: "7096a1e9a029534257d70f7dafb2798f932d589079e67ef3f58fdf0805f2f627"
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "11.1.0" version: "12.0.0"
extended_text_field: extended_text_field:
dependency: transitive dependency: transitive
description: description:
name: extended_text_field name: extended_text_field
sha256: "893f61eff66157cbf14764f08092730fc3ff8987e7f1e92f618b007226be9bda" sha256: ed9655c70a47a54c7cc689cf7f89a2bde9ab7b530150b4d1808b7aa7eb8cdf90
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "12.1.0" version: "13.0.0"
extended_text_library: extended_text_library:
dependency: transitive dependency: transitive
description: description:
name: extended_text_library name: extended_text_library
sha256: f6ae456324ff6ba3f9fe560a5c12f51ec02c5f463ef5a02bf165b678f049d547 sha256: "55d09098ec56fab0d9a8a68950ca0bbf2efa1327937f7cec6af6dfa066234829"
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "11.1.0" version: "12.0.0"
fake_async: fake_async:
dependency: transitive dependency: transitive
description: description:
@ -756,10 +756,10 @@ packages:
dependency: transitive dependency: transitive
description: description:
name: meta name: meta
sha256: "3c74dbf8763d36539f114c799d8a2d87343b5067e9d796ca22b5eb8437090ee3" sha256: a6e590c838b18133bb482a2745ad77c5bb7715fb0451209e1a7567d416678b8e
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "1.9.1" version: "1.10.0"
mime: mime:
dependency: transitive dependency: transitive
description: description:
@ -956,10 +956,18 @@ packages:
dependency: transitive dependency: transitive
description: description:
name: photo_manager name: photo_manager
sha256: b2d81bd197323697d1b335e2e04cea2f67e11624ced77cfd02917a10afaeba73 sha256: "8aca19e47804e99abec5dff8ea59c684181fb2b6ebbcdd3557a2b4fb8d5deae6"
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "2.7.1" version: "3.0.0-dev.2"
photo_manager_image_provider:
dependency: transitive
description:
name: photo_manager_image_provider
sha256: c187f60c3fdbe5630735d9a0bccbb071397ec03dcb1ba6085c29c8adece798a0
url: "https://pub.dev"
source: hosted
version: "2.1.0"
platform: platform:
dependency: transitive dependency: transitive
description: description:
@ -1040,6 +1048,22 @@ packages:
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "0.4.2" version: "0.4.2"
sensors_plus:
dependency: transitive
description:
name: sensors_plus
sha256: a1e461f28a8e8d3f81feb07d5c4e87e948379ea91f0b5131266bb79f72b38acb
url: "https://pub.dev"
source: hosted
version: "3.1.0"
sensors_plus_platform_interface:
dependency: transitive
description:
name: sensors_plus_platform_interface
sha256: "95f0cc08791b8bf0c41c5fa99c84be2a7d5bf60a811ddc17e1438b1e68caf0d3"
url: "https://pub.dev"
source: hosted
version: "1.1.3"
shared_preferences: shared_preferences:
dependency: transitive dependency: transitive
description: description:
@ -1137,18 +1161,18 @@ packages:
dependency: transitive dependency: transitive
description: description:
name: stack_trace name: stack_trace
sha256: c3c7d8edb15bee7f0f74debd4b9c5f3c2ea86766fe4178eb2a18eb30a0bdaed5 sha256: "73713990125a6d93122541237550ee3352a2d84baad52d375a4cad2eb9b7ce0b"
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "1.11.0" version: "1.11.1"
stream_channel: stream_channel:
dependency: transitive dependency: transitive
description: description:
name: stream_channel name: stream_channel
sha256: "83615bee9045c1d322bbbd1ba209b7a749c2cbcdcb3fdd1df8eb488b3279c1c8" sha256: ba2aa5d8cc609d96bbb2899c28934f9e1af5cddbd60a827822ea467161eb54e7
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "2.1.1" version: "2.1.2"
stream_transform: stream_transform:
dependency: transitive dependency: transitive
description: description:
@ -1193,57 +1217,57 @@ packages:
dependency: transitive dependency: transitive
description: description:
name: tencent_cloud_chat_sdk name: tencent_cloud_chat_sdk
sha256: "013f8c9d96bbeed06d5fe971b7802d8ddf830c776332d6c6de6ccb9de8956d83" sha256: "7dbb354209eca61f2c816c8ba7c1b1282dd5fb7e090135186bde56c89d976110"
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "5.1.8" version: "6.0.2"
tencent_cloud_chat_uikit: tencent_cloud_chat_uikit:
dependency: "direct main" dependency: "direct main"
description: description:
path: ".." path: ".."
relative: true relative: true
source: path source: path
version: "2.3.3-preview.0" version: "2.3.3+1"
tencent_cloud_uikit_core: tencent_cloud_uikit_core:
dependency: transitive dependency: transitive
description: description:
name: tencent_cloud_uikit_core name: tencent_cloud_uikit_core
sha256: acb3bae877428457318b8c5604a6c263957b6df3454ed3e30e8b6f620c6b2cd9 sha256: "60779d81e5e2591f2f637fb52388baaf004a8966005d1cbb9aab89efbd1945b9"
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "1.1.0" version: "1.3.0"
tencent_im_base: tencent_im_base:
dependency: transitive dependency: transitive
description: description:
name: tencent_im_base name: tencent_im_base
sha256: bc5eb080090038d21c879480c06d3ed7cb4b1dcc2cbe894189613eadf08cf7c5 sha256: "52a99ef1c9dbd219530cf6f96a9891ab316f789b9b2c11634e0002d0a0f0f63c"
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "3.0.1" version: "3.1.0"
tencent_im_sdk_plugin_desktop: tencent_im_sdk_plugin_desktop:
dependency: "direct main" dependency: "direct main"
description: description:
name: tencent_im_sdk_plugin_desktop name: tencent_im_sdk_plugin_desktop
sha256: "8d986f2f6aedeac8d771286e31b7bbb9bbee12192461fc879c857be903a41a7f" sha256: b49ea6ae78efaea10d8e0b82a043fe2e24764b08b2cdb13ca7df5d15176904f2
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "0.1.19" version: "0.1.29"
tencent_im_sdk_plugin_platform_interface: tencent_im_sdk_plugin_platform_interface:
dependency: transitive dependency: transitive
description: description:
name: tencent_im_sdk_plugin_platform_interface name: tencent_im_sdk_plugin_platform_interface
sha256: "1f9814d654dc1ad0a4cb62936f0849defac058c3bdca471472efc8b64b63cc5e" sha256: e3d417e2901ba461f9f7624643eddeac02aee87c3e6511c47d8955fcd2c002c4
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "0.3.22" version: "1.0.3"
tencent_im_sdk_plugin_web: tencent_im_sdk_plugin_web:
dependency: "direct main" dependency: "direct main"
description: description:
name: tencent_im_sdk_plugin_web name: tencent_im_sdk_plugin_web
sha256: "291082df8b447191dc2dcafca3e1dbcb5385e02a3936e1f108b9434356481832" sha256: bc2810bd89d99509e1b72653cb7386c3efafe8fc666d6eda4b2debdb2f14d94c
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "0.3.11" version: "0.3.22"
tencent_keyboard_visibility: tencent_keyboard_visibility:
dependency: transitive dependency: transitive
description: description:
@ -1272,18 +1296,18 @@ packages:
dependency: transitive dependency: transitive
description: description:
name: test_api name: test_api
sha256: "75760ffd7786fffdfb9597c35c5b27eaeec82be8edfb6d71d32651128ed7aab8" sha256: "5c2f730018264d276c20e4f1503fd1308dfbbae39ec8ee63c5236311ac06954b"
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "0.6.0" version: "0.6.1"
tim_ui_kit_sticker_plugin: tim_ui_kit_sticker_plugin:
dependency: transitive dependency: transitive
description: description:
name: tim_ui_kit_sticker_plugin name: tim_ui_kit_sticker_plugin
sha256: db8143aea26eda5feec5ec2efc5a31b2c56928cd807537778829698f3c4efec5 sha256: "1c4164afbe0bd6479faeee70fad328e82666f8b75c8d54382e97fed250452611"
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "3.0.1+1" version: "3.1.0"
transparent_image: transparent_image:
dependency: transitive dependency: transitive
description: description:
@ -1496,26 +1520,26 @@ packages:
dependency: transitive dependency: transitive
description: description:
name: web name: web
sha256: dc8ccd225a2005c1be616fe02951e2e342092edf968cf0844220383757ef8f10 sha256: afe077240a270dcfd2aafe77602b4113645af95d0ad31128cc02bce5ac5d5152
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "0.1.4-beta" version: "0.3.0"
wechat_assets_picker: wechat_assets_picker:
dependency: transitive dependency: transitive
description: description:
name: wechat_assets_picker name: wechat_assets_picker
sha256: "5aeac81c6a28e1142a2c9ba9ee802b909c2dad9186d9a58dbe4eb74493af4743" sha256: "9934724a45fdb2b12e332d8190c58713e6675c37c630d53608e0f50167215c9f"
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "8.5.0" version: "8.9.0-dev.1"
wechat_camera_picker: wechat_camera_picker:
dependency: transitive dependency: transitive
description: description:
name: wechat_camera_picker name: wechat_camera_picker
sha256: "6c2e941275b43f68085e4d1adef036e6b9e7b2e81c29038bb2f933916810e423" sha256: "5d80afaec8b2cbcfd98d9feeee1737689e04c4151a7bd67a6efac83064beca86"
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "4.0.0" version: "4.2.0-dev.2"
win32: win32:
dependency: transitive dependency: transitive
description: description:
@ -1557,5 +1581,5 @@ packages:
source: hosted source: hosted
version: "3.1.2" version: "3.1.2"
sdks: sdks:
dart: ">=3.1.0-185.0.dev <3.3.0" dart: ">=3.2.0 <3.3.0"
flutter: ">=3.13.0" flutter: ">=3.16.0"

View File

@ -81,8 +81,8 @@ class TUIChatModelTools {
} }
return OfflinePushInfo.fromJson({ return OfflinePushInfo.fromJson({
"title": title, "title": "title",
"desc": desc, "desc": "desc",
"disablePush": false, "disablePush": false,
"ext": ext, "ext": ext,
"iOSSound": globalModel.chatConfig.notificationIOSSound, "iOSSound": globalModel.chatConfig.notificationIOSSound,

View File

@ -1,6 +1,7 @@
import 'dart:async'; import 'dart:async';
import 'dart:math'; import 'dart:math';
import 'package:extended_text_field/extended_text_field.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:flutter_svg/svg.dart'; import 'package:flutter_svg/svg.dart';
import 'package:tencent_cloud_chat_uikit/base_widgets/tim_ui_kit_base.dart'; import 'package:tencent_cloud_chat_uikit/base_widgets/tim_ui_kit_base.dart';
@ -16,7 +17,6 @@ import 'package:tencent_cloud_chat_uikit/ui/utils/permission.dart';
import 'package:tencent_cloud_chat_uikit/ui/utils/platform.dart'; import 'package:tencent_cloud_chat_uikit/ui/utils/platform.dart';
import 'package:tencent_cloud_chat_uikit/ui/views/TIMUIKitChat/TIMUIKitTextField/special_text/DefaultSpecialTextSpanBuilder.dart'; import 'package:tencent_cloud_chat_uikit/ui/views/TIMUIKitChat/TIMUIKitTextField/special_text/DefaultSpecialTextSpanBuilder.dart';
import 'package:tencent_cloud_chat_uikit/ui/views/TIMUIKitChat/TIMUIKitTextField/tim_uikit_send_sound_message.dart'; import 'package:tencent_cloud_chat_uikit/ui/views/TIMUIKitChat/TIMUIKitTextField/tim_uikit_send_sound_message.dart';
import 'package:extended_text_field/extended_text_field.dart';
import 'package:tencent_keyboard_visibility/tencent_keyboard_visibility.dart'; import 'package:tencent_keyboard_visibility/tencent_keyboard_visibility.dart';
GlobalKey<_TIMUIKitTextFieldLayoutNarrowState> narrowTextFieldKey = GlobalKey(); GlobalKey<_TIMUIKitTextFieldLayoutNarrowState> narrowTextFieldKey = GlobalKey();
@ -131,12 +131,10 @@ class TIMUIKitTextFieldLayoutNarrow extends StatefulWidget {
: super(key: key); : super(key: key);
@override @override
State<TIMUIKitTextFieldLayoutNarrow> createState() => State<TIMUIKitTextFieldLayoutNarrow> createState() => _TIMUIKitTextFieldLayoutNarrowState();
_TIMUIKitTextFieldLayoutNarrowState();
} }
class _TIMUIKitTextFieldLayoutNarrowState class _TIMUIKitTextFieldLayoutNarrowState extends TIMUIKitState<TIMUIKitTextFieldLayoutNarrow> {
extends TIMUIKitState<TIMUIKitTextFieldLayoutNarrow> {
final TUISettingModel settingModel = serviceLocator<TUISettingModel>(); final TUISettingModel settingModel = serviceLocator<TUISettingModel>();
bool showMore = false; bool showMore = false;
@ -151,12 +149,14 @@ class _TIMUIKitTextFieldLayoutNarrowState
void initState() { void initState() {
super.initState(); super.initState();
if (widget.controller != null) { if (widget.controller != null) {
widget.controller?.addListener(() { widget.controller?.addListener(
final actionType = widget.controller?.actionType; () {
if (actionType == ActionType.hideAllPanel) { final actionType = widget.controller?.actionType;
hideAllPanel(); if (actionType == ActionType.hideAllPanel) {
} hideAllPanel();
}); }
},
);
} }
} }
@ -208,19 +208,14 @@ class _TIMUIKitTextFieldLayoutNarrowState
}, },
addCustomEmojiText: ((String singleEmojiName) { addCustomEmojiText: ((String singleEmojiName) {
String? emojiName = singleEmojiName.split('.png')[0]; String? emojiName = singleEmojiName.split('.png')[0];
if (widget.isUseDefaultEmoji && if (widget.isUseDefaultEmoji && widget.languageType == 'zh' && TUIKitStickerConstData.emojiMapList[emojiName] != null && TUIKitStickerConstData.emojiMapList[emojiName] != '') {
widget.languageType == 'zh' &&
TUIKitStickerConstData.emojiMapList[emojiName] != null &&
TUIKitStickerConstData.emojiMapList[emojiName] != '') {
emojiName = TUIKitStickerConstData.emojiMapList[emojiName]; emojiName = TUIKitStickerConstData.emojiMapList[emojiName];
} }
final newText = '[$emojiName]'; final newText = '[$emojiName]';
widget.addStickerToText(newText); widget.addStickerToText(newText);
setSendButton(); setSendButton();
}), }),
defaultCustomEmojiStickerList: widget.isUseDefaultEmoji defaultCustomEmojiStickerList: widget.isUseDefaultEmoji ? TUIKitStickerConstData.emojiList : [])
? TUIKitStickerConstData.emojiList
: [])
: StickerPanel( : StickerPanel(
isWideScreen: false, isWideScreen: false,
sendTextMsg: () { sendTextMsg: () {
@ -240,10 +235,7 @@ class _TIMUIKitTextFieldLayoutNarrowState
}, },
addCustomEmojiText: ((String singleEmojiName) { addCustomEmojiText: ((String singleEmojiName) {
String? emojiName = singleEmojiName.split('.png')[0]; String? emojiName = singleEmojiName.split('.png')[0];
if (widget.isUseDefaultEmoji && if (widget.isUseDefaultEmoji && widget.languageType == 'zh' && TUIKitStickerConstData.emojiMapList[emojiName] != null && TUIKitStickerConstData.emojiMapList[emojiName] != '') {
widget.languageType == 'zh' &&
TUIKitStickerConstData.emojiMapList[emojiName] != null &&
TUIKitStickerConstData.emojiMapList[emojiName] != '') {
emojiName = TUIKitStickerConstData.emojiMapList[emojiName]; emojiName = TUIKitStickerConstData.emojiMapList[emojiName];
} }
final newText = '[$emojiName]'; final newText = '[$emojiName]';
@ -255,10 +247,7 @@ class _TIMUIKitTextFieldLayoutNarrowState
} }
if (showMore) { if (showMore) {
return MorePanel( return MorePanel(morePanelConfig: widget.morePanelConfig, conversationID: widget.conversationID, conversationType: widget.conversationType);
morePanelConfig: widget.morePanelConfig,
conversationID: widget.conversationID,
conversationType: widget.conversationType);
} }
return const SizedBox(height: 0); return const SizedBox(height: 0);
@ -280,8 +269,7 @@ class _TIMUIKitTextFieldLayoutNarrowState
return height; return height;
} else if (showMore || showEmojiPanel) { } else if (showMore || showEmojiPanel) {
return 248.0 + (bottomPadding ?? 0.0); return 248.0 + (bottomPadding ?? 0.0);
} else if (widget.textEditingController.text.length >= 46 && } else if (widget.textEditingController.text.length >= 46 && showKeyboard == false) {
showKeyboard == false) {
return 25 + (bottomPadding ?? 0.0); return 25 + (bottomPadding ?? 0.0);
} else { } else {
return bottomPadding ?? 0; return bottomPadding ?? 0;
@ -334,20 +322,14 @@ class _TIMUIKitTextFieldLayoutNarrowState
} }
String getAbstractMessage(V2TimMessage message) { String getAbstractMessage(V2TimMessage message) {
final String? customAbstractMessage = final String? customAbstractMessage = widget.model.abstractMessageBuilder != null ? widget.model.abstractMessageBuilder!(widget.model.repliedMessage!) : null;
widget.model.abstractMessageBuilder != null return customAbstractMessage ?? MessageUtils.getAbstractMessageAsync(widget.model.repliedMessage!, widget.model.groupMemberList ?? []);
? widget.model.abstractMessageBuilder!(widget.model.repliedMessage!)
: null;
return customAbstractMessage ??
MessageUtils.getAbstractMessageAsync(
widget.model.repliedMessage!, widget.model.groupMemberList ?? []);
} }
_buildRepliedMessage(V2TimMessage? repliedMessage) { _buildRepliedMessage(V2TimMessage? repliedMessage) {
final haveRepliedMessage = repliedMessage != null; final haveRepliedMessage = repliedMessage != null;
if (haveRepliedMessage) { if (haveRepliedMessage) {
final text = final text = "${MessageUtils.getDisplayName(widget.model.repliedMessage!)}:${getAbstractMessage(repliedMessage)}";
"${MessageUtils.getDisplayName(widget.model.repliedMessage!)}:${getAbstractMessage(repliedMessage)}";
return Container( return Container(
color: widget.backgroundColor ?? hexToColor("f5f5f6"), color: widget.backgroundColor ?? hexToColor("f5f5f6"),
alignment: Alignment.centerLeft, alignment: Alignment.centerLeft,
@ -426,8 +408,7 @@ class _TIMUIKitTextFieldLayoutNarrowState
child: Column( child: Column(
children: [ children: [
Container( Container(
padding: padding: const EdgeInsets.symmetric(vertical: 8, horizontal: 16),
const EdgeInsets.symmetric(vertical: 8, horizontal: 16),
constraints: const BoxConstraints(minHeight: 50), constraints: const BoxConstraints(minHeight: 50),
child: Row( child: Row(
children: [ children: [
@ -447,9 +428,7 @@ class _TIMUIKitTextFieldLayoutNarrowState
), ),
), ),
)), )),
if (PlatformUtils().isMobile && if (PlatformUtils().isMobile && widget.showSendAudio && widget.forbiddenText == null)
widget.showSendAudio &&
widget.forbiddenText == null)
InkWell( InkWell(
onTap: () async { onTap: () async {
showKeyboard = showSendSoundText; showKeyboard = showSendSoundText;
@ -469,9 +448,7 @@ class _TIMUIKitTextFieldLayoutNarrowState
} }
}, },
child: SvgPicture.asset( child: SvgPicture.asset(
showSendSoundText showSendSoundText ? 'images/keyboard.svg' : 'images/voice.svg',
? 'images/keyboard.svg'
: 'images/voice.svg',
package: 'tencent_cloud_chat_uikit', package: 'tencent_cloud_chat_uikit',
color: const Color.fromRGBO(68, 68, 68, 1), color: const Color.fromRGBO(68, 68, 68, 1),
height: 28, height: 28,
@ -485,10 +462,7 @@ class _TIMUIKitTextFieldLayoutNarrowState
if (widget.forbiddenText == null) if (widget.forbiddenText == null)
Expanded( Expanded(
child: showSendSoundText child: showSendSoundText
? SendSoundMessage( ? SendSoundMessage(onDownBottom: widget.goDownBottom, conversationID: widget.conversationID, conversationType: widget.conversationType)
onDownBottom: widget.goDownBottom,
conversationID: widget.conversationID,
conversationType: widget.conversationType)
: KeyboardVisibility( : KeyboardVisibility(
child: ExtendedTextField( child: ExtendedTextField(
maxLines: 4, maxLines: 4,
@ -504,17 +478,14 @@ class _TIMUIKitTextFieldLayoutNarrowState
}); });
}, },
keyboardType: TextInputType.multiline, keyboardType: TextInputType.multiline,
textInputAction: PlatformUtils().isAndroid textInputAction: PlatformUtils().isAndroid ? TextInputAction.newline : TextInputAction.send,
? TextInputAction.newline
: TextInputAction.send,
onEditingComplete: () { onEditingComplete: () {
widget.onSubmitted(); widget.onSubmitted();
if (showKeyboard) { if (showKeyboard) {
widget.focusNode.requestFocus(); widget.focusNode.requestFocus();
} }
setState(() { setState(() {
if (widget.textEditingController.text if (widget.textEditingController.text.isEmpty) {
.isEmpty) {
showMoreButton = true; showMoreButton = true;
} }
}); });
@ -531,25 +502,12 @@ class _TIMUIKitTextFieldLayoutNarrowState
isDense: true, isDense: true,
hintText: widget.hintText ?? ''), hintText: widget.hintText ?? ''),
controller: widget.textEditingController, controller: widget.textEditingController,
specialTextSpanBuilder: PlatformUtils() specialTextSpanBuilder: PlatformUtils().isWeb
.isWeb
? null ? null
: DefaultSpecialTextSpanBuilder( : DefaultSpecialTextSpanBuilder(
isUseQQPackage: (widget isUseQQPackage: (widget.model.chatConfig.stickerPanelConfig?.useTencentCloudChatStickerPackage ?? true) || widget.isUseDefaultEmoji,
.model isUseTencentCloudChatPackage: widget.model.chatConfig.stickerPanelConfig?.useTencentCloudChatStickerPackage ?? true,
.chatConfig customEmojiStickerList: widget.customEmojiStickerList,
.stickerPanelConfig
?.useTencentCloudChatStickerPackage ??
true) ||
widget.isUseDefaultEmoji,
isUseTencentCloudChatPackage: widget
.model
.chatConfig
.stickerPanelConfig
?.useTencentCloudChatStickerPackage ??
true,
customEmojiStickerList:
widget.customEmojiStickerList,
showAtBackground: true, showAtBackground: true,
)), )),
onChanged: (bool visibility) { onChanged: (bool visibility) {
@ -571,16 +529,9 @@ class _TIMUIKitTextFieldLayoutNarrowState
widget.goDownBottom(); widget.goDownBottom();
}, },
child: PlatformUtils().isWeb child: PlatformUtils().isWeb
? Icon( ? Icon(showEmojiPanel ? Icons.keyboard_alt_outlined : Icons.mood_outlined, color: hexToColor("5c6168"), size: 32)
showEmojiPanel
? Icons.keyboard_alt_outlined
: Icons.mood_outlined,
color: hexToColor("5c6168"),
size: 32)
: SvgPicture.asset( : SvgPicture.asset(
showEmojiPanel showEmojiPanel ? 'images/keyboard.svg' : 'images/face.svg',
? 'images/keyboard.svg'
: 'images/face.svg',
package: 'tencent_cloud_chat_uikit', package: 'tencent_cloud_chat_uikit',
color: const Color.fromRGBO(68, 68, 68, 1), color: const Color.fromRGBO(68, 68, 68, 1),
height: 28, height: 28,
@ -591,9 +542,7 @@ class _TIMUIKitTextFieldLayoutNarrowState
const SizedBox( const SizedBox(
width: 10, width: 10,
), ),
if (widget.showMorePanel && if (widget.showMorePanel && widget.forbiddenText == null && showMoreButton)
widget.forbiddenText == null &&
showMoreButton)
InkWell( InkWell(
onTap: () { onTap: () {
// model.sendCustomMessage(data: "a", convID: model.currentSelectedConv, convType: model.currentSelectedConvType == 1 ? ConvType.c2c : ConvType.group); // model.sendCustomMessage(data: "a", convID: model.currentSelectedConv, convType: model.currentSelectedConvType == 1 ? ConvType.c2c : ConvType.group);
@ -601,8 +550,7 @@ class _TIMUIKitTextFieldLayoutNarrowState
widget.goDownBottom(); widget.goDownBottom();
}, },
child: PlatformUtils().isWeb child: PlatformUtils().isWeb
? Icon(Icons.add_circle_outline_outlined, ? Icon(Icons.add_circle_outline_outlined, color: hexToColor("5c6168"), size: 32)
color: hexToColor("5c6168"), size: 32)
: SvgPicture.asset( : SvgPicture.asset(
'images/add.svg', 'images/add.svg',
package: 'tencent_cloud_chat_uikit', package: 'tencent_cloud_chat_uikit',
@ -633,10 +581,7 @@ class _TIMUIKitTextFieldLayoutNarrowState
), ),
), ),
AnimatedContainer( AnimatedContainer(
duration: Duration( duration: Duration(milliseconds: (showKeyboard && PlatformUtils().isAndroid) ? 200 : 340),
milliseconds: (showKeyboard && PlatformUtils().isAndroid)
? 200
: 340),
curve: Curves.fastOutSlowIn, curve: Curves.fastOutSlowIn,
height: max(_getBottomHeight(), 0.0), height: max(_getBottomHeight(), 0.0),
child: ListView( child: ListView(

View File

@ -245,10 +245,10 @@ packages:
dependency: "direct main" dependency: "direct main"
description: description:
name: collection name: collection
sha256: f092b211a4319e98e5ff58223576de6c2803db36221657b46c82574721240687 sha256: ee67cb0715911d28db6bf4af1026078bd6f0128b07a5f66fb2ed94ec6783c09a
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "1.17.2" version: "1.18.0"
convert: convert:
dependency: transitive dependency: transitive
description: description:
@ -373,26 +373,26 @@ packages:
dependency: "direct main" dependency: "direct main"
description: description:
name: extended_text name: extended_text
sha256: "02260234da409916f56add1dd470bc17f4b3359e94c93bf4b8e44c7439dcd536" sha256: "7096a1e9a029534257d70f7dafb2798f932d589079e67ef3f58fdf0805f2f627"
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "11.1.0" version: "12.0.0"
extended_text_field: extended_text_field:
dependency: "direct main" dependency: "direct main"
description: description:
name: extended_text_field name: extended_text_field
sha256: "893f61eff66157cbf14764f08092730fc3ff8987e7f1e92f618b007226be9bda" sha256: ed9655c70a47a54c7cc689cf7f89a2bde9ab7b530150b4d1808b7aa7eb8cdf90
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "12.1.0" version: "13.0.0"
extended_text_library: extended_text_library:
dependency: transitive dependency: transitive
description: description:
name: extended_text_library name: extended_text_library
sha256: f6ae456324ff6ba3f9fe560a5c12f51ec02c5f463ef5a02bf165b678f049d547 sha256: "55d09098ec56fab0d9a8a68950ca0bbf2efa1327937f7cec6af6dfa066234829"
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "11.1.0" version: "12.0.0"
fast_i18n: fast_i18n:
dependency: transitive dependency: transitive
description: description:
@ -839,10 +839,10 @@ packages:
dependency: transitive dependency: transitive
description: description:
name: meta name: meta
sha256: "3c74dbf8763d36539f114c799d8a2d87343b5067e9d796ca22b5eb8437090ee3" sha256: a6e590c838b18133bb482a2745ad77c5bb7715fb0451209e1a7567d416678b8e
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "1.9.1" version: "1.10.0"
mime: mime:
dependency: transitive dependency: transitive
description: description:
@ -1031,10 +1031,18 @@ packages:
dependency: transitive dependency: transitive
description: description:
name: photo_manager name: photo_manager
sha256: b2d81bd197323697d1b335e2e04cea2f67e11624ced77cfd02917a10afaeba73 sha256: "8aca19e47804e99abec5dff8ea59c684181fb2b6ebbcdd3557a2b4fb8d5deae6"
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "2.7.1" version: "3.0.0-dev.2"
photo_manager_image_provider:
dependency: transitive
description:
name: photo_manager_image_provider
sha256: c187f60c3fdbe5630735d9a0bccbb071397ec03dcb1ba6085c29c8adece798a0
url: "https://pub.dev"
source: hosted
version: "2.1.0"
platform: platform:
dependency: transitive dependency: transitive
description: description:
@ -1123,6 +1131,22 @@ packages:
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "0.4.2" version: "0.4.2"
sensors_plus:
dependency: transitive
description:
name: sensors_plus
sha256: a1e461f28a8e8d3f81feb07d5c4e87e948379ea91f0b5131266bb79f72b38acb
url: "https://pub.dev"
source: hosted
version: "3.1.0"
sensors_plus_platform_interface:
dependency: transitive
description:
name: sensors_plus_platform_interface
sha256: "95f0cc08791b8bf0c41c5fa99c84be2a7d5bf60a811ddc17e1438b1e68caf0d3"
url: "https://pub.dev"
source: hosted
version: "1.1.3"
shared_preferences: shared_preferences:
dependency: "direct main" dependency: "direct main"
description: description:
@ -1340,10 +1364,10 @@ packages:
dependency: "direct main" dependency: "direct main"
description: description:
name: tim_ui_kit_sticker_plugin name: tim_ui_kit_sticker_plugin
sha256: db8143aea26eda5feec5ec2efc5a31b2c56928cd807537778829698f3c4efec5 sha256: "1c4164afbe0bd6479faeee70fad328e82666f8b75c8d54382e97fed250452611"
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "3.0.1+1" version: "3.1.0"
timing: timing:
dependency: transitive dependency: transitive
description: description:
@ -1564,10 +1588,10 @@ packages:
dependency: transitive dependency: transitive
description: description:
name: web name: web
sha256: dc8ccd225a2005c1be616fe02951e2e342092edf968cf0844220383757ef8f10 sha256: afe077240a270dcfd2aafe77602b4113645af95d0ad31128cc02bce5ac5d5152
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "0.1.4-beta" version: "0.3.0"
web_socket_channel: web_socket_channel:
dependency: transitive dependency: transitive
description: description:
@ -1580,18 +1604,18 @@ packages:
dependency: "direct main" dependency: "direct main"
description: description:
name: wechat_assets_picker name: wechat_assets_picker
sha256: "5aeac81c6a28e1142a2c9ba9ee802b909c2dad9186d9a58dbe4eb74493af4743" sha256: "9934724a45fdb2b12e332d8190c58713e6675c37c630d53608e0f50167215c9f"
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "8.5.0" version: "8.9.0-dev.1"
wechat_camera_picker: wechat_camera_picker:
dependency: "direct main" dependency: "direct main"
description: description:
name: wechat_camera_picker name: wechat_camera_picker
sha256: "6c2e941275b43f68085e4d1adef036e6b9e7b2e81c29038bb2f933916810e423" sha256: "5d80afaec8b2cbcfd98d9feeee1737689e04c4151a7bd67a6efac83064beca86"
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "4.0.0" version: "4.2.0-dev.2"
win32: win32:
dependency: transitive dependency: transitive
description: description:
@ -1633,5 +1657,5 @@ packages:
source: hosted source: hosted
version: "3.1.2" version: "3.1.2"
sdks: sdks:
dart: ">=3.1.0-185.0.dev <3.3.0" dart: ">=3.2.0 <3.3.0"
flutter: ">=3.13.0" flutter: ">=3.16.0"

View File

@ -1,6 +1,6 @@
name: tencent_cloud_chat_uikit name: tencent_cloud_chat_uikit
description: A powerful chat UI component library and business logic for Tencent Cloud Chat, creating seamless in-app chat modules for delightful user experiences. description: A powerful chat UI component library and business logic for Tencent Cloud Chat, creating seamless in-app chat modules for delightful user experiences.
version: 2.3.3+1 version: 2.4.0
homepage: https://trtc.io/products/chat?utm_source=gfs&utm_medium=link&utm_campaign=%E6%B8%A0%E9%81%93&_channel_track_key=k6WgfCKn homepage: https://trtc.io/products/chat?utm_source=gfs&utm_medium=link&utm_campaign=%E6%B8%A0%E9%81%93&_channel_track_key=k6WgfCKn
repository: https://github.com/TencentCloud/chat-uikit-flutter repository: https://github.com/TencentCloud/chat-uikit-flutter
documentation: https://comm.qq.com/im/doc/flutter/en/TUIKit/readme.html documentation: https://comm.qq.com/im/doc/flutter/en/TUIKit/readme.html
@ -41,12 +41,12 @@ dependencies:
cached_network_image: ^3.3.0 cached_network_image: ^3.3.0
shared_preferences: ^2.0.13 shared_preferences: ^2.0.13
scroll_to_index: ^2.1.1 scroll_to_index: ^2.1.1
wechat_assets_picker: ^8.5.0 wechat_assets_picker: ^8.9.0-dev.1
wechat_camera_picker: ^4.0.0 wechat_camera_picker: ^4.2.0-dev.2
flutter_easyrefresh: ^2.2.1 flutter_easyrefresh: ^2.2.1
extended_image: ^8.1.0 extended_image: ^8.1.0
extended_text_field: ^12.1.0 extended_text_field: ^13.0.0
extended_text: ^11.1.0 extended_text: ^12.0.0
package_info_plus: ^4.0.1 package_info_plus: ^4.0.1
loading_animation_widget: ^1.1.0+3 loading_animation_widget: ^1.1.0+3
permission_handler: ^10.2.0 permission_handler: ^10.2.0
@ -62,7 +62,7 @@ dependencies:
uuid: ^3.0.6 uuid: ^3.0.6
open_file: ^3.3.2 open_file: ^3.3.2
tencent_keyboard_visibility: ^1.0.1 tencent_keyboard_visibility: ^1.0.1
tim_ui_kit_sticker_plugin: ^3.0.1+1 tim_ui_kit_sticker_plugin: ^3.1.0
tencent_im_base: ^3.1.0 tencent_im_base: ^3.1.0
fc_native_video_thumbnail: any fc_native_video_thumbnail: any
path: ^1.8.1 path: ^1.8.1