-
Notifications
You must be signed in to change notification settings - Fork 384
/
Copy pathAccessbilityIdentifier.swift
114 lines (103 loc) · 2.67 KB
/
AccessbilityIdentifier.swift
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
//
// RelayFilter.swift
// MullvadVPN
//
// Created by Jon Petersson on 2023-12-20.
// Copyright © 2023 Mullvad VPN AB. All rights reserved.
//
import UIKit
public enum AccessibilityIdentifier: String {
// Buttons
case accountButton
case agreeButton
case alertOkButton
case applyButton
case cancelButton
case connectionPanelButton
case collapseButton
case deleteButton
case disconnectButton
case infoButton
case learnAboutPrivacyButton
case loginBarButton
case loginTextFieldButton
case logoutButton
case purchaseButton
case redeemVoucherButton
case restorePurchasesButton
case secureConnectionButton
case selectLocationButton
case settingsButton
case startUsingTheAppButton
case problemReportAppLogsButton
case problemReportSendButton
// Cells
case preferencesCell
case versionCell
case problemReportCell
case faqCell
case apiAccessCell
case ipOverrideCell
case relayFilterOwnershipCell
case relayFilterProviderCell
// Labels
case headerDeviceNameLabel
case connectionStatusLabel
// Views
case accountView
case alertContainerView
case alertTitle
case headerBarView
case loginView
case termsOfServiceView
case selectLocationView
case selectLocationTableView
case settingsTableView
case tunnelControlView
case problemReportView
case problemReportSubmittedView
// Other UI elements
case connectionPanelInAddressRow
case connectionPanelOutAddressRow
case customSwitch
case dnsContentBlockersHeaderView
case loginTextField
case selectLocationSearchTextField
case problemReportEmailTextField
case problemReportMessageTextView
// DNS settings
case dnsSettings
case wireGuardCustomPort
case wireGuardObfuscationAutomatic
case wireGuardObfuscationOff
case wireGuardObfuscationOn
case wireGuardPort
// Custom DNS
case blockAdvertising
case blockTracking
case blockMalware
case blockGambling
case blockAdultContent
case blockSocialMedia
case useCustomDNS
case addDNSServer
case dnsServer
case dnsServerInfo
// Quantum resistance
case quantumResistanceAutomatic
case quantumResistanceOff
case quantumResistanceOn
// Error
case unknown
}
extension UIAccessibilityIdentification {
var accessibilityIdentifier: AccessibilityIdentifier? {
get {
guard let accessibilityIdentifier else { return nil }
return AccessibilityIdentifier(rawValue: accessibilityIdentifier)
}
set {
accessibilityIdentifier = newValue?.rawValue
}
}
}