From 569e4761d9f6b4680216ee2cbd8763467b19ce7a Mon Sep 17 00:00:00 2001 From: Stefan Ceriu Date: Fri, 31 Mar 2023 16:44:28 +0300 Subject: [PATCH] Various tweaks following code review --- .../Sources/Application/AppSettings.swift | 6 ++-- .../Mocks/Generated/GeneratedMocks.swift | 28 +++++++++--------- .../Other/Extensions/FileManager.swift | 4 +-- .../DeveloperOptionsScreenCoordinator.swift | 2 +- .../DeveloperOptionsScreenModels.swift | 6 ++-- .../DeveloperOptionsScreenViewModel.swift | 8 ++--- ...een.swift => DeveloperOptionsScreen.swift} | 12 ++++---- .../Screens/HomeScreen/HomeScreenModels.swift | 4 +-- .../Screens/HomeScreen/View/HomeScreen.swift | 2 +- .../Screens/MediaPicker/CameraPicker.swift | 29 +++++++++++-------- .../Screens/MediaPicker/DocumentPicker.swift | 19 +++++++----- .../MediaPicker/PhotoLibraryPicker.swift | 18 ++++++------ .../MediaPickerPreviewScreenCoordinator.swift | 2 +- ...n.swift => MediaPickerPreviewScreen.swift} | 4 +-- .../Sources/Services/Room/RoomProxy.swift | 4 +-- .../Services/Room/RoomProxyProtocol.swift | 2 +- ...ft => DeveloperOptionsScreenUITests.swift} | 2 +- ... => MediaPickerPreviewScreenUITests.swift} | 2 +- ...diaPickerPreviewScreenViewModelTests.swift | 2 +- 19 files changed, 82 insertions(+), 74 deletions(-) rename ElementX/Sources/Screens/DeveloperOptionsScreen/View/{DeveloperOptionsScreenScreen.swift => DeveloperOptionsScreen.swift} (87%) rename ElementX/Sources/Screens/MediaPickerPreviewScreen/View/{MediaPickerPreviewScreenScreen.swift => MediaPickerPreviewScreen.swift} (96%) rename UITests/Sources/{DeveloperOptionsScreenScreenUITests.swift => DeveloperOptionsScreenUITests.swift} (91%) rename UITests/Sources/{MediaPickerPreviewScreenScreenUITests.swift => MediaPickerPreviewScreenUITests.swift} (91%) diff --git a/ElementX/Sources/Application/AppSettings.swift b/ElementX/Sources/Application/AppSettings.swift index 203277f26..6ec02f2ce 100644 --- a/ElementX/Sources/Application/AppSettings.swift +++ b/ElementX/Sources/Application/AppSettings.swift @@ -27,7 +27,7 @@ final class AppSettings: ObservableObject { case enableInAppNotifications case pusherProfileTag case shouldCollapseRoomStateEvents - case showStartChatFlow + case startChatFlowEnabled = "showStartChatFlow" case mediaUploadingFlowEnabled } @@ -161,8 +161,8 @@ final class AppSettings: ObservableObject { // MARK: Start Chat - @UserSetting(key: UserDefaultsKeys.showStartChatFlow.rawValue, defaultValue: false, persistIn: store) - var startChatFlowFeatureFlag + @UserSetting(key: UserDefaultsKeys.startChatFlowEnabled.rawValue, defaultValue: false, persistIn: store) + var startChatFlowEnabled // MARK: Media Uploading diff --git a/ElementX/Sources/Mocks/Generated/GeneratedMocks.swift b/ElementX/Sources/Mocks/Generated/GeneratedMocks.swift index 3f64e102e..873ca684d 100644 --- a/ElementX/Sources/Mocks/Generated/GeneratedMocks.swift +++ b/ElementX/Sources/Mocks/Generated/GeneratedMocks.swift @@ -328,23 +328,23 @@ class RoomProxyMock: RoomProxyProtocol { } //MARK: - sendImage - var sendImageBodyUrlCallsCount = 0 - var sendImageBodyUrlCalled: Bool { - return sendImageBodyUrlCallsCount > 0 + var sendImageUrlCallsCount = 0 + var sendImageUrlCalled: Bool { + return sendImageUrlCallsCount > 0 } - var sendImageBodyUrlReceivedArguments: (body: String, url: URL)? - var sendImageBodyUrlReceivedInvocations: [(body: String, url: URL)] = [] - var sendImageBodyUrlReturnValue: Result! - var sendImageBodyUrlClosure: ((String, URL) async -> Result)? + var sendImageUrlReceivedUrl: URL? + var sendImageUrlReceivedInvocations: [URL] = [] + var sendImageUrlReturnValue: Result! + var sendImageUrlClosure: ((URL) async -> Result)? - func sendImage(body: String, url: URL) async -> Result { - sendImageBodyUrlCallsCount += 1 - sendImageBodyUrlReceivedArguments = (body: body, url: url) - sendImageBodyUrlReceivedInvocations.append((body: body, url: url)) - if let sendImageBodyUrlClosure = sendImageBodyUrlClosure { - return await sendImageBodyUrlClosure(body, url) + func sendImage(url: URL) async -> Result { + sendImageUrlCallsCount += 1 + sendImageUrlReceivedUrl = url + sendImageUrlReceivedInvocations.append(url) + if let sendImageUrlClosure = sendImageUrlClosure { + return await sendImageUrlClosure(url) } else { - return sendImageBodyUrlReturnValue + return sendImageUrlReturnValue } } //MARK: - editMessage diff --git a/ElementX/Sources/Other/Extensions/FileManager.swift b/ElementX/Sources/Other/Extensions/FileManager.swift index f114827dd..5a278a089 100644 --- a/ElementX/Sources/Other/Extensions/FileManager.swift +++ b/ElementX/Sources/Other/Extensions/FileManager.swift @@ -32,7 +32,7 @@ extension FileManager { try createDirectory(at: url, withIntermediateDirectories: withIntermediateDirectories) } - func copyFileToTemporaryLocation(url: URL) throws -> URL { + func copyFileToTemporaryDirectory(url: URL) throws -> URL { let newURL = URL.temporaryDirectory.appendingPathComponent(url.lastPathComponent) try? removeItem(at: newURL) @@ -41,7 +41,7 @@ extension FileManager { return newURL } - func writeDataToTemporaryLocation(data: Data, fileName: String) throws -> URL { + func writeDataToTemporaryDirectory(data: Data, fileName: String) throws -> URL { let newURL = URL.temporaryDirectory.appendingPathComponent(fileName) try data.write(to: newURL) diff --git a/ElementX/Sources/Screens/DeveloperOptionsScreen/DeveloperOptionsScreenCoordinator.swift b/ElementX/Sources/Screens/DeveloperOptionsScreen/DeveloperOptionsScreenCoordinator.swift index 99e8002a0..c967b4e57 100644 --- a/ElementX/Sources/Screens/DeveloperOptionsScreen/DeveloperOptionsScreenCoordinator.swift +++ b/ElementX/Sources/Screens/DeveloperOptionsScreen/DeveloperOptionsScreenCoordinator.swift @@ -24,6 +24,6 @@ final class DeveloperOptionsScreenCoordinator: CoordinatorProtocol { } func toPresentable() -> AnyView { - AnyView(DeveloperOptionsScreenScreen(context: viewModel.context)) + AnyView(DeveloperOptionsScreen(context: viewModel.context)) } } diff --git a/ElementX/Sources/Screens/DeveloperOptionsScreen/DeveloperOptionsScreenModels.swift b/ElementX/Sources/Screens/DeveloperOptionsScreen/DeveloperOptionsScreenModels.swift index 1b4529357..cca32e7e8 100644 --- a/ElementX/Sources/Screens/DeveloperOptionsScreen/DeveloperOptionsScreenModels.swift +++ b/ElementX/Sources/Screens/DeveloperOptionsScreen/DeveloperOptionsScreenModels.swift @@ -24,12 +24,12 @@ struct DeveloperOptionsScreenViewState: BindableState { struct DeveloperOptionsScreenViewStateBindings { var shouldCollapseRoomStateEvents: Bool - var showStartChatFlow: Bool + var startChatFlowEnabled: Bool var mediaUploadFlowEnabled: Bool } enum DeveloperOptionsScreenViewAction { case changedShouldCollapseRoomStateEvents - case changedShowStartChatFlow - case changedShowMediaUploadFlow + case changedStartChatFlowEnabled + case changedMediaUploadFlowEnabled } diff --git a/ElementX/Sources/Screens/DeveloperOptionsScreen/DeveloperOptionsScreenViewModel.swift b/ElementX/Sources/Screens/DeveloperOptionsScreen/DeveloperOptionsScreenViewModel.swift index c320fd659..4c3d60710 100644 --- a/ElementX/Sources/Screens/DeveloperOptionsScreen/DeveloperOptionsScreenViewModel.swift +++ b/ElementX/Sources/Screens/DeveloperOptionsScreen/DeveloperOptionsScreenViewModel.swift @@ -23,7 +23,7 @@ class DeveloperOptionsScreenViewModel: DeveloperOptionsScreenViewModelType, Deve init() { let bindings = DeveloperOptionsScreenViewStateBindings(shouldCollapseRoomStateEvents: ServiceLocator.shared.settings.shouldCollapseRoomStateEvents, - showStartChatFlow: ServiceLocator.shared.settings.startChatFlowFeatureFlag, + startChatFlowEnabled: ServiceLocator.shared.settings.startChatFlowEnabled, mediaUploadFlowEnabled: ServiceLocator.shared.settings.mediaUploadingFlowEnabled) let state = DeveloperOptionsScreenViewState(bindings: bindings) @@ -38,9 +38,9 @@ class DeveloperOptionsScreenViewModel: DeveloperOptionsScreenViewModelType, Deve switch viewAction { case .changedShouldCollapseRoomStateEvents: ServiceLocator.shared.settings.shouldCollapseRoomStateEvents = state.bindings.shouldCollapseRoomStateEvents - case .changedShowStartChatFlow: - ServiceLocator.shared.settings.startChatFlowFeatureFlag = state.bindings.showStartChatFlow - case .changedShowMediaUploadFlow: + case .changedStartChatFlowEnabled: + ServiceLocator.shared.settings.startChatFlowEnabled = state.bindings.startChatFlowEnabled + case .changedMediaUploadFlowEnabled: ServiceLocator.shared.settings.mediaUploadingFlowEnabled = state.bindings.mediaUploadFlowEnabled } } diff --git a/ElementX/Sources/Screens/DeveloperOptionsScreen/View/DeveloperOptionsScreenScreen.swift b/ElementX/Sources/Screens/DeveloperOptionsScreen/View/DeveloperOptionsScreen.swift similarity index 87% rename from ElementX/Sources/Screens/DeveloperOptionsScreen/View/DeveloperOptionsScreenScreen.swift rename to ElementX/Sources/Screens/DeveloperOptionsScreen/View/DeveloperOptionsScreen.swift index ef1cc22eb..6d4dca944 100644 --- a/ElementX/Sources/Screens/DeveloperOptionsScreen/View/DeveloperOptionsScreenScreen.swift +++ b/ElementX/Sources/Screens/DeveloperOptionsScreen/View/DeveloperOptionsScreen.swift @@ -16,7 +16,7 @@ import SwiftUI -struct DeveloperOptionsScreenScreen: View { +struct DeveloperOptionsScreen: View { @ObservedObject var context: DeveloperOptionsScreenViewModel.Context @State private var showConfetti = false @@ -32,18 +32,18 @@ struct DeveloperOptionsScreenScreen: View { context.send(viewAction: .changedShouldCollapseRoomStateEvents) } - Toggle(isOn: $context.showStartChatFlow) { + Toggle(isOn: $context.startChatFlowEnabled) { Text("Show Start Chat flow") } - .onChange(of: context.showStartChatFlow) { _ in - context.send(viewAction: .changedShowStartChatFlow) + .onChange(of: context.startChatFlowEnabled) { _ in + context.send(viewAction: .changedStartChatFlowEnabled) } Toggle(isOn: $context.mediaUploadFlowEnabled) { Text("Show Media Uploading flow") } .onChange(of: context.mediaUploadFlowEnabled) { _ in - context.send(viewAction: .changedShowMediaUploadFlow) + context.send(viewAction: .changedMediaUploadFlowEnabled) } } @@ -86,6 +86,6 @@ struct DeveloperOptionsScreenScreen: View { struct DeveloperOptionsScreen_Previews: PreviewProvider { static var previews: some View { let viewModel = DeveloperOptionsScreenViewModel() - DeveloperOptionsScreenScreen(context: viewModel.context) + DeveloperOptionsScreen(context: viewModel.context) } } diff --git a/ElementX/Sources/Screens/HomeScreen/HomeScreenModels.swift b/ElementX/Sources/Screens/HomeScreen/HomeScreenModels.swift index c3f8b3f68..7eb9fd74f 100644 --- a/ElementX/Sources/Screens/HomeScreen/HomeScreenModels.swift +++ b/ElementX/Sources/Screens/HomeScreen/HomeScreenModels.swift @@ -69,8 +69,8 @@ struct HomeScreenViewState: BindableState { var roomListMode: HomeScreenRoomListMode = .skeletons - var showStartChatFlowEnabled: Bool { - ServiceLocator.shared.settings.startChatFlowFeatureFlag + var startChatFlowEnabled: Bool { + ServiceLocator.shared.settings.startChatFlowEnabled } var visibleRooms: [HomeScreenRoom] { diff --git a/ElementX/Sources/Screens/HomeScreen/View/HomeScreen.swift b/ElementX/Sources/Screens/HomeScreen/View/HomeScreen.swift index 238bc5495..16517c919 100644 --- a/ElementX/Sources/Screens/HomeScreen/View/HomeScreen.swift +++ b/ElementX/Sources/Screens/HomeScreen/View/HomeScreen.swift @@ -103,7 +103,7 @@ struct HomeScreen: View { ToolbarItem(placement: .navigationBarLeading) { userMenuButton } - if context.viewState.showStartChatFlowEnabled { + if context.viewState.startChatFlowEnabled { ToolbarItemGroup(placement: .bottomBar) { Spacer() newRoomButton diff --git a/ElementX/Sources/Screens/MediaPicker/CameraPicker.swift b/ElementX/Sources/Screens/MediaPicker/CameraPicker.swift index d451ce4f1..27fa54f86 100644 --- a/ElementX/Sources/Screens/MediaPicker/CameraPicker.swift +++ b/ElementX/Sources/Screens/MediaPicker/CameraPicker.swift @@ -15,12 +15,17 @@ // import SwiftUI -import UIKit enum CameraPickerAction { case selectFile(URL) case cancel - case error(Error?) + case error(CameraPickerError) +} + +enum CameraPickerError: Error { + case invalidJpegData + case invalidOriginalImage + case failedWritingToTemporaryDirectory } struct CameraPicker: UIViewControllerRepresentable { @@ -50,31 +55,31 @@ struct CameraPicker: UIViewControllerRepresentable { } final class Coordinator: NSObject, UIImagePickerControllerDelegate, UINavigationControllerDelegate { - private var parent: CameraPicker + private var cameraPicker: CameraPicker - init(_ parent: CameraPicker) { - self.parent = parent + init(_ cameraPicker: CameraPicker) { + self.cameraPicker = cameraPicker } func imagePickerController(_ picker: UIImagePickerController, didFinishPickingMediaWithInfo info: [UIImagePickerController.InfoKey: Any]) { if let videoURL = info[.mediaURL] as? URL { - parent.callback(.selectFile(videoURL)) + cameraPicker.callback(.selectFile(videoURL)) } else if let image = info[.originalImage] as? UIImage { guard let jpegData = image.jpegData(compressionQuality: 1.0) else { - parent.callback(.error(nil)) + cameraPicker.callback(.error(.invalidJpegData)) return } - let fileName = "\(UUID().uuidString).jpg" + let fileName = "\(Date.now.formatted(date: .abbreviated, time: .shortened)).jpg" do { - let url = try FileManager.default.writeDataToTemporaryLocation(data: jpegData, fileName: fileName) - parent.callback(.selectFile(url)) + let url = try FileManager.default.writeDataToTemporaryDirectory(data: jpegData, fileName: fileName) + cameraPicker.callback(.selectFile(url)) } catch { - parent.callback(.error(error)) + cameraPicker.callback(.error(.failedWritingToTemporaryDirectory)) } } else { - parent.callback(.error(nil)) + cameraPicker.callback(.error(.invalidOriginalImage)) } } } diff --git a/ElementX/Sources/Screens/MediaPicker/DocumentPicker.swift b/ElementX/Sources/Screens/MediaPicker/DocumentPicker.swift index f884d1897..4b93c3a06 100644 --- a/ElementX/Sources/Screens/MediaPicker/DocumentPicker.swift +++ b/ElementX/Sources/Screens/MediaPicker/DocumentPicker.swift @@ -15,12 +15,15 @@ // import SwiftUI -import UIKit enum DocumentPickerAction { case selectFile(URL) case cancel - case error(Error?) + case error(DocumentPickerError) +} + +enum DocumentPickerError: Error { + case unknown } struct DocumentPicker: UIViewControllerRepresentable { @@ -45,25 +48,25 @@ struct DocumentPicker: UIViewControllerRepresentable { } final class Coordinator: NSObject, UIDocumentPickerDelegate { - private var parent: DocumentPicker + private var documentPicker: DocumentPicker - init(_ parent: DocumentPicker) { - self.parent = parent + init(_ documentPicker: DocumentPicker) { + self.documentPicker = documentPicker } // MARK: UIDocumentPickerDelegate func documentPickerWasCancelled(_ controller: UIDocumentPickerViewController) { - parent.callback(.cancel) + documentPicker.callback(.cancel) } func documentPicker(_ controller: UIDocumentPickerViewController, didPickDocumentsAt urls: [URL]) { guard let url = urls.first else { - parent.callback(.error(nil)) + documentPicker.callback(.error(.unknown)) return } - parent.callback(.selectFile(url)) + documentPicker.callback(.selectFile(url)) } } } diff --git a/ElementX/Sources/Screens/MediaPicker/PhotoLibraryPicker.swift b/ElementX/Sources/Screens/MediaPicker/PhotoLibraryPicker.swift index dfa1b6986..51a91dbb1 100644 --- a/ElementX/Sources/Screens/MediaPicker/PhotoLibraryPicker.swift +++ b/ElementX/Sources/Screens/MediaPicker/PhotoLibraryPicker.swift @@ -47,36 +47,36 @@ struct PhotoLibraryPicker: UIViewControllerRepresentable { } final class Coordinator: NSObject, PHPickerViewControllerDelegate { - private var parent: PhotoLibraryPicker + private var photoLibraryPicker: PhotoLibraryPicker - init(_ parent: PhotoLibraryPicker) { - self.parent = parent + init(_ photoLibraryPicker: PhotoLibraryPicker) { + self.photoLibraryPicker = photoLibraryPicker } // MARK: PHPickerViewControllerDelegate func picker(_ picker: PHPickerViewController, didFinishPicking results: [PHPickerResult]) { guard let provider = results.first?.itemProvider else { - parent.callback(.cancel) + photoLibraryPicker.callback(.cancel) return } - provider.loadFileRepresentation(forTypeIdentifier: "public.item") { @MainActor [weak self] url, error in + provider.loadFileRepresentation(forTypeIdentifier: "public.item") { [weak self] url, error in guard let url else { - self?.parent.callback(.error(error)) + self?.photoLibraryPicker.callback(.error(error)) return } do { let _ = url.startAccessingSecurityScopedResource() - let newURL = try FileManager.default.copyFileToTemporaryLocation(url: url) + let newURL = try FileManager.default.copyFileToTemporaryDirectory(url: url) url.stopAccessingSecurityScopedResource() Task { @MainActor in - self?.parent.callback(.selectFile(newURL)) + self?.photoLibraryPicker.callback(.selectFile(newURL)) } } catch { - self?.parent.callback(.error(error)) + self?.photoLibraryPicker.callback(.error(error)) } } } diff --git a/ElementX/Sources/Screens/MediaPickerPreviewScreen/MediaPickerPreviewScreenCoordinator.swift b/ElementX/Sources/Screens/MediaPickerPreviewScreen/MediaPickerPreviewScreenCoordinator.swift index 536ed3d05..d28d489d6 100644 --- a/ElementX/Sources/Screens/MediaPickerPreviewScreen/MediaPickerPreviewScreenCoordinator.swift +++ b/ElementX/Sources/Screens/MediaPickerPreviewScreen/MediaPickerPreviewScreenCoordinator.swift @@ -51,6 +51,6 @@ final class MediaPickerPreviewScreenCoordinator: CoordinatorProtocol { } func toPresentable() -> AnyView { - AnyView(MediaPickerPreviewScreenScreen(context: viewModel.context)) + AnyView(MediaPickerPreviewScreen(context: viewModel.context)) } } diff --git a/ElementX/Sources/Screens/MediaPickerPreviewScreen/View/MediaPickerPreviewScreenScreen.swift b/ElementX/Sources/Screens/MediaPickerPreviewScreen/View/MediaPickerPreviewScreen.swift similarity index 96% rename from ElementX/Sources/Screens/MediaPickerPreviewScreen/View/MediaPickerPreviewScreenScreen.swift rename to ElementX/Sources/Screens/MediaPickerPreviewScreen/View/MediaPickerPreviewScreen.swift index 023eedced..d0dd52097 100644 --- a/ElementX/Sources/Screens/MediaPickerPreviewScreen/View/MediaPickerPreviewScreenScreen.swift +++ b/ElementX/Sources/Screens/MediaPickerPreviewScreen/View/MediaPickerPreviewScreen.swift @@ -17,7 +17,7 @@ import QuickLook import SwiftUI -struct MediaPickerPreviewScreenScreen: View { +struct MediaPickerPreviewScreen: View { @ObservedObject var context: MediaPickerPreviewScreenViewModel.Context var body: some View { @@ -105,6 +105,6 @@ private class PreviewItem: NSObject, QLPreviewItem { struct MediaPickerPreviewScreen_Previews: PreviewProvider { static let viewModel = MediaPickerPreviewScreenViewModel(url: URL.picturesDirectory, title: nil) static var previews: some View { - MediaPickerPreviewScreenScreen(context: viewModel.context) + MediaPickerPreviewScreen(context: viewModel.context) } } diff --git a/ElementX/Sources/Services/Room/RoomProxy.swift b/ElementX/Sources/Services/Room/RoomProxy.swift index a5d6811ab..a6b071982 100644 --- a/ElementX/Sources/Services/Room/RoomProxy.swift +++ b/ElementX/Sources/Services/Room/RoomProxy.swift @@ -194,7 +194,7 @@ class RoomProxy: RoomProxyProtocol { try self.room.sendReply(msg: message, inReplyToEventId: eventID, txnId: transactionId) } else { let messageContent = messageEventContentFromMarkdown(md: message) - try self.room.send(msg: messageContent, txnId: transactionId) + self.room.send(msg: messageContent, txnId: transactionId) } } catch { return .failure(.failedSendingMessage) @@ -219,7 +219,7 @@ class RoomProxy: RoomProxyProtocol { } } - func sendImage(body: String, url: URL) async -> Result { + func sendImage(url: URL) async -> Result { .failure(.failedSendingMedia) } diff --git a/ElementX/Sources/Services/Room/RoomProxyProtocol.swift b/ElementX/Sources/Services/Room/RoomProxyProtocol.swift index 0f1c90607..25d0d52df 100644 --- a/ElementX/Sources/Services/Room/RoomProxyProtocol.swift +++ b/ElementX/Sources/Services/Room/RoomProxyProtocol.swift @@ -71,7 +71,7 @@ protocol RoomProxyProtocol { func sendReaction(_ reaction: String, to eventID: String) async -> Result - func sendImage(body: String, url: URL) async -> Result + func sendImage(url: URL) async -> Result func editMessage(_ newMessage: String, original eventID: String) async -> Result diff --git a/UITests/Sources/DeveloperOptionsScreenScreenUITests.swift b/UITests/Sources/DeveloperOptionsScreenUITests.swift similarity index 91% rename from UITests/Sources/DeveloperOptionsScreenScreenUITests.swift rename to UITests/Sources/DeveloperOptionsScreenUITests.swift index a823f3c56..1f4c567a9 100644 --- a/UITests/Sources/DeveloperOptionsScreenScreenUITests.swift +++ b/UITests/Sources/DeveloperOptionsScreenUITests.swift @@ -17,4 +17,4 @@ import ElementX import XCTest -class DeveloperOptionsScreenScreenUITests: XCTestCase { } +class DeveloperOptionsScreenUITests: XCTestCase { } diff --git a/UITests/Sources/MediaPickerPreviewScreenScreenUITests.swift b/UITests/Sources/MediaPickerPreviewScreenUITests.swift similarity index 91% rename from UITests/Sources/MediaPickerPreviewScreenScreenUITests.swift rename to UITests/Sources/MediaPickerPreviewScreenUITests.swift index ceead69b6..1b9fe37ac 100644 --- a/UITests/Sources/MediaPickerPreviewScreenScreenUITests.swift +++ b/UITests/Sources/MediaPickerPreviewScreenUITests.swift @@ -17,4 +17,4 @@ import ElementX import XCTest -class MediaPickerPreviewScreenScreenUITests: XCTestCase { } +class MediaPickerPreviewScreenUITests: XCTestCase { } diff --git a/UnitTests/Sources/MediaPickerPreviewScreenViewModelTests.swift b/UnitTests/Sources/MediaPickerPreviewScreenViewModelTests.swift index 098cdec09..6210b788f 100644 --- a/UnitTests/Sources/MediaPickerPreviewScreenViewModelTests.swift +++ b/UnitTests/Sources/MediaPickerPreviewScreenViewModelTests.swift @@ -19,4 +19,4 @@ import XCTest @testable import ElementX @MainActor -class MediaPickerPreviewScreenScreenViewModelTests: XCTestCase { } +class MediaPickerPreviewScreenViewModelTests: XCTestCase { }