diff --git a/Session.xcodeproj/project.pbxproj b/Session.xcodeproj/project.pbxproj index 3603746c2..40b6a1d0a 100644 --- a/Session.xcodeproj/project.pbxproj +++ b/Session.xcodeproj/project.pbxproj @@ -891,6 +891,7 @@ FDDD554E2C1FCB77006CBF03 /* _019_ScheduleAppUpdateCheckJob.swift in Sources */ = {isa = PBXBuildFile; fileRef = FDDD554D2C1FCB77006CBF03 /* _019_ScheduleAppUpdateCheckJob.swift */; }; FDDF074429C3E3D000E5E8B5 /* FetchRequest+Utilities.swift in Sources */ = {isa = PBXBuildFile; fileRef = FDDF074329C3E3D000E5E8B5 /* FetchRequest+Utilities.swift */; }; FDDF074A29DAB36900E5E8B5 /* JobRunnerSpec.swift in Sources */ = {isa = PBXBuildFile; fileRef = FDDF074929DAB36900E5E8B5 /* JobRunnerSpec.swift */; }; + FDE049032C76A09700B6F9BB /* UIAlertAction+Utilities.swift in Sources */ = {isa = PBXBuildFile; fileRef = FDE049022C76A09700B6F9BB /* UIAlertAction+Utilities.swift */; }; FDE125232A837E4E002DA685 /* MainAppContext.swift in Sources */ = {isa = PBXBuildFile; fileRef = FDE125222A837E4E002DA685 /* MainAppContext.swift */; }; FDE658A329418E2F00A33BC1 /* KeyPair.swift in Sources */ = {isa = PBXBuildFile; fileRef = FDE658A229418E2F00A33BC1 /* KeyPair.swift */; }; FDE6E99829F8E63A00F93C5D /* Accessibility.swift in Sources */ = {isa = PBXBuildFile; fileRef = FDE6E99729F8E63A00F93C5D /* Accessibility.swift */; }; @@ -2008,6 +2009,7 @@ FDDD554D2C1FCB77006CBF03 /* _019_ScheduleAppUpdateCheckJob.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = _019_ScheduleAppUpdateCheckJob.swift; sourceTree = ""; }; FDDF074329C3E3D000E5E8B5 /* FetchRequest+Utilities.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "FetchRequest+Utilities.swift"; sourceTree = ""; }; FDDF074929DAB36900E5E8B5 /* JobRunnerSpec.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = JobRunnerSpec.swift; sourceTree = ""; }; + FDE049022C76A09700B6F9BB /* UIAlertAction+Utilities.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "UIAlertAction+Utilities.swift"; sourceTree = ""; }; FDE125222A837E4E002DA685 /* MainAppContext.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MainAppContext.swift; sourceTree = ""; }; FDE658A229418E2F00A33BC1 /* KeyPair.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = KeyPair.swift; sourceTree = ""; }; FDE6E99729F8E63A00F93C5D /* Accessibility.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Accessibility.swift; sourceTree = ""; }; @@ -3612,6 +3614,7 @@ FD8ECF93293856AF00C0D1BB /* Randomness.swift */, FD1936402ACA7BD8004BCF0F /* Result+Utilities.swift */, FD29598C2A43BC0B00888A17 /* Version.swift */, + FDE049022C76A09700B6F9BB /* UIAlertAction+Utilities.swift */, FD428B1C2B4B6FDC006D0888 /* UIApplicationState+Utilities.swift */, FD6A39292C2AB3BD00762359 /* UIBezierPath+Utilities.swift */, FD6A39012C2A8BDE00762359 /* UIImage+Utilities.swift */, @@ -5700,6 +5703,7 @@ 943C6D842B86B5F1004ACE64 /* Localization.swift in Sources */, FD0606BF2BC8C10200C3816E /* _005_AddJobUniqueHash.swift in Sources */, 7B1D74B027C365960030B423 /* Timer+MainThread.swift in Sources */, + FDE049032C76A09700B6F9BB /* UIAlertAction+Utilities.swift in Sources */, FD428B192B4B576F006D0888 /* AppContext.swift in Sources */, FD6A39002C2A8B9100762359 /* MimeTypeUtil.swift in Sources */, FD6A38F92C2A8AF700762359 /* DataSource.swift in Sources */, @@ -7611,7 +7615,7 @@ CLANG_WARN__ARC_BRIDGE_CAST_NONARC = YES; CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; CODE_SIGN_IDENTITY = "iPhone Developer"; - CURRENT_PROJECT_VERSION = 472; + CURRENT_PROJECT_VERSION = 473; ENABLE_BITCODE = NO; ENABLE_STRICT_OBJC_MSGSEND = YES; ENABLE_TESTABILITY = YES; @@ -7689,7 +7693,7 @@ CLANG_WARN__ARC_BRIDGE_CAST_NONARC = YES; CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; CODE_SIGN_IDENTITY = "iPhone Distribution"; - CURRENT_PROJECT_VERSION = 472; + CURRENT_PROJECT_VERSION = 473; ENABLE_BITCODE = NO; ENABLE_STRICT_OBJC_MSGSEND = YES; GCC_NO_COMMON_BLOCKS = YES; diff --git a/Session/Conversations/ConversationVC+Interaction.swift b/Session/Conversations/ConversationVC+Interaction.swift index 72f35060f..1ba76c725 100644 --- a/Session/Conversations/ConversationVC+Interaction.swift +++ b/Session/Conversations/ConversationVC+Interaction.swift @@ -2142,6 +2142,7 @@ extension ConversationVC: let actionSheet: UIAlertController = UIAlertController(title: nil, message: nil, preferredStyle: .actionSheet) actionSheet.addAction(UIAlertAction( title: "deleteMessageDeviceOnly".localized(), + accessibilityIdentifier: "Delete for me", style: .destructive ) { [weak self] _ in Storage.shared.writeAsync { db in @@ -2173,6 +2174,7 @@ extension ConversationVC: default: return "deleteMessageEveryone".localized() } }(), + accessibilityIdentifier: "Delete for everyone", style: .destructive ) { [weak self] _ in let completeServerDeletion = { diff --git a/SessionUtilitiesKit/Utilities/UIAlertAction+Utilities.swift b/SessionUtilitiesKit/Utilities/UIAlertAction+Utilities.swift new file mode 100644 index 000000000..71f72b539 --- /dev/null +++ b/SessionUtilitiesKit/Utilities/UIAlertAction+Utilities.swift @@ -0,0 +1,11 @@ +// Copyright © 2024 Rangeproof Pty Ltd. All rights reserved. + +import UIKit + +public extension UIAlertAction { + convenience init(title: String?, accessibilityIdentifier: String, style: UIAlertAction.Style, handler: ((UIAlertAction) -> Void)?) { + self.init(title: title, style: style, handler: handler) + + self.accessibilityIdentifier = accessibilityIdentifier + } +}