From d97a830128b23264e084ff8cf5e511301c6963dc Mon Sep 17 00:00:00 2001 From: taimountain Date: Sat, 6 Sep 2025 17:22:01 +0800 Subject: [PATCH] =?UTF-8?q?=E4=B8=8E=E5=9B=BE=E5=BA=93=E4=B8=80=E8=B5=B7?= =?UTF-8?q?=E4=BF=AE=E6=94=B9=E6=95=88=E6=9E=9C=E5=88=87=E6=8D=A2=E9=97=AE?= =?UTF-8?q?=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: taimountain --- component_ext/movingphoto/movingphoto_pattern.cpp | 8 ++++++++ component_ext/movingphoto/movingphoto_pattern.h | 1 + 2 files changed, 9 insertions(+) diff --git a/component_ext/movingphoto/movingphoto_pattern.cpp b/component_ext/movingphoto/movingphoto_pattern.cpp index 26b6ac7c38c..3236dc4ed6c 100644 --- a/component_ext/movingphoto/movingphoto_pattern.cpp +++ b/component_ext/movingphoto/movingphoto_pattern.cpp @@ -1501,6 +1501,13 @@ void MovingPhotoPattern::PreparedToPlay() if (!isVisible_) { return; } + if (isRepeatChangePlayMode_ && historyAutoAndRepeatLevel_ == PlaybackMode::NONE && + + autoAndRepeatLevel_ == PlaybackMode::NONE) { + autoAndRepeatLevel_ = PlaybackMode::REPEAT; + historyAutoAndRepeatLevel_ = PlaybackMode::REPEAT; + isRepeatChangePlayMode_ = false; + } if (historyAutoAndRepeatLevel_ != PlaybackMode::NONE && autoAndRepeatLevel_ == PlaybackMode::NONE) { SelectPlaybackMode(historyAutoAndRepeatLevel_); @@ -1809,6 +1816,7 @@ void MovingPhotoPattern::RefreshMovingPhotoSceneManager() if (historyAutoAndRepeatLevel_ == PlaybackMode::REPEAT) { autoAndRepeatLevel_ = PlaybackMode::NONE; historyAutoAndRepeatLevel_ = PlaybackMode::NONE; + isRepeatChangePlayMode_ = true; Pause(); auto movingPhoto = AceType::DynamicCast(host); CHECK_NULL_VOID(movingPhoto); diff --git a/component_ext/movingphoto/movingphoto_pattern.h b/component_ext/movingphoto/movingphoto_pattern.h index f1f98292070..940ee5ee662 100644 --- a/component_ext/movingphoto/movingphoto_pattern.h +++ b/component_ext/movingphoto/movingphoto_pattern.h @@ -333,6 +333,7 @@ private: bool isSetAutoPlayPeriod_ = false; bool isVisible_ = false; bool isChangePlayMode_ = false; + bool isRepeatChangePlayMode_ = false; bool isAutoChangePlayMode_ = false; bool needUpdateImageNode_ = false; bool isPlayWithMask_ = false; -- Gitee