diff --git a/lib/pages/video/introduction/ugc/controller.dart b/lib/pages/video/introduction/ugc/controller.dart index 50e23c4ca..e81e9b0d9 100644 --- a/lib/pages/video/introduction/ugc/controller.dart +++ b/lib/pages/video/introduction/ugc/controller.dart @@ -25,6 +25,7 @@ import 'package:PiliPlus/pages/video/pay_coins/view.dart'; import 'package:PiliPlus/pages/video/related/controller.dart'; import 'package:PiliPlus/pages/video/reply/controller.dart'; import 'package:PiliPlus/plugin/pl_player/models/play_repeat.dart'; +import 'package:PiliPlus/services/service_locator.dart'; import 'package:PiliPlus/utils/extension.dart'; import 'package:PiliPlus/utils/feed_back.dart'; import 'package:PiliPlus/utils/global_data.dart'; @@ -148,6 +149,7 @@ class VideoIntroController extends GetxController { var result = await VideoHttp.videoIntro(bvid: bvid); if (result['status']) { VideoDetailData data = result['data']; + videoPlayerServiceHandler.onVideoDetailChange(data, data.cid!, heroTag); if (videoDetail.value.ugcSeason?.id == data.ugcSeason?.id) { // keep reversed season data.ugcSeason = videoDetail.value.ugcSeason; diff --git a/lib/pages/video/view.dart b/lib/pages/video/view.dart index ab04727f9..0395f477c 100644 --- a/lib/pages/video/view.dart +++ b/lib/pages/video/view.dart @@ -101,7 +101,6 @@ class _VideoDetailPageVState extends State context.orientation == Orientation.landscape && videoDetailController.plPlayerController.horizontalPreview; - StreamSubscription? _listenerDetail; StreamSubscription? _listenerFS; Box get setting => GStorage.setting; @@ -129,11 +128,6 @@ class _VideoDetailPageVState extends State ); } videoIntroController = Get.put(VideoIntroController(), tag: heroTag); - _listenerDetail = videoIntroController.videoDetail.listen((value) { - if (!context.mounted) return; - videoPlayerServiceHandler.onVideoDetailChange( - value, videoDetailController.cid.value, heroTag); - }); if (videoDetailController.videoType == SearchType.media_bangumi) { bangumiIntroController = Get.put(BangumiIntroController(), tag: heroTag); } @@ -304,7 +298,6 @@ class _VideoDetailPageVState extends State @override void dispose() { - _listenerDetail?.cancel(); _listenerFS?.cancel(); videoDetailController.skipTimer?.cancel(); diff --git a/lib/pages/whisper_detail/widget/chat_item.dart b/lib/pages/whisper_detail/widget/chat_item.dart index faf2749aa..41d829b68 100644 --- a/lib/pages/whisper_detail/widget/chat_item.dart +++ b/lib/pages/whisper_detail/widget/chat_item.dart @@ -241,18 +241,21 @@ class ChatItem extends StatelessWidget { fontWeight: FontWeight.bold, ), ), - const SizedBox(height: 1), - SelectableText( - content['summary'] ?? "", - style: TextStyle( - letterSpacing: 0.6, - height: 1.5, - color: textColor.withValues(alpha: 0.6), - fontSize: 12, - overflow: TextOverflow.ellipsis, + if (content['summary'] != null && content['summary'] != '') ...[ + const SizedBox(height: 1), + SelectableText( + scrollPhysics: const NeverScrollableScrollPhysics(), + content['summary'], + style: TextStyle( + letterSpacing: 0.6, + height: 1.5, + color: textColor.withValues(alpha: 0.6), + fontSize: 12, + overflow: TextOverflow.ellipsis, + ), + maxLines: 2, ), - maxLines: 2, - ), + ], ], ), );