-
Notifications
You must be signed in to change notification settings - Fork 381
/
Copy pathAccessbilityIdentifier.swift
123 lines (112 loc) · 2.91 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
115
116
117
118
119
120
121
122
123
//
// 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 createAccountButton
case deleteButton
case disconnectButton
case revokedDeviceLoginButton
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
case welcomeAccountNumberLabel
// Views
case accountView
case alertContainerView
case alertTitle
case changeLogAlert
case headerBarView
case loginView
case outOfTimeView
case termsOfServiceView
case selectLocationView
case selectLocationTableView
case settingsTableView
case tunnelControlView
case problemReportView
case problemReportSubmittedView
case revokedDeviceView
case welcomeView
case deleteAccountView
// Other UI elements
case connectionPanelInAddressRow
case connectionPanelOutAddressRow
case customSwitch
case dnsContentBlockersHeaderView
case loginTextField
case selectLocationSearchTextField
case problemReportEmailTextField
case problemReportMessageTextView
case deleteAccountTextField
// 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
}
}
}