From aad980ce238dabefc672d5c749261d077ab8c798 Mon Sep 17 00:00:00 2001 From: bggRGjQaUbCoE Date: Thu, 20 Nov 2025 11:55:27 +0800 Subject: [PATCH] tweaks Signed-off-by: bggRGjQaUbCoE --- lib/http/sponsor_block.dart | 3 +-- lib/models/video/play/url.dart | 15 ++++++++++----- lib/models_new/sponsor_block/segment_item.dart | 4 ++-- lib/pages/video/reply_reply/view.dart | 3 ++- 4 files changed, 15 insertions(+), 10 deletions(-) diff --git a/lib/http/sponsor_block.dart b/lib/http/sponsor_block.dart index ef151f32d..47cf0eaa5 100644 --- a/lib/http/sponsor_block.dart +++ b/lib/http/sponsor_block.dart @@ -1,6 +1,5 @@ import 'dart:convert'; -import 'package:PiliPlus/build_config.dart'; import 'package:PiliPlus/common/constants.dart'; import 'package:PiliPlus/http/init.dart'; import 'package:PiliPlus/http/loading_state.dart'; @@ -137,7 +136,7 @@ abstract final class SponsorBlock { 'videoID': bvid, 'cid': cid.toString(), 'userID': Pref.blockUserID, - 'userAgent': '${Constants.appName}/${BuildConfig.versionName}', + 'userAgent': Constants.userAgent, 'videoDuration': videoDuration, 'segments': segments .map( diff --git a/lib/models/video/play/url.dart b/lib/models/video/play/url.dart index ae7b601b2..ccfa18fa2 100644 --- a/lib/models/video/play/url.dart +++ b/lib/models/video/play/url.dart @@ -4,6 +4,7 @@ import 'package:PiliPlus/models/common/video/audio_quality.dart'; import 'package:PiliPlus/models/common/video/video_quality.dart'; import 'package:PiliPlus/models_new/sponsor_block/segment_item.dart'; import 'package:PiliPlus/utils/extension.dart'; +import 'package:flutter/foundation.dart' show kDebugMode; class PlayUrlModel { PlayUrlModel({ @@ -87,11 +88,15 @@ class PlayUrlModel { // "clipType": "CLIP_TYPE_ED", // }, // ]; - final List? clipInfoList = json['clip_info_list']; - if (clipInfoList != null && clipInfoList.isNotEmpty) { - this.clipInfoList = clipInfoList - .map((e) => SegmentItemModel.fromPgcJson(e, timeLength)) - .toList(); + try { + final List? clipInfoList = json['clip_info_list']; + if (clipInfoList != null && clipInfoList.isNotEmpty) { + this.clipInfoList = clipInfoList + .map((e) => SegmentItemModel.fromPgcJson(e, timeLength)) + .toList(); + } + } catch (_) { + if (kDebugMode) rethrow; } } } diff --git a/lib/models_new/sponsor_block/segment_item.dart b/lib/models_new/sponsor_block/segment_item.dart index b3ced0e91..5cd11e7f7 100644 --- a/lib/models_new/sponsor_block/segment_item.dart +++ b/lib/models_new/sponsor_block/segment_item.dart @@ -7,7 +7,7 @@ class SegmentItemModel { List segment; String uuid; num? videoDuration; - int votes; + int? votes; SegmentItemModel({ this.cid, @@ -16,7 +16,7 @@ class SegmentItemModel { required this.segment, required this.uuid, this.videoDuration, - this.votes = 0, + this.votes, }); factory SegmentItemModel.fromJson(Map json) => diff --git a/lib/pages/video/reply_reply/view.dart b/lib/pages/video/reply_reply/view.dart index 6ca666104..26c45a55c 100644 --- a/lib/pages/video/reply_reply/view.dart +++ b/lib/pages/video/reply_reply/view.dart @@ -188,7 +188,8 @@ class _VideoReplyReplyPanelState extends State : const AlwaysScrollableScrollPhysics(), slivers: [ if (!isDialogue) ...[ - if (widget.firstFloor case final firstFloor?) + if ((widget.firstFloor ?? _controller.firstFloor.value) + case final firstFloor?) _header(theme, firstFloor) else Obx(() {