mirror of
https://github.com/HChaZZY/PiliPlus.git
synced 2025-12-06 09:13:48 +08:00
@@ -145,6 +145,8 @@ class VideoDetailController extends GetxController
|
||||
max(max(Get.height, Get.width) * 0.65, min(Get.height, Get.width));
|
||||
late double videoHeight = minVideoHeight;
|
||||
|
||||
bool? backToHome;
|
||||
|
||||
void setVideoHeight() {
|
||||
String direction = firstVideo.width != null && firstVideo.height != null
|
||||
? firstVideo.width! > firstVideo.height!
|
||||
|
||||
@@ -130,7 +130,7 @@ class _VideoDetailPageState extends State<VideoDetailPage>
|
||||
_listenerDetail = videoIntroController.videoDetail.listen((value) {
|
||||
if (!context.mounted) return;
|
||||
videoPlayerServiceHandler.onVideoDetailChange(
|
||||
value, videoDetailController.cid.value);
|
||||
value, videoDetailController.cid.value, heroTag);
|
||||
});
|
||||
if (videoDetailController.videoType == SearchType.media_bangumi) {
|
||||
bangumiIntroController = Get.put(BangumiIntroController(), tag: heroTag);
|
||||
@@ -139,18 +139,16 @@ class _VideoDetailPageState extends State<VideoDetailPage>
|
||||
if (!context.mounted) return;
|
||||
if (value is Success) {
|
||||
videoPlayerServiceHandler.onVideoDetailChange(
|
||||
value.response,
|
||||
videoDetailController.cid.value,
|
||||
);
|
||||
value.response, videoDetailController.cid.value, heroTag);
|
||||
}
|
||||
});
|
||||
_listenerCid = videoDetailController.cid.listen((p0) {
|
||||
if (!context.mounted) return;
|
||||
if (bangumiIntroController.loadingState.value is Success) {
|
||||
videoPlayerServiceHandler.onVideoDetailChange(
|
||||
(bangumiIntroController.loadingState.value as Success).response,
|
||||
p0,
|
||||
);
|
||||
(bangumiIntroController.loadingState.value as Success).response,
|
||||
p0,
|
||||
heroTag);
|
||||
}
|
||||
});
|
||||
}
|
||||
@@ -371,6 +369,9 @@ class _VideoDetailPageState extends State<VideoDetailPage>
|
||||
}
|
||||
shutdownTimerService.handleWaitingFinished();
|
||||
// _bufferedListener?.cancel();
|
||||
if (videoDetailController.backToHome != true) {
|
||||
videoPlayerServiceHandler.onVideoDetailDispose(heroTag);
|
||||
}
|
||||
if (plPlayerController != null) {
|
||||
videoDetailController.makeHeartBeat();
|
||||
plPlayerController!.removeStatusLister(playerListener);
|
||||
@@ -379,7 +380,6 @@ class _VideoDetailPageState extends State<VideoDetailPage>
|
||||
} else {
|
||||
PlPlayerController.updatePlayCount();
|
||||
}
|
||||
videoPlayerServiceHandler.onVideoDetailDispose();
|
||||
VideoDetailPage.routeObserver.unsubscribe(this);
|
||||
// _lifecycleListener.dispose();
|
||||
showStatusBar();
|
||||
@@ -1068,6 +1068,7 @@ class _VideoDetailPageState extends State<VideoDetailPage>
|
||||
],
|
||||
),
|
||||
onPressed: () {
|
||||
videoDetailController.backToHome = true;
|
||||
Get.until((route) => route.isFirst);
|
||||
},
|
||||
),
|
||||
|
||||
@@ -135,7 +135,7 @@ class _VideoDetailPageVState extends State<VideoDetailPageV>
|
||||
_listenerDetail = videoIntroController.videoDetail.listen((value) {
|
||||
if (!context.mounted) return;
|
||||
videoPlayerServiceHandler.onVideoDetailChange(
|
||||
value, videoDetailController.cid.value);
|
||||
value, videoDetailController.cid.value, heroTag);
|
||||
});
|
||||
if (videoDetailController.videoType == SearchType.media_bangumi) {
|
||||
bangumiIntroController = Get.put(BangumiIntroController(), tag: heroTag);
|
||||
@@ -144,18 +144,16 @@ class _VideoDetailPageVState extends State<VideoDetailPageV>
|
||||
if (!context.mounted) return;
|
||||
if (value is Success) {
|
||||
videoPlayerServiceHandler.onVideoDetailChange(
|
||||
value.response,
|
||||
videoDetailController.cid.value,
|
||||
);
|
||||
value.response, videoDetailController.cid.value, heroTag);
|
||||
}
|
||||
});
|
||||
_listenerCid = videoDetailController.cid.listen((p0) {
|
||||
if (!context.mounted) return;
|
||||
if (bangumiIntroController.loadingState.value is Success) {
|
||||
videoPlayerServiceHandler.onVideoDetailChange(
|
||||
(bangumiIntroController.loadingState.value as Success).response,
|
||||
p0,
|
||||
);
|
||||
(bangumiIntroController.loadingState.value as Success).response,
|
||||
p0,
|
||||
heroTag);
|
||||
}
|
||||
});
|
||||
}
|
||||
@@ -410,6 +408,9 @@ class _VideoDetailPageVState extends State<VideoDetailPageV>
|
||||
}
|
||||
shutdownTimerService.handleWaitingFinished();
|
||||
// _bufferedListener?.cancel();
|
||||
if (videoDetailController.backToHome != true) {
|
||||
videoPlayerServiceHandler.onVideoDetailDispose(heroTag);
|
||||
}
|
||||
if (plPlayerController != null) {
|
||||
videoDetailController.makeHeartBeat();
|
||||
plPlayerController!.removeStatusLister(playerListener);
|
||||
@@ -418,7 +419,6 @@ class _VideoDetailPageVState extends State<VideoDetailPageV>
|
||||
} else {
|
||||
PlPlayerController.updatePlayCount();
|
||||
}
|
||||
videoPlayerServiceHandler.onVideoDetailDispose();
|
||||
VideoDetailPageV.routeObserver.unsubscribe(this);
|
||||
// _lifecycleListener.dispose();
|
||||
showStatusBar();
|
||||
@@ -815,6 +815,8 @@ class _VideoDetailPageVState extends State<VideoDetailPageV>
|
||||
.onSurface,
|
||||
),
|
||||
onPressed: () {
|
||||
videoDetailController
|
||||
.backToHome = true;
|
||||
Get.until((route) =>
|
||||
route.isFirst);
|
||||
},
|
||||
@@ -1359,6 +1361,7 @@ class _VideoDetailPageVState extends State<VideoDetailPageV>
|
||||
],
|
||||
),
|
||||
onPressed: () {
|
||||
videoDetailController.backToHome = true;
|
||||
Get.until((route) => route.isFirst);
|
||||
},
|
||||
),
|
||||
|
||||
@@ -1809,6 +1809,7 @@ class _HeaderControlState extends State<HeaderControl> {
|
||||
color: Colors.white,
|
||||
),
|
||||
onPressed: () {
|
||||
widget.videoDetailCtr.backToHome = true;
|
||||
Get.until((route) => route.isFirst);
|
||||
},
|
||||
),
|
||||
|
||||
Reference in New Issue
Block a user