diff --git a/ios/SpectrumKit/SpectrumKitInstrumentationTestsHelpers/Data+SpectrumTests.swift b/ios/SpectrumKit/SpectrumKitInstrumentationTestsHelpers/Data+SpectrumTests.swift index 0dcd4335..5c8ea54d 100644 --- a/ios/SpectrumKit/SpectrumKitInstrumentationTestsHelpers/Data+SpectrumTests.swift +++ b/ios/SpectrumKit/SpectrumKitInstrumentationTestsHelpers/Data+SpectrumTests.swift @@ -8,9 +8,9 @@ import Foundation public extension Data { public var imageFormat: ImageFormat? { switch self.first { - case 0xFF?: + case 0xFF: return EncodedImageFormat.jpeg - case 0x89?: + case 0x89: return EncodedImageFormat.png default: return nil diff --git a/ios/SpectrumKit/SpectrumKitInstrumentationTestsHelpers/XCTestCase+SpectrumTests.swift b/ios/SpectrumKit/SpectrumKitInstrumentationTestsHelpers/XCTestCase+SpectrumTests.swift index 929ab353..94d9a58b 100644 --- a/ios/SpectrumKit/SpectrumKitInstrumentationTestsHelpers/XCTestCase+SpectrumTests.swift +++ b/ios/SpectrumKit/SpectrumKitInstrumentationTestsHelpers/XCTestCase+SpectrumTests.swift @@ -132,8 +132,8 @@ public extension XCTestCase { let transformations = options.transformations if transformations.resizeRequirement == nil && transformations.cropRequirement == nil && - options.encodeRequirement?.mode != .lossy && transformations.rotateRequirement == nil && - options.outputImageFormat == fromImageData.imageFormat { + options.encodeRequirement?.mode != .lossy && transformations.rotateRequirement == nil && + options.outputImageFormat == fromImageData.imageFormat { XCTAssertEqual(fromImageData, toImageData) } else { XCTAssertNotEqual(fromImageData, toImageData) diff --git a/ios/SpectrumKitSample/SpectrumKitSample-iOS/Alerts.swift b/ios/SpectrumKitSample/SpectrumKitSample-iOS/Alerts.swift index 5475a52a..4bf502dd 100644 --- a/ios/SpectrumKitSample/SpectrumKitSample-iOS/Alerts.swift +++ b/ios/SpectrumKitSample/SpectrumKitSample-iOS/Alerts.swift @@ -162,7 +162,7 @@ struct Alerts { static let configurationGeneralDefaultBackgroundColor = AlertContent(title: NSLocalizedString("Select default background color", comment: "Configuration general background color title"), message: nil, optionsType: ConfigurationViewModel.DefaultBackgroundColor.self) - + static let configurationPngCompressionLevel = AlertContent(title: NSLocalizedString("Select PNG compression level", comment: "Configuration PNG compression level"), message: nil, optionsType: ConfigurationViewModel.CompressionLevel.self) diff --git a/ios/SpectrumKitSample/SpectrumKitSample-iOS/ConfigurationViewController.swift b/ios/SpectrumKitSample/SpectrumKitSample-iOS/ConfigurationViewController.swift index 89e42a5b..b65a5e78 100644 --- a/ios/SpectrumKitSample/SpectrumKitSample-iOS/ConfigurationViewController.swift +++ b/ios/SpectrumKitSample/SpectrumKitSample-iOS/ConfigurationViewController.swift @@ -110,7 +110,7 @@ final class ConfigurationViewController: UIViewController, ConfigurationViewMode self.jpegUseOptimizeScanSwitch.isOn = viewModel.jpeg.useOptimizeScan self.jpegUseDcScanOptionSwitch.isOn = viewModel.jpeg.useCompatibleDCScanOption self.jpegUsePsnrQuantTableSwitch.isOn = viewModel.jpeg.usePSNRQuantTable - + self.pngUseInterlacingSwitch.isOn = viewModel.png.useInterlacing self.pngCompressionLevelButton.setTitle(viewModel.png.compressionLevel.title, for: .normal) diff --git a/ios/SpectrumKitSample/SpectrumKitSample-iOS/ConfigurationViewModel+Options.swift b/ios/SpectrumKitSample/SpectrumKitSample-iOS/ConfigurationViewModel+Options.swift index 8f0563f8..cd17a765 100644 --- a/ios/SpectrumKitSample/SpectrumKitSample-iOS/ConfigurationViewModel+Options.swift +++ b/ios/SpectrumKitSample/SpectrumKitSample-iOS/ConfigurationViewModel+Options.swift @@ -88,13 +88,13 @@ extension ConfigurationViewModel { static var allValues: [DefaultBackgroundColor] = [.black, .white, .blue, .red, .green] } - + enum CompressionLevel: Int, AlertOptions { case `default` case none case bestSpeed case bestCompression - + var rawValue: Int { switch self { case .default: @@ -107,7 +107,7 @@ extension ConfigurationViewModel { return PngCompressionLevelBestCompression } } - + init?(rawValue: Int) { switch rawValue { case PngCompressionLevelNone: @@ -120,12 +120,12 @@ extension ConfigurationViewModel { self = .default } } - + // MARK: AlertOptions - + var title: String { let title: String - + switch self { case .default: return NSLocalizedString("Default", comment: "Png default compression level") @@ -136,17 +136,16 @@ extension ConfigurationViewModel { case .bestCompression: title = NSLocalizedString("Best compression", comment: "Png best compression level") } - + let formatString = NSLocalizedString("%@ (%d)", comment: "Png compression level format String") return String(format: formatString, title, rawValue) } - + var isAvailable: Bool { return true } - + static var allValues: [CompressionLevel] = [.default, .none, .bestSpeed, .bestCompression] - } enum WebpMethod: Int, AlertOptions { diff --git a/ios/SpectrumKitSample/SpectrumKitSample-iOS/ConfigurationViewModel.swift b/ios/SpectrumKitSample/SpectrumKitSample-iOS/ConfigurationViewModel.swift index 7bf938a0..9fa4ba5d 100644 --- a/ios/SpectrumKitSample/SpectrumKitSample-iOS/ConfigurationViewModel.swift +++ b/ios/SpectrumKitSample/SpectrumKitSample-iOS/ConfigurationViewModel.swift @@ -5,11 +5,11 @@ import Foundation -protocol ConfigurationViewModelDelegate: class { +protocol ConfigurationViewModelDelegate: AnyObject { func viewModelDidUpdate(_ viewModel: ConfigurationViewModel) } -protocol ConfigurationViewModelInternalDelegate: class { +protocol ConfigurationViewModelInternalDelegate: AnyObject { func internalViewModelDidUpdate(_ viewModel: Any) } @@ -132,7 +132,7 @@ final class ConfigurationViewModel: ConfigurationViewModelInternalDelegate { self.delegate?.internalViewModelDidUpdate(self) } } - + var compressionLevel: CompressionLevel { get { return CompressionLevel(rawValue: self.configuration.compressionLevel)! } set { diff --git a/ios/SpectrumKitSample/SpectrumKitSample-iOS/ImageDifferenceViewController.swift b/ios/SpectrumKitSample/SpectrumKitSample-iOS/ImageDifferenceViewController.swift index d2a5662f..3e1edd39 100644 --- a/ios/SpectrumKitSample/SpectrumKitSample-iOS/ImageDifferenceViewController.swift +++ b/ios/SpectrumKitSample/SpectrumKitSample-iOS/ImageDifferenceViewController.swift @@ -5,7 +5,7 @@ import UIKit -protocol ImageDifferenceViewControllerDelegate: class { +protocol ImageDifferenceViewControllerDelegate: AnyObject { func imageDifferenceViewControllerDidTapCloseButton(_ imageDifferenceViewController: ImageDifferenceViewController) } diff --git a/ios/SpectrumKitSample/SpectrumKitSample-iOS/ImageDifferenceViewModel.swift b/ios/SpectrumKitSample/SpectrumKitSample-iOS/ImageDifferenceViewModel.swift index f04850b5..da8eceed 100644 --- a/ios/SpectrumKitSample/SpectrumKitSample-iOS/ImageDifferenceViewModel.swift +++ b/ios/SpectrumKitSample/SpectrumKitSample-iOS/ImageDifferenceViewModel.swift @@ -6,7 +6,7 @@ import Foundation import UIKit.UIImage -protocol ImageDifferenceViewModelDelegate: class { +protocol ImageDifferenceViewModelDelegate: AnyObject { func imageDifferenceViewModelDidChange(_ viewModel: ImageDifferenceViewModel) } diff --git a/ios/SpectrumKitSample/SpectrumKitSample-iOS/ImagePickerCoordinator.swift b/ios/SpectrumKitSample/SpectrumKitSample-iOS/ImagePickerCoordinator.swift index 9518fa4e..f96f1562 100644 --- a/ios/SpectrumKitSample/SpectrumKitSample-iOS/ImagePickerCoordinator.swift +++ b/ios/SpectrumKitSample/SpectrumKitSample-iOS/ImagePickerCoordinator.swift @@ -5,7 +5,7 @@ import UIKit -protocol ImagePickerCoordinatorDelegate: class { +protocol ImagePickerCoordinatorDelegate: AnyObject { func imagePickerCoordinator(_ imagePickerCoordinator: ImagePickerCoordinator, didPickMedia source: ImageSource) func imagePickerCoordinator(_ imagePickerCoordinator: ImagePickerCoordinator, didFailToPickImageWith error: Swift.Error) } diff --git a/ios/SpectrumKitSample/SpectrumKitSample-iOS/PickerButton.swift b/ios/SpectrumKitSample/SpectrumKitSample-iOS/PickerButton.swift index 9b2ae566..85e38830 100644 --- a/ios/SpectrumKitSample/SpectrumKitSample-iOS/PickerButton.swift +++ b/ios/SpectrumKitSample/SpectrumKitSample-iOS/PickerButton.swift @@ -5,7 +5,7 @@ import UIKit -protocol PickerButtonDelegate: class { +protocol PickerButtonDelegate: AnyObject { func pickerButton(_ pickerButton: UIButton, didPick option: Int) } diff --git a/ios/SpectrumKitSample/SpectrumKitSample-iOS/SpectrumViewController.swift b/ios/SpectrumKitSample/SpectrumKitSample-iOS/SpectrumViewController.swift index 282d26a7..1cfc6fd6 100644 --- a/ios/SpectrumKitSample/SpectrumKitSample-iOS/SpectrumViewController.swift +++ b/ios/SpectrumKitSample/SpectrumKitSample-iOS/SpectrumViewController.swift @@ -69,7 +69,7 @@ final class SprectrumViewController: UIViewController, SpectrumViewModelDelegate super.prepare(for: segue, sender: sender) switch segue.identifier.flatMap(Segue.init(rawValue:)) { - case .showImageDifference?: + case .showImageDifference: guard let viewController = segue.destination as? ImageDifferenceViewController, let viewModel = sender as? ImageDifferenceViewModel @@ -80,7 +80,7 @@ final class SprectrumViewController: UIViewController, SpectrumViewModelDelegate viewController.viewModel = viewModel viewController.delegate = self - case .showConfiguration?: + case .showConfiguration: guard let viewController = segue.destination as? ConfigurationViewController else { fatalError("Unexpected viewController for: \(String(describing: segue.identifier))") } diff --git a/ios/SpectrumKitSample/SpectrumKitSample-iOS/SpectrumViewModel.swift b/ios/SpectrumKitSample/SpectrumKitSample-iOS/SpectrumViewModel.swift index c1ad9cce..299d2387 100644 --- a/ios/SpectrumKitSample/SpectrumKitSample-iOS/SpectrumViewModel.swift +++ b/ios/SpectrumKitSample/SpectrumKitSample-iOS/SpectrumViewModel.swift @@ -6,7 +6,7 @@ import Photos import UIKit.UIImage -protocol SpectrumViewModelDelegate: class { +protocol SpectrumViewModelDelegate: AnyObject { func viewModelDidUpdate(_ viewModel: SpectrumViewModel) func viewModel(_ viewModel: SpectrumViewModel, didFailTranscodingWith error: Swift.Error) func viewModelDidFinishTranscoding(_ viewModel: SpectrumViewModel) @@ -149,17 +149,17 @@ final class SpectrumViewModel: NSObject { inputType: self.inputType, outputType: self.outputType, completion: { [weak self] result in - guard let strongSelf = self else { return } - strongSelf.isTranscoding = false + guard let strongSelf = self else { return } + strongSelf.isTranscoding = false - switch result { - case let .success(imageRepresentation): - strongSelf.transcodedImageRepresentation = imageRepresentation - strongSelf.delegate?.viewModelDidFinishTranscoding(strongSelf) - case let .error(error): - strongSelf.delegate?.viewModel(strongSelf, didFailTranscodingWith: error) - } - }) + switch result { + case let .success(imageRepresentation): + strongSelf.transcodedImageRepresentation = imageRepresentation + strongSelf.delegate?.viewModelDidFinishTranscoding(strongSelf) + case let .error(error): + strongSelf.delegate?.viewModel(strongSelf, didFailTranscodingWith: error) + } + }) } func makeConfigurationViewModel() -> ConfigurationViewModel { @@ -172,7 +172,7 @@ final class SpectrumViewModel: NSObject { return try ImageDifferenceViewModel(sourceImage: self.source.image, transcodedImageData: data, imageFormat: self.outputFormat) - case .bitmap(_)?, nil: + case .bitmap, nil: throw Error.unsupportedBitmapOutput } }