Remove support for previewing local images

(it was unused)
This commit is contained in:
Jed Fox 2022-11-26 09:38:14 -05:00
parent 4014fb41f1
commit e8e15f3a0e
No known key found for this signature in database
GPG Key ID: 0B61D18EA54B47E1
4 changed files with 28 additions and 73 deletions

View File

@ -68,30 +68,21 @@ extension MediaPreviewImageViewController {
let previewImageViewContextMenuInteraction = UIContextMenuInteraction(delegate: self)
previewImageView.addInteraction(previewImageViewContextMenuInteraction)
switch viewModel.item {
case .remote(let imageContext):
previewImageView.imageView.accessibilityLabel = imageContext.altText
if let thumbnail = imageContext.thumbnail {
previewImageView.imageView.image = thumbnail
previewImageView.setup(image: thumbnail, container: self.previewImageView, forceUpdate: true)
}
previewImageView.imageView.setImage(
url: imageContext.assetURL,
placeholder: imageContext.thumbnail,
scaleToSize: nil
) { [weak self] image in
guard let self = self else { return }
guard let image = image else { return }
self.previewImageView.setup(image: image, container: self.previewImageView, forceUpdate: true)
}
case .local(let imageContext):
let image = imageContext.image
previewImageView.imageView.image = image
previewImageView.setup(image: image, container: previewImageView, forceUpdate: true)
previewImageView.imageView.accessibilityLabel = viewModel.item.altText
if let thumbnail = viewModel.item.thumbnail {
previewImageView.imageView.image = thumbnail
previewImageView.setup(image: thumbnail, container: self.previewImageView, forceUpdate: true)
}
previewImageView.imageView.setImage(
url: viewModel.item.assetURL,
placeholder: viewModel.item.thumbnail,
scaleToSize: nil
) { [weak self] image in
guard let self = self else { return }
guard let image = image else { return }
self.previewImageView.setup(image: image, container: self.previewImageView, forceUpdate: true)
}
}

View File

@ -30,19 +30,10 @@ class MediaPreviewImageViewModel {
extension MediaPreviewImageViewModel {
public enum ImagePreviewItem {
case remote(RemoteImageContext)
case local(LocalImageContext)
}
public struct RemoteImageContext {
public struct ImagePreviewItem {
let assetURL: URL?
let thumbnail: UIImage?
let altText: String?
}
public struct LocalImageContext {
let image: UIImage
}
}

View File

@ -241,19 +241,8 @@ extension MediaPreviewViewController: MediaPreviewImageViewControllerDelegate {
) {
switch action {
case .savePhoto:
let _savePublisher: AnyPublisher<Void, Error>? = {
switch viewController.viewModel.item {
case .remote(let previewContext):
guard let assetURL = previewContext.assetURL else { return nil }
return context.photoLibraryService.save(imageSource: .url(assetURL))
case .local(let previewContext):
return context.photoLibraryService.save(imageSource: .image(previewContext.image))
}
}()
guard let savePublisher = _savePublisher else {
return
}
savePublisher
guard let assetURL = viewController.viewModel.item.assetURL else { return }
context.photoLibraryService.save(imageSource: .url(assetURL))
.sink { [weak self] completion in
guard let self = self else { return }
switch completion {
@ -277,20 +266,9 @@ extension MediaPreviewViewController: MediaPreviewImageViewControllerDelegate {
}
.store(in: &context.disposeBag)
case .copyPhoto:
let _copyPublisher: AnyPublisher<Void, Error>? = {
switch viewController.viewModel.item {
case .remote(let previewContext):
guard let assetURL = previewContext.assetURL else { return nil }
return context.photoLibraryService.copy(imageSource: .url(assetURL))
case .local(let previewContext):
return context.photoLibraryService.copy(imageSource: .image(previewContext.image))
}
}()
guard let copyPublisher = _copyPublisher else {
return
}
guard let assetURL = viewController.viewModel.item.assetURL else { return }
copyPublisher
context.photoLibraryService.copy(imageSource: .url(assetURL))
.sink { completion in
switch completion {
case .failure(let error):
@ -309,13 +287,8 @@ extension MediaPreviewViewController: MediaPreviewImageViewControllerDelegate {
let activityViewController = UIActivityViewController(
activityItems: {
var activityItems: [Any] = []
switch viewController.viewModel.item {
case .remote(let previewContext):
if let assetURL = previewContext.assetURL {
activityItems.append(assetURL)
}
case .local(let previewContext):
activityItems.append(previewContext.image)
if let assetURL = viewController.viewModel.item.assetURL {
activityItems.append(assetURL)
}
return activityItems
}(),

View File

@ -51,11 +51,11 @@ final class MediaPreviewViewModel: NSObject {
let viewController = MediaPreviewImageViewController()
let viewModel = MediaPreviewImageViewModel(
context: context,
item: .remote(.init(
item: .init(
assetURL: attachment.assetURL.flatMap { URL(string: $0) },
thumbnail: previewContext.thumbnail(at: i),
altText: attachment.altDescription
))
)
)
viewController.viewModel = viewModel
viewControllers.append(viewController)
@ -87,11 +87,11 @@ final class MediaPreviewViewModel: NSObject {
let viewController = MediaPreviewImageViewController()
let viewModel = MediaPreviewImageViewModel(
context: context,
item: .remote(.init(
item: .init(
assetURL: previewContext.assetURL.flatMap { URL(string: $0) },
thumbnail: previewContext.thumbnail,
altText: nil
))
)
)
viewController.viewModel = viewModel
viewControllers.append(viewController)
@ -99,11 +99,11 @@ final class MediaPreviewViewModel: NSObject {
let viewController = MediaPreviewImageViewController()
let viewModel = MediaPreviewImageViewModel(
context: context,
item: .remote(.init(
item: .init(
assetURL: previewContext.assetURL.flatMap { URL(string: $0) },
thumbnail: previewContext.thumbnail,
altText: nil
))
)
)
viewController.viewModel = viewModel
viewControllers.append(viewController)