From 4ab7d1d12d81ab65a0960397336f5687d257bfd4 Mon Sep 17 00:00:00 2001 From: Pete Walters Date: Thu, 21 May 2026 13:20:56 -0500 Subject: [PATCH] Fix layout of downloaded looping media --- .../MediaItemViewController.swift | 46 ++++++++++--------- 1 file changed, 25 insertions(+), 21 deletions(-) diff --git a/Signal/src/ViewControllers/MediaGallery/MediaItemViewController.swift b/Signal/src/ViewControllers/MediaGallery/MediaItemViewController.swift index acdb454815..5939e26190 100644 --- a/Signal/src/ViewControllers/MediaGallery/MediaItemViewController.swift +++ b/Signal/src/ViewControllers/MediaGallery/MediaItemViewController.swift @@ -120,6 +120,7 @@ class MediaItemViewController: OWSViewController, VideoPlaybackStatusProvider { playVideo() hasAutoPlayedVideo = true } + layoutMediaView() } } @@ -264,27 +265,7 @@ class MediaItemViewController: OWSViewController, VideoPlaybackStatusProvider { return videoPlayerView } - // MARK: - UIViewController - - override func viewDidLoad() { - super.viewDidLoad() - - view.backgroundColor = .clear - - configureMediaView() - - view.addSubview(scrollView) - scrollView.autoPinEdgesToSuperviewEdges() - - // Video Playback controls - if isVideo { - configureVideoPlaybackControls() - } - } - - override func viewWillAppear(_ animated: Bool) { - super.viewWillAppear(animated) - + private func layoutMediaView() { // HACK: Setting the frame to itself *seems* like it should be a no-op, but // it ensures the content is drawn at the right frame. In particular I was // reproducibly seeing some images squished (they were EXIF rotated, maybe @@ -342,6 +323,29 @@ class MediaItemViewController: OWSViewController, VideoPlaybackStatusProvider { } } + // MARK: - UIViewController + + override func viewDidLoad() { + super.viewDidLoad() + + view.backgroundColor = .clear + + configureMediaView() + + view.addSubview(scrollView) + scrollView.autoPinEdgesToSuperviewEdges() + + // Video Playback controls + if isVideo { + configureVideoPlaybackControls() + } + } + + override func viewWillAppear(_ animated: Bool) { + super.viewWillAppear(animated) + layoutMediaView() + } + override func viewDidAppear(_ animated: Bool) { super.viewDidAppear(animated)