mirror of
https://github.com/bggRGjQaUbCoE/PiliPlus.git
synced 2026-07-28 06:20:12 +08:00
remove boolext
Signed-off-by: bggRGjQaUbCoE <githubaccount56556@proton.me>
This commit is contained in:
@@ -38,7 +38,6 @@ import 'package:PiliPlus/pages/video/widgets/header_control.dart';
|
||||
import 'package:PiliPlus/plugin/pl_player/controller.dart';
|
||||
import 'package:PiliPlus/plugin/pl_player/models/data_source.dart';
|
||||
import 'package:PiliPlus/plugin/pl_player/models/play_status.dart';
|
||||
import 'package:PiliPlus/utils/extension.dart';
|
||||
import 'package:PiliPlus/utils/id_utils.dart';
|
||||
import 'package:PiliPlus/utils/page_utils.dart';
|
||||
import 'package:PiliPlus/utils/storage.dart';
|
||||
@@ -152,7 +151,7 @@ class VideoDetailController extends GetxController
|
||||
? 'horizontal'
|
||||
: 'vertical'
|
||||
: 'horizontal';
|
||||
if (scrollCtr.hasClients.not) {
|
||||
if (!scrollCtr.hasClients) {
|
||||
videoHeight = direction == 'vertical' ? maxVideoHeight : minVideoHeight;
|
||||
this.direction.value = direction;
|
||||
return;
|
||||
@@ -296,7 +295,7 @@ class VideoDetailController extends GetxController
|
||||
bool isReverse = false,
|
||||
bool isLoadPrevious = false,
|
||||
}) async {
|
||||
if (isReverse.not &&
|
||||
if (!isReverse &&
|
||||
Get.arguments['count'] != null &&
|
||||
mediaList.length >= Get.arguments['count']) {
|
||||
return;
|
||||
|
||||
@@ -18,7 +18,6 @@ import 'package:PiliPlus/pages/video/introduction/ugc/controller.dart';
|
||||
import 'package:PiliPlus/pages/video/pay_coins/view.dart';
|
||||
import 'package:PiliPlus/pages/video/reply/controller.dart';
|
||||
import 'package:PiliPlus/plugin/pl_player/models/play_repeat.dart';
|
||||
import 'package:PiliPlus/utils/extension.dart';
|
||||
import 'package:PiliPlus/utils/feed_back.dart';
|
||||
import 'package:PiliPlus/utils/global_data.dart';
|
||||
import 'package:PiliPlus/utils/page_utils.dart';
|
||||
@@ -121,7 +120,7 @@ class BangumiIntroController extends GetxController {
|
||||
if (res['status']) {
|
||||
SmartDialog.showToast('投币成功');
|
||||
bangumiItem.stat!.coins = bangumiItem.stat!.coins! + coin;
|
||||
if (selectLike && hasLike.value.not) {
|
||||
if (selectLike && !hasLike.value) {
|
||||
hasLike.value = true;
|
||||
bangumiItem.stat!.likes = bangumiItem.stat!.likes! + 1;
|
||||
}
|
||||
@@ -192,7 +191,7 @@ class BangumiIntroController extends GetxController {
|
||||
for (var i in favFolderData.value.list!.toList()) {
|
||||
bool isFaved = favIds?.contains(i.id) == true;
|
||||
if (i.favState == 1) {
|
||||
if (isFaved.not) {
|
||||
if (!isFaved) {
|
||||
addMediaIdsNew.add(i.id);
|
||||
}
|
||||
} else {
|
||||
|
||||
@@ -47,7 +47,7 @@ class _BangumiIntroPanelState extends State<BangumiIntroPanel>
|
||||
|
||||
bool isProcessing = false;
|
||||
Future<void> handleState(FutureOr Function() action) async {
|
||||
if (isProcessing.not) {
|
||||
if (!isProcessing) {
|
||||
isProcessing = true;
|
||||
await action();
|
||||
isProcessing = false;
|
||||
|
||||
@@ -166,7 +166,7 @@ class VideoIntroController extends GetxController {
|
||||
if (videoDetailController.videoItem['pic'] == null ||
|
||||
videoDetailController.videoItem['pic'] == '' ||
|
||||
(videoDetailController.videoUrl.isNullOrEmpty &&
|
||||
videoDetailController.isQuerying.not)) {
|
||||
!videoDetailController.isQuerying)) {
|
||||
videoDetailController.videoItem['pic'] = data.pic;
|
||||
}
|
||||
if (videoDetailController.showReply) {
|
||||
@@ -340,7 +340,7 @@ class VideoIntroController extends GetxController {
|
||||
_coinNum.value += coin;
|
||||
GlobalData().afterCoin(coin);
|
||||
videoDetail.value.stat!.coin = videoDetail.value.stat!.coin! + coin;
|
||||
if (selectLike && hasLike.value.not) {
|
||||
if (selectLike && !hasLike.value) {
|
||||
hasLike.value = true;
|
||||
videoDetail.value.stat!.like = videoDetail.value.stat!.like! + 1;
|
||||
}
|
||||
@@ -411,7 +411,7 @@ class VideoIntroController extends GetxController {
|
||||
for (var i in favFolderData.value.list!.toList()) {
|
||||
bool isFaved = favIds?.contains(i.id) == true;
|
||||
if (i.favState == 1) {
|
||||
if (isFaved.not) {
|
||||
if (!isFaved) {
|
||||
addMediaIdsNew.add(i.id);
|
||||
}
|
||||
} else {
|
||||
@@ -695,7 +695,7 @@ class VideoIntroController extends GetxController {
|
||||
|
||||
// 查看同时在看人数
|
||||
Future<void> queryOnlineTotal() async {
|
||||
if (isShowOnlineTotal.not) {
|
||||
if (!isShowOnlineTotal) {
|
||||
return;
|
||||
}
|
||||
var result = await VideoHttp.onlineTotal(
|
||||
@@ -723,7 +723,7 @@ class VideoIntroController extends GetxController {
|
||||
|
||||
final videoDetailCtr = Get.find<VideoDetailController>(tag: heroTag);
|
||||
|
||||
if (skipPages.not && (videoDetail.value.pages?.length ?? 0) > 1) {
|
||||
if (!skipPages && (videoDetail.value.pages?.length ?? 0) > 1) {
|
||||
isPages = true;
|
||||
final List<Part> pages = videoDetail.value.pages!;
|
||||
episodes.addAll(pages);
|
||||
@@ -775,7 +775,7 @@ class VideoIntroController extends GetxController {
|
||||
final videoDetailCtr = Get.find<VideoDetailController>(tag: heroTag);
|
||||
|
||||
// part -> playall -> season
|
||||
if (skipPages.not && (videoDetail.value.pages?.length ?? 0) > 1) {
|
||||
if (!skipPages && (videoDetail.value.pages?.length ?? 0) > 1) {
|
||||
isPages = true;
|
||||
final List<Part> pages = videoDetail.value.pages!;
|
||||
episodes.addAll(pages);
|
||||
@@ -811,7 +811,7 @@ class VideoIntroController extends GetxController {
|
||||
|
||||
int nextIndex = currentIndex + 1;
|
||||
|
||||
if (isPages.not &&
|
||||
if (!isPages &&
|
||||
videoDetailCtr.isPlayAll &&
|
||||
currentIndex == episodes.length - 2) {
|
||||
videoDetailCtr.getMediaList();
|
||||
|
||||
@@ -203,7 +203,7 @@ class _VideoInfoState extends State<VideoInfo> {
|
||||
);
|
||||
|
||||
Future<void> handleState(FutureOr Function() action) async {
|
||||
if (isProcessing.not) {
|
||||
if (!isProcessing) {
|
||||
isProcessing = true;
|
||||
await action();
|
||||
isProcessing = false;
|
||||
@@ -223,7 +223,7 @@ class _VideoInfoState extends State<VideoInfo> {
|
||||
initialExpanded: alwaysExapndIntroPanel,
|
||||
);
|
||||
|
||||
if (alwaysExapndIntroPanel.not && GStorage.exapndIntroPanelH) {
|
||||
if (!alwaysExapndIntroPanel && GStorage.exapndIntroPanelH) {
|
||||
WidgetsBinding.instance.addPostFrameCallback((_) {
|
||||
if (context.orientation == Orientation.landscape &&
|
||||
videoIntroController.expandableCtr?.expanded == false) {
|
||||
@@ -684,7 +684,8 @@ class _VideoInfoState extends State<VideoInfo> {
|
||||
),
|
||||
),
|
||||
if (videoIntroController
|
||||
.videoDetail.value.descV2.isNullOrEmpty.not) ...[
|
||||
.videoDetail.value.descV2?.isNotEmpty ==
|
||||
true) ...[
|
||||
const SizedBox(height: 8),
|
||||
SelectableText.rich(
|
||||
style: const TextStyle(
|
||||
@@ -748,7 +749,7 @@ class _VideoInfoState extends State<VideoInfo> {
|
||||
.queryVideoIntroData["status"] = true;
|
||||
videoIntroController.queryVideoIntro();
|
||||
if (videoDetailCtr.videoUrl.isNullOrEmpty &&
|
||||
videoDetailCtr.isQuerying.not) {
|
||||
!videoDetailCtr.isQuerying) {
|
||||
videoDetailCtr.queryVideoUrl();
|
||||
}
|
||||
},
|
||||
@@ -766,8 +767,8 @@ class _VideoInfoState extends State<VideoInfo> {
|
||||
videoDetail.ugcSeason != null &&
|
||||
(context.orientation != Orientation.landscape ||
|
||||
(context.orientation == Orientation.landscape &&
|
||||
videoDetailCtr.plPlayerController
|
||||
.horizontalSeasonPanel.not)))
|
||||
!videoDetailCtr
|
||||
.plPlayerController.horizontalSeasonPanel)))
|
||||
Obx(
|
||||
() => SeasonPanel(
|
||||
key: ValueKey(videoIntroController.videoDetail.value),
|
||||
@@ -782,8 +783,8 @@ class _VideoInfoState extends State<VideoInfo> {
|
||||
videoDetail.pages!.length > 1 &&
|
||||
(context.orientation != Orientation.landscape ||
|
||||
(context.orientation == Orientation.landscape &&
|
||||
videoDetailCtr.plPlayerController
|
||||
.horizontalSeasonPanel.not))) ...[
|
||||
!videoDetailCtr.plPlayerController
|
||||
.horizontalSeasonPanel))) ...[
|
||||
Obx(
|
||||
() => PagesPanel(
|
||||
key: ValueKey(videoIntroController.videoDetail.value),
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
import 'dart:async';
|
||||
import 'dart:math';
|
||||
|
||||
import 'package:PiliPlus/utils/extension.dart';
|
||||
import 'package:PiliPlus/utils/feed_back.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:flutter/services.dart' show HapticFeedback;
|
||||
@@ -68,7 +67,7 @@ class ActionItemState extends State<ActionItem>
|
||||
void _cancelLongPress([bool isCancel = false]) {
|
||||
int duration = DateTime.now().millisecondsSinceEpoch - _lastTime;
|
||||
if (duration >= 200 && duration < 1500) {
|
||||
if (widget.hasTriple.not) {
|
||||
if (!widget.hasTriple) {
|
||||
controller?.reverse();
|
||||
widget.callBack?.call(false);
|
||||
}
|
||||
|
||||
@@ -5,7 +5,6 @@ import 'package:PiliPlus/models/video_detail/episode.dart';
|
||||
import 'package:PiliPlus/models/video_detail/section.dart';
|
||||
import 'package:PiliPlus/pages/video/controller.dart';
|
||||
import 'package:PiliPlus/pages/video/introduction/ugc/controller.dart';
|
||||
import 'package:PiliPlus/utils/extension.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:get/get.dart';
|
||||
|
||||
@@ -69,7 +68,7 @@ class _SeasonPanelState extends State<SeasonPanel> {
|
||||
if (_videoDetailController.seasonCid != cid) {
|
||||
bool isPart =
|
||||
videoDetail.pages?.indexWhere((item) => item.cid == cid) != -1;
|
||||
if (isPart.not) {
|
||||
if (!isPart) {
|
||||
_videoDetailController.seasonCid = cid;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
import 'dart:async';
|
||||
import 'dart:math';
|
||||
|
||||
import 'package:PiliPlus/utils/extension.dart';
|
||||
import 'package:PiliPlus/utils/global_data.dart';
|
||||
import 'package:PiliPlus/utils/storage.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
@@ -392,7 +391,7 @@ class _PayCoinsPageState extends State<PayCoinsPage>
|
||||
children: [
|
||||
GestureDetector(
|
||||
onTap: () {
|
||||
_coinWithLike.value = _coinWithLike.value.not;
|
||||
_coinWithLike.value = !_coinWithLike.value;
|
||||
GStorage.setting.put(
|
||||
SettingBoxKey.coinWithLike,
|
||||
_coinWithLike.value,
|
||||
|
||||
@@ -13,7 +13,6 @@ import 'package:PiliPlus/models/sponsor_block/segment_item.dart';
|
||||
import 'package:PiliPlus/pages/common/common_collapse_slide_page.dart';
|
||||
import 'package:PiliPlus/pages/video/controller.dart';
|
||||
import 'package:PiliPlus/plugin/pl_player/controller.dart';
|
||||
import 'package:PiliPlus/utils/extension.dart';
|
||||
import 'package:PiliPlus/utils/storage.dart';
|
||||
import 'package:PiliPlus/utils/utils.dart';
|
||||
import 'package:dio/dio.dart';
|
||||
@@ -167,10 +166,8 @@ class _PostPanelState extends CommonCollapseSlidePageState<PostPanel> {
|
||||
list![index].category = item;
|
||||
List<ActionType> constraintList =
|
||||
item.toActionType;
|
||||
if (constraintList
|
||||
.contains(
|
||||
list![index].actionType)
|
||||
.not) {
|
||||
if (!constraintList.contains(
|
||||
list![index].actionType)) {
|
||||
list![index].actionType =
|
||||
constraintList.first;
|
||||
}
|
||||
@@ -335,12 +332,8 @@ class _PostPanelState extends CommonCollapseSlidePageState<PostPanel> {
|
||||
.seek(
|
||||
Duration(milliseconds: start),
|
||||
);
|
||||
if (widget
|
||||
.plPlayerController
|
||||
.videoPlayerController!
|
||||
.state
|
||||
.playing
|
||||
.not) {
|
||||
if (!widget.plPlayerController
|
||||
.videoPlayerController!.state.playing) {
|
||||
await widget.plPlayerController
|
||||
.videoPlayerController!
|
||||
.play();
|
||||
|
||||
@@ -230,8 +230,8 @@ class _VideoReplyPanelState extends State<VideoReplyPanel>
|
||||
onViewImage: widget.onViewImage,
|
||||
onDismissed: widget.onDismissed,
|
||||
callback: widget.callback,
|
||||
onCheckReply: (item) =>
|
||||
_videoReplyController.onCheckReply(context, item),
|
||||
onCheckReply: (item) => _videoReplyController
|
||||
.onCheckReply(context, item, isManual: true),
|
||||
onToggleTop: (isUpTop, rpid) =>
|
||||
_videoReplyController.onToggleTop(
|
||||
index,
|
||||
|
||||
@@ -849,7 +849,7 @@ class ReplyItemGrpc extends StatelessWidget {
|
||||
for (int i = 0; i < unmatchedItems.length; i++) {
|
||||
String patternStr = unmatchedItems[i];
|
||||
if (content.urls[patternStr]?.extra.isWordSearch == true &&
|
||||
enableWordRe.not) {
|
||||
!enableWordRe) {
|
||||
continue;
|
||||
}
|
||||
spanChildren.addAll(
|
||||
@@ -1131,7 +1131,7 @@ class ReplyItemGrpc extends StatelessWidget {
|
||||
leading: Icon(Icons.error_outline, color: errorColor, size: 19),
|
||||
title: Text('举报', style: style!.copyWith(color: errorColor)),
|
||||
),
|
||||
if (replyLevel == '1' && isSubReply.not && ownerMid == upMid)
|
||||
if (replyLevel == '1' && !isSubReply && ownerMid == upMid)
|
||||
ListTile(
|
||||
onTap: () => menuActionHandler('top'),
|
||||
minLeadingWidth: 0,
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
import 'package:PiliPlus/grpc/bilibili/main/community/reply/v1.pb.dart'
|
||||
show ReplyInfo;
|
||||
import 'package:PiliPlus/http/reply.dart';
|
||||
import 'package:PiliPlus/utils/extension.dart';
|
||||
import 'package:PiliPlus/utils/feed_back.dart';
|
||||
import 'package:PiliPlus/utils/utils.dart';
|
||||
import 'package:fixnum/fixnum.dart' as $fixnum;
|
||||
@@ -87,7 +86,7 @@ class _ZanButtonGrpcState extends State<ZanButtonGrpc> {
|
||||
|
||||
bool isProcessing = false;
|
||||
Future<void> handleState(Future Function() action) async {
|
||||
if (isProcessing.not) {
|
||||
if (!isProcessing) {
|
||||
isProcessing = true;
|
||||
await action();
|
||||
isProcessing = false;
|
||||
|
||||
@@ -186,7 +186,7 @@ class _VideoReplyReplyPanelState
|
||||
onDismissed: widget.onDismissed,
|
||||
callback: _getImageCallback,
|
||||
onCheckReply: (item) => _videoReplyReplyController
|
||||
.onCheckReply(context, item),
|
||||
.onCheckReply(context, item, isManual: true),
|
||||
onToggleTop: (isUpTop, rpid) =>
|
||||
_videoReplyReplyController.onToggleTop(
|
||||
index,
|
||||
@@ -359,7 +359,8 @@ class _VideoReplyReplyPanelState
|
||||
..loadingState.value.dataOrNull?.insert(index + 1, replyInfo)
|
||||
..loadingState.refresh();
|
||||
if (_videoReplyReplyController.enableCommAntifraud && mounted) {
|
||||
_videoReplyReplyController.onCheckReply(context, replyInfo);
|
||||
_videoReplyReplyController.onCheckReply(context, replyInfo,
|
||||
isManual: false);
|
||||
}
|
||||
}
|
||||
});
|
||||
@@ -445,8 +446,8 @@ class _VideoReplyReplyPanelState
|
||||
onViewImage: widget.onViewImage,
|
||||
onDismissed: widget.onDismissed,
|
||||
callback: _getImageCallback,
|
||||
onCheckReply: (item) =>
|
||||
_videoReplyReplyController.onCheckReply(context, item),
|
||||
onCheckReply: (item) => _videoReplyReplyController
|
||||
.onCheckReply(context, item, isManual: true),
|
||||
onToggleTop: (isUpTop, rpid) => _videoReplyReplyController.onToggleTop(
|
||||
index,
|
||||
_videoReplyReplyController.oid,
|
||||
|
||||
@@ -6,7 +6,6 @@ import 'package:PiliPlus/main.dart';
|
||||
import 'package:PiliPlus/models/common/publish_panel_type.dart';
|
||||
import 'package:PiliPlus/pages/common/common_publish_page.dart';
|
||||
import 'package:PiliPlus/pages/setting/slide_color_picker.dart';
|
||||
import 'package:PiliPlus/utils/extension.dart';
|
||||
import 'package:PiliPlus/utils/storage.dart';
|
||||
import 'package:canvas_danmaku/models/danmaku_content_item.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
@@ -93,7 +92,7 @@ class _SendDanmakuPanelState extends CommonPublishPageState<SendDanmakuPanel> {
|
||||
key: ValueKey(_color.value),
|
||||
builder: (context, constraints) {
|
||||
final int crossAxisCount = (constraints.maxWidth / 40).toInt();
|
||||
final bool isCustomColor = _colorList.contains(_color.value).not;
|
||||
final bool isCustomColor = !_colorList.contains(_color.value);
|
||||
final int length =
|
||||
_colorList.length + (isCustomColor ? 1 : 0) + 1;
|
||||
return GridView.builder(
|
||||
|
||||
@@ -203,9 +203,9 @@ class _VideoDetailPageVState extends State<VideoDetailPageV>
|
||||
if (videoDetailController.scrollCtr.hasClients) {
|
||||
bool isPlaying = status == PlayerStatus.playing;
|
||||
if (isPlaying) {
|
||||
if (videoDetailController.isExpanding.not &&
|
||||
if (!videoDetailController.isExpanding &&
|
||||
videoDetailController.scrollCtr.offset != 0 &&
|
||||
videoDetailController.animationController.isAnimating.not) {
|
||||
!videoDetailController.animationController.isAnimating) {
|
||||
videoDetailController.isExpanding = true;
|
||||
videoDetailController.animationController.forward(
|
||||
from: 1 -
|
||||
@@ -413,12 +413,12 @@ class _VideoDetailPageVState extends State<VideoDetailPageV>
|
||||
super.didPopNext();
|
||||
videoDetailController.autoPlay.value =
|
||||
!videoDetailController.isShowCover.value;
|
||||
if (videoDetailController.isShowCover.value.not) {
|
||||
if (!videoDetailController.isShowCover.value) {
|
||||
await videoDetailController.playerInit(
|
||||
autoplay: videoDetailController.playerStatus == PlayerStatus.playing,
|
||||
);
|
||||
} else if (videoDetailController.plPlayerController.preInitPlayer &&
|
||||
videoDetailController.isQuerying.not &&
|
||||
!videoDetailController.isQuerying &&
|
||||
videoDetailController.videoState.value is! Error) {
|
||||
await videoDetailController.playerInit();
|
||||
}
|
||||
@@ -621,8 +621,8 @@ class _VideoDetailPageVState extends State<VideoDetailPageV>
|
||||
!isFullScreen &&
|
||||
isShowing &&
|
||||
mounted) {
|
||||
if (videoDetailController.imageStatus.not &&
|
||||
removeSafeArea.not) {
|
||||
if (!videoDetailController.imageStatus &&
|
||||
!removeSafeArea) {
|
||||
showStatusBar();
|
||||
}
|
||||
}
|
||||
@@ -1460,12 +1460,11 @@ class _VideoDetailPageVState extends State<VideoDetailPageV>
|
||||
}
|
||||
|
||||
Widget tabbar() => TabBar(
|
||||
labelColor: needIndicator.not || tabs.length == 1
|
||||
labelColor: !needIndicator || tabs.length == 1
|
||||
? themeData.colorScheme.onSurface
|
||||
: null,
|
||||
indicator: needIndicator.not || tabs.length == 1
|
||||
? const BoxDecoration()
|
||||
: null,
|
||||
indicator:
|
||||
!needIndicator || tabs.length == 1 ? const BoxDecoration() : null,
|
||||
padding: EdgeInsets.zero,
|
||||
controller: videoDetailController.tabCtr,
|
||||
labelStyle:
|
||||
@@ -1488,9 +1487,9 @@ class _VideoDetailPageVState extends State<VideoDetailPageV>
|
||||
}
|
||||
}
|
||||
|
||||
if (needIndicator.not || tabs.length == 1) {
|
||||
if (!needIndicator || tabs.length == 1) {
|
||||
animToTop();
|
||||
} else if (videoDetailController.tabCtr.indexIsChanging.not) {
|
||||
} else if (!videoDetailController.tabCtr.indexIsChanging) {
|
||||
animToTop();
|
||||
}
|
||||
},
|
||||
@@ -1759,10 +1758,9 @@ class _VideoDetailPageVState extends State<VideoDetailPageV>
|
||||
body: CustomScrollView(
|
||||
key: const PageStorageKey<String>('简介'),
|
||||
controller: needCtr ? _introController : null,
|
||||
physics: needCtr.not
|
||||
physics: !needCtr
|
||||
? const AlwaysScrollableScrollPhysics(
|
||||
parent: ClampingScrollPhysics(),
|
||||
)
|
||||
parent: ClampingScrollPhysics())
|
||||
: null,
|
||||
slivers: [
|
||||
if (videoDetailController.videoType == SearchType.video) ...[
|
||||
@@ -2155,7 +2153,7 @@ class _VideoDetailPageVState extends State<VideoDetailPageV>
|
||||
..isReversed = !item.isReversed
|
||||
..episodes = item.episodes!.reversed.toList();
|
||||
|
||||
if (videoDetailController.plPlayerController.reverseFromFirst.not) {
|
||||
if (!videoDetailController.plPlayerController.reverseFromFirst) {
|
||||
// keep current episode
|
||||
videoDetailController
|
||||
..seasonIndex.refresh()
|
||||
@@ -2179,7 +2177,7 @@ class _VideoDetailPageVState extends State<VideoDetailPageV>
|
||||
item
|
||||
..isPageReversed = !item.isPageReversed
|
||||
..pages = item.pages!.reversed.toList();
|
||||
if (videoDetailController.plPlayerController.reverseFromFirst.not) {
|
||||
if (!videoDetailController.plPlayerController.reverseFromFirst) {
|
||||
// keep current episode
|
||||
videoDetailController.cid.refresh();
|
||||
} else {
|
||||
|
||||
Reference in New Issue
Block a user