mirror of
https://github.com/Novaloop-AG/element-x-ios.git
synced 2026-11-03 16:10:20 +00:00
Address the real lifetime issue of the SDK's Client by making Context.mediaProvider weak. (#4466)
This reverts commit 927aea4bfe.
This commit is contained in:
@@ -135,9 +135,12 @@ private struct MediaPreviewViewController: UIViewControllerRepresentable {
|
||||
// MARK: - Previews
|
||||
|
||||
struct TimelineMediaPreviewModifier_Previews: PreviewProvider {
|
||||
static let viewModel = makeViewModel()
|
||||
static let downloadingViewModel = makeViewModel(isDownloading: true)
|
||||
static let downloadErrorViewModel = makeViewModel(isDownloadError: true)
|
||||
static let viewModel = makeViewModel(mediaProvider: mediaProvider)
|
||||
static let mediaProvider = MediaProviderMock(.init())
|
||||
static let downloadingViewModel = makeViewModel(isDownloading: true, mediaProvider: downloadingMediaProvider)
|
||||
static let downloadingMediaProvider = MediaProviderMock(.init())
|
||||
static let downloadErrorViewModel = makeViewModel(isDownloadError: true, mediaProvider: downloadErrorMediaProvider)
|
||||
static let downloadErrorMediaProvider = MediaProviderMock(.init())
|
||||
|
||||
static var previews: some View {
|
||||
MediaPreviewViewController(viewModel: viewModel, dismissalPublisher: .init()) { }
|
||||
@@ -148,7 +151,7 @@ struct TimelineMediaPreviewModifier_Previews: PreviewProvider {
|
||||
.previewDisplayName("Download Error")
|
||||
}
|
||||
|
||||
static func makeViewModel(isDownloading: Bool = false, isDownloadError: Bool = false) -> TimelineMediaPreviewViewModel {
|
||||
static func makeViewModel(isDownloading: Bool = false, isDownloadError: Bool = false, mediaProvider: MediaProviderMock) -> TimelineMediaPreviewViewModel {
|
||||
let item = FileRoomTimelineItem(id: .randomEvent,
|
||||
timestamp: .mock,
|
||||
isOutgoing: false,
|
||||
@@ -165,8 +168,6 @@ struct TimelineMediaPreviewModifier_Previews: PreviewProvider {
|
||||
let timelineController = MockTimelineController(timelineKind: .media(.mediaFilesScreen))
|
||||
timelineController.timelineItems = [item]
|
||||
|
||||
let mediaProvider = MediaProviderMock(configuration: .init())
|
||||
|
||||
if isDownloading {
|
||||
mediaProvider.loadFileFromSourceFilenameClosure = { _, _ in
|
||||
try? await Task.sleep(for: .seconds(3600))
|
||||
|
||||
Reference in New Issue
Block a user