Remove support for previewing local images
(it was unused)
This commit is contained in:
parent
4014fb41f1
commit
e8e15f3a0e
|
@ -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)
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -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
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -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
|
||||
}(),
|
||||
|
|
|
@ -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)
|
||||
|
|
Loading…
Reference in New Issue