@blueid/access-capacitor 0.102.0 → 0.105.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/BlueidAccessCapacitor.podspec +2 -1
- package/dist/esm/BlueCore_pb.d.ts +8 -0
- package/dist/esm/BlueCore_pb.js +10 -0
- package/dist/esm/BlueCore_pb.js.map +1 -1
- package/dist/esm/BlueSDK_pb.d.ts +48 -0
- package/dist/esm/BlueSDK_pb.js +12 -0
- package/dist/esm/BlueSDK_pb.js.map +1 -1
- package/dist/plugin.cjs.js +22 -0
- package/dist/plugin.cjs.js.map +1 -1
- package/dist/plugin.js +22 -0
- package/dist/plugin.js.map +1 -1
- package/ios/CBlueIDAccess.xcframework/ios-arm64/Headers/core/BlueCore.pb.h +2 -0
- package/ios/CBlueIDAccess.xcframework/ios-arm64/libCBlueIDAccess.a +0 -0
- package/ios/CBlueIDAccess.xcframework/ios-arm64_x86_64-simulator/Headers/core/BlueCore.pb.h +2 -0
- package/ios/CBlueIDAccess.xcframework/ios-arm64_x86_64-simulator/libCBlueIDAccess.a +0 -0
- package/ios/CBlueIDAccess.xcframework/macos-arm64_x86_64/Headers/core/BlueCore.pb.h +2 -0
- package/ios/CBlueIDAccess.xcframework/macos-arm64_x86_64/libCBlueIDAccess.a +0 -0
- package/ios/Plugin/BlueIDAccessSDK/BlueAPI.swift +7 -0
- package/ios/Plugin/BlueIDAccessSDK/BlueAPIProtocol.swift +13 -0
- package/ios/Plugin/BlueIDAccessSDK/BlueAccess.swift +12 -24
- package/ios/Plugin/BlueIDAccessSDK/BlueCommands.swift +3 -0
- package/ios/Plugin/BlueIDAccessSDK/BlueCore.pb.swift +8 -0
- package/ios/Plugin/BlueIDAccessSDK/BlueDFU/BlueDFUPeripheralService.swift +73 -0
- package/ios/Plugin/BlueIDAccessSDK/BlueDFU/BlueUpdateAccessDeviceFirmwareCommand.swift +226 -0
- package/ios/Plugin/BlueIDAccessSDK/BlueDevices.swift +24 -0
- package/ios/Plugin/BlueIDAccessSDK/BlueError.swift +1 -1
- package/ios/Plugin/BlueIDAccessSDK/BlueFetch.swift +10 -2
- package/ios/Plugin/BlueIDAccessSDK/BlueModal/BlueModal.swift +30 -5
- package/ios/Plugin/BlueIDAccessSDK/BlueModal/{BlueSynchronizeAccessDeviceModalSession.swift → BlueStepProgressModalSession.swift} +4 -4
- package/ios/Plugin/BlueIDAccessSDK/BlueModal/{BlueSynchronizeAccessDeviceModalView.swift → BlueStepProgressModalView.swift} +98 -66
- package/ios/Plugin/BlueIDAccessSDK/BlueSDK.pb.swift +216 -0
- package/ios/Plugin/BlueIDAccessSDK/BlueTaskRunner.swift +34 -3
- package/ios/Plugin/BlueIDAccessSDK/BlueZip.swift +30 -0
- package/package.json +1 -1
|
@@ -60,11 +60,36 @@ public func blueShowAccessDeviceModal(_ task: @escaping () async throws -> BlueO
|
|
|
60
60
|
/// Displays a modal view (sheet) which performs tasks related to synchronizing a device.
|
|
61
61
|
/// - parameter runner: The Task Runner.
|
|
62
62
|
public func blueShowSynchronizeAccessDeviceModal(_ runner: BlueTaskRunner) async throws {
|
|
63
|
-
|
|
63
|
+
try await blueShowStepProgressModal(
|
|
64
|
+
title: blueI18n.syncDeviceInProgressTitle,
|
|
65
|
+
failedTitle: blueI18n.syncDeviceFailedTitle,
|
|
66
|
+
completedTitle: blueI18n.syncDeviceCompletedTitle,
|
|
67
|
+
runner: runner
|
|
68
|
+
)
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
/// Displays a modal view (sheet) which performs tasks related to updating a device firmware.
|
|
72
|
+
/// - parameter runner: The Task Runner.
|
|
73
|
+
public func blueShowUpdateAccessDeviceFirmwareModal(_ runner: BlueTaskRunner) async throws {
|
|
74
|
+
try await blueShowStepProgressModal(
|
|
75
|
+
title: blueI18n.dfuInProgressTitle,
|
|
76
|
+
failedTitle: blueI18n.dfuFailedTitle,
|
|
77
|
+
completedTitle: blueI18n.dfuCompletedTitle,
|
|
78
|
+
runner: runner
|
|
79
|
+
)
|
|
80
|
+
}
|
|
81
|
+
|
|
82
|
+
private func blueShowStepProgressModal(
|
|
83
|
+
title: String,
|
|
84
|
+
failedTitle: String,
|
|
85
|
+
completedTitle: String,
|
|
86
|
+
runner: BlueTaskRunner
|
|
87
|
+
) async throws {
|
|
88
|
+
let session = BlueStepProgressModalSession()
|
|
64
89
|
|
|
65
90
|
blueRunInMainThread {
|
|
66
91
|
session.begin(
|
|
67
|
-
title:
|
|
92
|
+
title: title,
|
|
68
93
|
tasks: runner.getTasks(),
|
|
69
94
|
dismiss: blueI18n.cmnCancelLabel
|
|
70
95
|
) {
|
|
@@ -87,17 +112,17 @@ public func blueShowSynchronizeAccessDeviceModal(_ runner: BlueTaskRunner) async
|
|
|
87
112
|
session.updateDismiss(blueI18n.cmnCloseLabel)
|
|
88
113
|
|
|
89
114
|
if runner.isFailed() {
|
|
90
|
-
session.updateTitle(
|
|
115
|
+
session.updateTitle(failedTitle)
|
|
91
116
|
BlueSound.shared.play(BlueNegativeSoundSystemID)
|
|
92
117
|
} else {
|
|
93
|
-
session.updateTitle(
|
|
118
|
+
session.updateTitle(completedTitle)
|
|
94
119
|
BlueSound.shared.play(BluePositiveSoundSystemID)
|
|
95
120
|
}
|
|
96
121
|
}
|
|
97
122
|
}
|
|
98
123
|
} catch {
|
|
99
124
|
blueRunInMainThread {
|
|
100
|
-
session.updateTitle(
|
|
125
|
+
session.updateTitle(failedTitle)
|
|
101
126
|
session.updateDismiss(blueI18n.cmnCloseLabel)
|
|
102
127
|
BlueSound.shared.play(BlueNegativeSoundSystemID)
|
|
103
128
|
}
|
|
@@ -2,14 +2,14 @@
|
|
|
2
2
|
import AVFoundation
|
|
3
3
|
import SwiftUI
|
|
4
4
|
|
|
5
|
-
private class HostingController: UIHostingController<
|
|
5
|
+
private class HostingController: UIHostingController<BlueStepProgressModalView> {
|
|
6
6
|
override var prefersHomeIndicatorAutoHidden: Bool {
|
|
7
7
|
return true
|
|
8
8
|
}
|
|
9
9
|
}
|
|
10
10
|
|
|
11
|
-
internal class
|
|
12
|
-
private let viewModel =
|
|
11
|
+
internal class BlueStepProgressModalSession {
|
|
12
|
+
private let viewModel = BlueStepProgressModalViewModel()
|
|
13
13
|
private var isInvalidated: Bool = false
|
|
14
14
|
|
|
15
15
|
func begin(title: String, tasks: [BlueTask], dismiss: String, _ onDismiss: @escaping () -> Void) {
|
|
@@ -18,7 +18,7 @@ internal class BlueSynchronizeAccessDeviceModalSession {
|
|
|
18
18
|
viewModel.dismiss = dismiss
|
|
19
19
|
|
|
20
20
|
let hostingController = HostingController(
|
|
21
|
-
rootView:
|
|
21
|
+
rootView: BlueStepProgressModalView(viewModel) { onDismiss() }
|
|
22
22
|
)
|
|
23
23
|
|
|
24
24
|
hostingController.view.backgroundColor = .clear
|
|
@@ -13,14 +13,14 @@ private func getColor(_ status: BlueTaskStatus) -> Color {
|
|
|
13
13
|
}
|
|
14
14
|
}
|
|
15
15
|
|
|
16
|
-
private func
|
|
16
|
+
private func getTextColor(_ status: BlueTaskStatus) -> Color {
|
|
17
17
|
switch (status) {
|
|
18
|
-
case .ready, .started:
|
|
19
|
-
return .
|
|
20
|
-
case .
|
|
21
|
-
return .
|
|
22
|
-
|
|
23
|
-
return
|
|
18
|
+
case .ready, .started, .skipped:
|
|
19
|
+
return .black
|
|
20
|
+
case .succeeded:
|
|
21
|
+
return Color(red: 0.0, green: 0.5, blue: 0.0)
|
|
22
|
+
default:
|
|
23
|
+
return getColor(status)
|
|
24
24
|
}
|
|
25
25
|
}
|
|
26
26
|
|
|
@@ -32,42 +32,54 @@ private func getSymbol(_ status: BlueTaskStatus) -> String {
|
|
|
32
32
|
return "circle.circle"
|
|
33
33
|
case .failed:
|
|
34
34
|
return "xmark.circle"
|
|
35
|
-
case .succeeded
|
|
35
|
+
case .succeeded:
|
|
36
36
|
return "checkmark.circle"
|
|
37
|
+
case .skipped:
|
|
38
|
+
return "minus.circle"
|
|
37
39
|
}
|
|
38
40
|
}
|
|
39
41
|
|
|
40
42
|
class BlueTaskModel: ObservableObject, Identifiable {
|
|
41
43
|
@Published var label: String
|
|
42
44
|
@Published var status: BlueTaskStatus
|
|
45
|
+
@Published var progress: Float?
|
|
43
46
|
@Published var statusColor: Color
|
|
44
|
-
@Published var
|
|
47
|
+
@Published var textColor: Color
|
|
45
48
|
@Published var symbol: String
|
|
46
49
|
@Published var errorDescription: String
|
|
47
50
|
@Published var isLast: Bool
|
|
48
51
|
|
|
49
|
-
private var
|
|
52
|
+
private var statusSubscriber: AnyCancellable?
|
|
53
|
+
private var progressSubscriber: AnyCancellable?
|
|
50
54
|
|
|
51
55
|
init(_ task: BlueTask, _ isLast: Bool) {
|
|
52
56
|
self.label = task.label
|
|
53
57
|
self.status = task.status.value
|
|
58
|
+
self.progress = task.progress?.value
|
|
59
|
+
self.textColor = getTextColor(task.status.value)
|
|
54
60
|
self.statusColor = getColor(task.status.value)
|
|
55
|
-
self.lineColor = getLineColor(task.status.value)
|
|
56
61
|
self.symbol = getSymbol(task.status.value)
|
|
57
62
|
self.errorDescription = task.errorDescription ?? ""
|
|
58
63
|
self.isLast = isLast
|
|
59
64
|
|
|
60
|
-
self.
|
|
65
|
+
self.statusSubscriber = task.status.sink{ [weak self] status in
|
|
61
66
|
guard let self = self else { return }
|
|
62
67
|
|
|
63
68
|
self.status = status
|
|
69
|
+
self.textColor = getTextColor(status)
|
|
64
70
|
self.statusColor = getColor(status)
|
|
65
|
-
self.lineColor = getLineColor(status)
|
|
66
71
|
self.symbol = getSymbol(status)
|
|
67
72
|
self.errorDescription = task.errorDescription ?? ""
|
|
68
73
|
|
|
69
74
|
self.objectWillChange.send()
|
|
70
75
|
}
|
|
76
|
+
|
|
77
|
+
self.progressSubscriber = task.progress?.sink{ [weak self] progress in
|
|
78
|
+
guard let self = self else { return }
|
|
79
|
+
|
|
80
|
+
self.progress = progress
|
|
81
|
+
self.objectWillChange.send()
|
|
82
|
+
}
|
|
71
83
|
}
|
|
72
84
|
}
|
|
73
85
|
|
|
@@ -90,46 +102,57 @@ struct TaskView: View {
|
|
|
90
102
|
|
|
91
103
|
Text(task.label)
|
|
92
104
|
.font(.system(size: 14))
|
|
105
|
+
.foregroundColor(task.textColor)
|
|
93
106
|
.frame(maxWidth: .infinity, alignment: .leading)
|
|
94
107
|
}
|
|
95
108
|
|
|
96
|
-
HStack(alignment: .center) {
|
|
97
|
-
|
|
109
|
+
HStack(alignment: .center, spacing: 0) {
|
|
110
|
+
ZStack(alignment: .leading) {
|
|
98
111
|
Rectangle()
|
|
99
|
-
.fill(task.
|
|
112
|
+
.fill(task.statusColor)
|
|
100
113
|
.frame(width: 2)
|
|
101
114
|
.padding(.horizontal, 10.5)
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
115
|
+
.hidden(task.isLast)
|
|
116
|
+
|
|
117
|
+
if !task.errorDescription.isEmpty {
|
|
118
|
+
Text(task.errorDescription)
|
|
119
|
+
.foregroundColor(.red)
|
|
120
|
+
.font(.system(size: 11))
|
|
121
|
+
.padding(.leading, 32)
|
|
122
|
+
.padding(.bottom, 5)
|
|
123
|
+
.fixedSize(horizontal: false, vertical: true)
|
|
124
|
+
.alignmentGuide(.leading) { d in d[.leading] }
|
|
125
|
+
} else {
|
|
126
|
+
if task.status == .started && task.progress != nil {
|
|
127
|
+
ProgressView(value: task.progress, total: 100)
|
|
128
|
+
.padding(.leading, 32)
|
|
129
|
+
.alignmentGuide(.leading) { d in d[.leading] }
|
|
130
|
+
}
|
|
131
|
+
}
|
|
110
132
|
}
|
|
111
133
|
}
|
|
112
134
|
}
|
|
113
135
|
}
|
|
114
136
|
}
|
|
115
137
|
|
|
116
|
-
class
|
|
138
|
+
class BlueStepProgressModalViewModel: ObservableObject {
|
|
117
139
|
@Published var title = ""
|
|
118
140
|
@Published var dismiss: String = ""
|
|
119
141
|
@Published var dismissEnabled: Bool = true
|
|
120
142
|
@Published var tasks: [BlueTask]
|
|
121
143
|
|
|
122
|
-
init(title: String = "", dismiss: String = "", tasks: [BlueTask] = []) {
|
|
144
|
+
init(title: String = "", dismiss: String = "", dismissEnabled: Bool = true, tasks: [BlueTask] = []) {
|
|
123
145
|
self.title = title
|
|
124
146
|
self.dismiss = dismiss
|
|
147
|
+
self.dismissEnabled = dismissEnabled
|
|
125
148
|
self.tasks = tasks
|
|
126
149
|
}
|
|
127
150
|
}
|
|
128
151
|
|
|
129
|
-
struct
|
|
130
|
-
@ObservedObject private var vm:
|
|
152
|
+
struct BlueStepProgressModalView: View {
|
|
153
|
+
@ObservedObject private var vm: BlueStepProgressModalViewModel
|
|
131
154
|
|
|
132
|
-
internal var height: CGFloat =
|
|
155
|
+
internal var height: CGFloat = 550
|
|
133
156
|
internal var backgroundColor: UIColor = .white
|
|
134
157
|
internal var foregroundColor: UIColor = .black
|
|
135
158
|
|
|
@@ -137,7 +160,7 @@ struct BlueSynchronizeAccessDeviceModalView: View {
|
|
|
137
160
|
private let cornerRadius: CGFloat = 35
|
|
138
161
|
|
|
139
162
|
public init(
|
|
140
|
-
_ vm:
|
|
163
|
+
_ vm: BlueStepProgressModalViewModel,
|
|
141
164
|
_ onDismiss: @escaping () -> Void)
|
|
142
165
|
{
|
|
143
166
|
self.vm = vm
|
|
@@ -155,24 +178,30 @@ struct BlueSynchronizeAccessDeviceModalView: View {
|
|
|
155
178
|
.foregroundColor(Color(backgroundColor))
|
|
156
179
|
.shadow(color: .gray, radius: 1)
|
|
157
180
|
|
|
158
|
-
VStack(alignment: .center) {
|
|
181
|
+
VStack(alignment: .center, spacing: 0) {
|
|
159
182
|
Text(vm.title)
|
|
160
183
|
.font(.system(size: 20))
|
|
161
184
|
.foregroundColor(.gray)
|
|
185
|
+
.multilineTextAlignment(.center)
|
|
162
186
|
|
|
163
187
|
Spacer()
|
|
164
188
|
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
189
|
+
GeometryReader { geometry in
|
|
190
|
+
ScrollView(.vertical) {
|
|
191
|
+
VStack(alignment: .leading, spacing: 0) {
|
|
192
|
+
ForEach(vm.tasks.indices, id: \.self){ index in
|
|
193
|
+
TaskView(task: BlueTaskModel(vm.tasks[index], index == vm.tasks.indices.last))
|
|
194
|
+
}
|
|
169
195
|
}
|
|
170
|
-
|
|
196
|
+
.padding(.vertical, 10)
|
|
197
|
+
.frame(width: geometry.size.width)
|
|
198
|
+
.frame(minHeight: geometry.size.height)
|
|
199
|
+
}
|
|
171
200
|
}
|
|
172
201
|
|
|
202
|
+
Spacer()
|
|
203
|
+
|
|
173
204
|
if !vm.dismiss.isEmpty {
|
|
174
|
-
Spacer()
|
|
175
|
-
|
|
176
205
|
Button {
|
|
177
206
|
onDismiss()
|
|
178
207
|
} label: {
|
|
@@ -180,7 +209,8 @@ struct BlueSynchronizeAccessDeviceModalView: View {
|
|
|
180
209
|
.font(.system(size: 18))
|
|
181
210
|
.frame(maxWidth: .infinity)
|
|
182
211
|
.padding(EdgeInsets(top: 15, leading: 10, bottom: 15, trailing: 10))
|
|
183
|
-
.background(Color.gray.opacity(0.5))
|
|
212
|
+
.background(Color.gray.opacity(vm.dismissEnabled ? 0.5 : 0.3))
|
|
213
|
+
.foregroundColor(vm.dismissEnabled ? .black : .gray)
|
|
184
214
|
.cornerRadius(10)
|
|
185
215
|
}
|
|
186
216
|
.disabled(!vm.dismissEnabled)
|
|
@@ -198,38 +228,40 @@ struct BlueSynchronizeAccessDeviceModalView: View {
|
|
|
198
228
|
}
|
|
199
229
|
}
|
|
200
230
|
|
|
231
|
+
let noop: (BlueTask, BlueSerialTaskRunner) async throws -> BlueTaskResult = { _, _ in .result(nil) }
|
|
232
|
+
|
|
201
233
|
struct BlueSynchronizeAccessDeviceModalView_Preview: PreviewProvider {
|
|
202
234
|
static var previews: some View {
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
title: "Synchronization
|
|
206
|
-
dismiss: "
|
|
207
|
-
tasks:
|
|
235
|
+
BlueStepProgressModalView(
|
|
236
|
+
BlueStepProgressModalViewModel(
|
|
237
|
+
title: "Synchronization has failed (Worst case)",
|
|
238
|
+
dismiss: "Done",
|
|
239
|
+
tasks: Array(1..<12).map { element in
|
|
208
240
|
BlueTask(
|
|
209
|
-
id:
|
|
210
|
-
label: "
|
|
241
|
+
id: element.description,
|
|
242
|
+
label: "Task label - \(element.description)",
|
|
211
243
|
status: .failed,
|
|
212
|
-
error: BlueError(.
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
) { _ in .result(nil) },
|
|
226
|
-
|
|
244
|
+
error: BlueError(.sdkDecodeJsonFailed, cause: BlueError(.sdkNetworkError), detail: "Something went wrong ¯\\_(ツ)_/¯"),
|
|
245
|
+
handler: noop
|
|
246
|
+
)
|
|
247
|
+
}
|
|
248
|
+
)
|
|
249
|
+
) {}
|
|
250
|
+
|
|
251
|
+
BlueStepProgressModalView(
|
|
252
|
+
BlueStepProgressModalViewModel(
|
|
253
|
+
title: "Cancelling...",
|
|
254
|
+
dismiss: "Cancel",
|
|
255
|
+
dismissEnabled: false,
|
|
256
|
+
tasks: Array(1..<12).enumerated().map { (index, element) in
|
|
227
257
|
BlueTask(
|
|
228
|
-
id:
|
|
229
|
-
label: "
|
|
230
|
-
status: .
|
|
231
|
-
|
|
232
|
-
|
|
258
|
+
id: element.description,
|
|
259
|
+
label: "Task label - \(element.description)",
|
|
260
|
+
status: index == 1 ? .failed : .succeeded,
|
|
261
|
+
error: index == 1 ? BlueError(.sdkDecodeJsonFailed, cause: BlueError(.sdkNetworkError), detail: "Something went wrong ¯\\_(ツ)_/¯"): nil,
|
|
262
|
+
handler: noop
|
|
263
|
+
)
|
|
264
|
+
}
|
|
233
265
|
)
|
|
234
266
|
) {}
|
|
235
267
|
}
|
|
@@ -405,6 +405,114 @@ public struct BlueI18n {
|
|
|
405
405
|
/// Clears the value of `syncDevicePushSystemStatusTaskLabel`. Subsequent reads from it will return its default value.
|
|
406
406
|
public mutating func clearSyncDevicePushSystemStatusTaskLabel() {_uniqueStorage()._syncDevicePushSystemStatusTaskLabel = nil}
|
|
407
407
|
|
|
408
|
+
public var dfuInProgressTitle: String {
|
|
409
|
+
get {return _storage._dfuInProgressTitle ?? "Update in Progress"}
|
|
410
|
+
set {_uniqueStorage()._dfuInProgressTitle = newValue}
|
|
411
|
+
}
|
|
412
|
+
/// Returns true if `dfuInProgressTitle` has been explicitly set.
|
|
413
|
+
public var hasDfuInProgressTitle: Bool {return _storage._dfuInProgressTitle != nil}
|
|
414
|
+
/// Clears the value of `dfuInProgressTitle`. Subsequent reads from it will return its default value.
|
|
415
|
+
public mutating func clearDfuInProgressTitle() {_uniqueStorage()._dfuInProgressTitle = nil}
|
|
416
|
+
|
|
417
|
+
public var dfuFailedTitle: String {
|
|
418
|
+
get {return _storage._dfuFailedTitle ?? "Update has failed"}
|
|
419
|
+
set {_uniqueStorage()._dfuFailedTitle = newValue}
|
|
420
|
+
}
|
|
421
|
+
/// Returns true if `dfuFailedTitle` has been explicitly set.
|
|
422
|
+
public var hasDfuFailedTitle: Bool {return _storage._dfuFailedTitle != nil}
|
|
423
|
+
/// Clears the value of `dfuFailedTitle`. Subsequent reads from it will return its default value.
|
|
424
|
+
public mutating func clearDfuFailedTitle() {_uniqueStorage()._dfuFailedTitle = nil}
|
|
425
|
+
|
|
426
|
+
public var dfuCancellingTitle: String {
|
|
427
|
+
get {return _storage._dfuCancellingTitle ?? "Cancelling..."}
|
|
428
|
+
set {_uniqueStorage()._dfuCancellingTitle = newValue}
|
|
429
|
+
}
|
|
430
|
+
/// Returns true if `dfuCancellingTitle` has been explicitly set.
|
|
431
|
+
public var hasDfuCancellingTitle: Bool {return _storage._dfuCancellingTitle != nil}
|
|
432
|
+
/// Clears the value of `dfuCancellingTitle`. Subsequent reads from it will return its default value.
|
|
433
|
+
public mutating func clearDfuCancellingTitle() {_uniqueStorage()._dfuCancellingTitle = nil}
|
|
434
|
+
|
|
435
|
+
public var dfuCompletedTitle: String {
|
|
436
|
+
get {return _storage._dfuCompletedTitle ?? "Update has been completed"}
|
|
437
|
+
set {_uniqueStorage()._dfuCompletedTitle = newValue}
|
|
438
|
+
}
|
|
439
|
+
/// Returns true if `dfuCompletedTitle` has been explicitly set.
|
|
440
|
+
public var hasDfuCompletedTitle: Bool {return _storage._dfuCompletedTitle != nil}
|
|
441
|
+
/// Clears the value of `dfuCompletedTitle`. Subsequent reads from it will return its default value.
|
|
442
|
+
public mutating func clearDfuCompletedTitle() {_uniqueStorage()._dfuCompletedTitle = nil}
|
|
443
|
+
|
|
444
|
+
public var dfuGetAuthenticationTokenTaskLabel: String {
|
|
445
|
+
get {return _storage._dfuGetAuthenticationTokenTaskLabel ?? "Issue authentication token"}
|
|
446
|
+
set {_uniqueStorage()._dfuGetAuthenticationTokenTaskLabel = newValue}
|
|
447
|
+
}
|
|
448
|
+
/// Returns true if `dfuGetAuthenticationTokenTaskLabel` has been explicitly set.
|
|
449
|
+
public var hasDfuGetAuthenticationTokenTaskLabel: Bool {return _storage._dfuGetAuthenticationTokenTaskLabel != nil}
|
|
450
|
+
/// Clears the value of `dfuGetAuthenticationTokenTaskLabel`. Subsequent reads from it will return its default value.
|
|
451
|
+
public mutating func clearDfuGetAuthenticationTokenTaskLabel() {_uniqueStorage()._dfuGetAuthenticationTokenTaskLabel = nil}
|
|
452
|
+
|
|
453
|
+
public var dfuCheckLatestFwlabel: String {
|
|
454
|
+
get {return _storage._dfuCheckLatestFwlabel ?? "Check latest firmware"}
|
|
455
|
+
set {_uniqueStorage()._dfuCheckLatestFwlabel = newValue}
|
|
456
|
+
}
|
|
457
|
+
/// Returns true if `dfuCheckLatestFwlabel` has been explicitly set.
|
|
458
|
+
public var hasDfuCheckLatestFwlabel: Bool {return _storage._dfuCheckLatestFwlabel != nil}
|
|
459
|
+
/// Clears the value of `dfuCheckLatestFwlabel`. Subsequent reads from it will return its default value.
|
|
460
|
+
public mutating func clearDfuCheckLatestFwlabel() {_uniqueStorage()._dfuCheckLatestFwlabel = nil}
|
|
461
|
+
|
|
462
|
+
public var dfuDownloadLatestFwlabel: String {
|
|
463
|
+
get {return _storage._dfuDownloadLatestFwlabel ?? "Download latest firmware"}
|
|
464
|
+
set {_uniqueStorage()._dfuDownloadLatestFwlabel = newValue}
|
|
465
|
+
}
|
|
466
|
+
/// Returns true if `dfuDownloadLatestFwlabel` has been explicitly set.
|
|
467
|
+
public var hasDfuDownloadLatestFwlabel: Bool {return _storage._dfuDownloadLatestFwlabel != nil}
|
|
468
|
+
/// Clears the value of `dfuDownloadLatestFwlabel`. Subsequent reads from it will return its default value.
|
|
469
|
+
public mutating func clearDfuDownloadLatestFwlabel() {_uniqueStorage()._dfuDownloadLatestFwlabel = nil}
|
|
470
|
+
|
|
471
|
+
public var dfuPrepareUpdateLabel: String {
|
|
472
|
+
get {return _storage._dfuPrepareUpdateLabel ?? "Prepare Update"}
|
|
473
|
+
set {_uniqueStorage()._dfuPrepareUpdateLabel = newValue}
|
|
474
|
+
}
|
|
475
|
+
/// Returns true if `dfuPrepareUpdateLabel` has been explicitly set.
|
|
476
|
+
public var hasDfuPrepareUpdateLabel: Bool {return _storage._dfuPrepareUpdateLabel != nil}
|
|
477
|
+
/// Clears the value of `dfuPrepareUpdateLabel`. Subsequent reads from it will return its default value.
|
|
478
|
+
public mutating func clearDfuPrepareUpdateLabel() {_uniqueStorage()._dfuPrepareUpdateLabel = nil}
|
|
479
|
+
|
|
480
|
+
public var dfuStartBootloaderLabel: String {
|
|
481
|
+
get {return _storage._dfuStartBootloaderLabel ?? "Start Bootloader"}
|
|
482
|
+
set {_uniqueStorage()._dfuStartBootloaderLabel = newValue}
|
|
483
|
+
}
|
|
484
|
+
/// Returns true if `dfuStartBootloaderLabel` has been explicitly set.
|
|
485
|
+
public var hasDfuStartBootloaderLabel: Bool {return _storage._dfuStartBootloaderLabel != nil}
|
|
486
|
+
/// Clears the value of `dfuStartBootloaderLabel`. Subsequent reads from it will return its default value.
|
|
487
|
+
public mutating func clearDfuStartBootloaderLabel() {_uniqueStorage()._dfuStartBootloaderLabel = nil}
|
|
488
|
+
|
|
489
|
+
public var dfuFindDfuperipheralLabel: String {
|
|
490
|
+
get {return _storage._dfuFindDfuperipheralLabel ?? "Find DFU peripheral"}
|
|
491
|
+
set {_uniqueStorage()._dfuFindDfuperipheralLabel = newValue}
|
|
492
|
+
}
|
|
493
|
+
/// Returns true if `dfuFindDfuperipheralLabel` has been explicitly set.
|
|
494
|
+
public var hasDfuFindDfuperipheralLabel: Bool {return _storage._dfuFindDfuperipheralLabel != nil}
|
|
495
|
+
/// Clears the value of `dfuFindDfuperipheralLabel`. Subsequent reads from it will return its default value.
|
|
496
|
+
public mutating func clearDfuFindDfuperipheralLabel() {_uniqueStorage()._dfuFindDfuperipheralLabel = nil}
|
|
497
|
+
|
|
498
|
+
public var dfuUpdateFwlabel: String {
|
|
499
|
+
get {return _storage._dfuUpdateFwlabel ?? "Update firmware"}
|
|
500
|
+
set {_uniqueStorage()._dfuUpdateFwlabel = newValue}
|
|
501
|
+
}
|
|
502
|
+
/// Returns true if `dfuUpdateFwlabel` has been explicitly set.
|
|
503
|
+
public var hasDfuUpdateFwlabel: Bool {return _storage._dfuUpdateFwlabel != nil}
|
|
504
|
+
/// Clears the value of `dfuUpdateFwlabel`. Subsequent reads from it will return its default value.
|
|
505
|
+
public mutating func clearDfuUpdateFwlabel() {_uniqueStorage()._dfuUpdateFwlabel = nil}
|
|
506
|
+
|
|
507
|
+
public var dfuWaitForDeviceToRestartTaskLabel: String {
|
|
508
|
+
get {return _storage._dfuWaitForDeviceToRestartTaskLabel ?? "Wait for device to restart"}
|
|
509
|
+
set {_uniqueStorage()._dfuWaitForDeviceToRestartTaskLabel = newValue}
|
|
510
|
+
}
|
|
511
|
+
/// Returns true if `dfuWaitForDeviceToRestartTaskLabel` has been explicitly set.
|
|
512
|
+
public var hasDfuWaitForDeviceToRestartTaskLabel: Bool {return _storage._dfuWaitForDeviceToRestartTaskLabel != nil}
|
|
513
|
+
/// Clears the value of `dfuWaitForDeviceToRestartTaskLabel`. Subsequent reads from it will return its default value.
|
|
514
|
+
public mutating func clearDfuWaitForDeviceToRestartTaskLabel() {_uniqueStorage()._dfuWaitForDeviceToRestartTaskLabel = nil}
|
|
515
|
+
|
|
408
516
|
public var unknownFields = SwiftProtobuf.UnknownStorage()
|
|
409
517
|
|
|
410
518
|
public init() {}
|
|
@@ -1023,6 +1131,18 @@ extension BlueI18n: SwiftProtobuf.Message, SwiftProtobuf._MessageImplementationB
|
|
|
1023
1131
|
32: .same(proto: "syncDeviceDeployBlacklistEntriesTaskLabel"),
|
|
1024
1132
|
33: .same(proto: "syncDeviceRetrieveSystemStatusTaskLabel"),
|
|
1025
1133
|
34: .same(proto: "syncDevicePushSystemStatusTaskLabel"),
|
|
1134
|
+
35: .same(proto: "dfuInProgressTitle"),
|
|
1135
|
+
36: .same(proto: "dfuFailedTitle"),
|
|
1136
|
+
37: .same(proto: "dfuCancellingTitle"),
|
|
1137
|
+
38: .same(proto: "dfuCompletedTitle"),
|
|
1138
|
+
39: .same(proto: "dfuGetAuthenticationTokenTaskLabel"),
|
|
1139
|
+
40: .same(proto: "dfuCheckLatestFWLabel"),
|
|
1140
|
+
41: .same(proto: "dfuDownloadLatestFWLabel"),
|
|
1141
|
+
42: .same(proto: "dfuPrepareUpdateLabel"),
|
|
1142
|
+
43: .same(proto: "dfuStartBootloaderLabel"),
|
|
1143
|
+
44: .same(proto: "dfuFindDFUPeripheralLabel"),
|
|
1144
|
+
45: .same(proto: "dfuUpdateFWLabel"),
|
|
1145
|
+
46: .same(proto: "dfuWaitForDeviceToRestartTaskLabel"),
|
|
1026
1146
|
]
|
|
1027
1147
|
|
|
1028
1148
|
fileprivate class _StorageClass {
|
|
@@ -1060,6 +1180,18 @@ extension BlueI18n: SwiftProtobuf.Message, SwiftProtobuf._MessageImplementationB
|
|
|
1060
1180
|
var _syncDeviceDeployBlacklistEntriesTaskLabel: String? = nil
|
|
1061
1181
|
var _syncDeviceRetrieveSystemStatusTaskLabel: String? = nil
|
|
1062
1182
|
var _syncDevicePushSystemStatusTaskLabel: String? = nil
|
|
1183
|
+
var _dfuInProgressTitle: String? = nil
|
|
1184
|
+
var _dfuFailedTitle: String? = nil
|
|
1185
|
+
var _dfuCancellingTitle: String? = nil
|
|
1186
|
+
var _dfuCompletedTitle: String? = nil
|
|
1187
|
+
var _dfuGetAuthenticationTokenTaskLabel: String? = nil
|
|
1188
|
+
var _dfuCheckLatestFwlabel: String? = nil
|
|
1189
|
+
var _dfuDownloadLatestFwlabel: String? = nil
|
|
1190
|
+
var _dfuPrepareUpdateLabel: String? = nil
|
|
1191
|
+
var _dfuStartBootloaderLabel: String? = nil
|
|
1192
|
+
var _dfuFindDfuperipheralLabel: String? = nil
|
|
1193
|
+
var _dfuUpdateFwlabel: String? = nil
|
|
1194
|
+
var _dfuWaitForDeviceToRestartTaskLabel: String? = nil
|
|
1063
1195
|
|
|
1064
1196
|
static let defaultInstance = _StorageClass()
|
|
1065
1197
|
|
|
@@ -1100,6 +1232,18 @@ extension BlueI18n: SwiftProtobuf.Message, SwiftProtobuf._MessageImplementationB
|
|
|
1100
1232
|
_syncDeviceDeployBlacklistEntriesTaskLabel = source._syncDeviceDeployBlacklistEntriesTaskLabel
|
|
1101
1233
|
_syncDeviceRetrieveSystemStatusTaskLabel = source._syncDeviceRetrieveSystemStatusTaskLabel
|
|
1102
1234
|
_syncDevicePushSystemStatusTaskLabel = source._syncDevicePushSystemStatusTaskLabel
|
|
1235
|
+
_dfuInProgressTitle = source._dfuInProgressTitle
|
|
1236
|
+
_dfuFailedTitle = source._dfuFailedTitle
|
|
1237
|
+
_dfuCancellingTitle = source._dfuCancellingTitle
|
|
1238
|
+
_dfuCompletedTitle = source._dfuCompletedTitle
|
|
1239
|
+
_dfuGetAuthenticationTokenTaskLabel = source._dfuGetAuthenticationTokenTaskLabel
|
|
1240
|
+
_dfuCheckLatestFwlabel = source._dfuCheckLatestFwlabel
|
|
1241
|
+
_dfuDownloadLatestFwlabel = source._dfuDownloadLatestFwlabel
|
|
1242
|
+
_dfuPrepareUpdateLabel = source._dfuPrepareUpdateLabel
|
|
1243
|
+
_dfuStartBootloaderLabel = source._dfuStartBootloaderLabel
|
|
1244
|
+
_dfuFindDfuperipheralLabel = source._dfuFindDfuperipheralLabel
|
|
1245
|
+
_dfuUpdateFwlabel = source._dfuUpdateFwlabel
|
|
1246
|
+
_dfuWaitForDeviceToRestartTaskLabel = source._dfuWaitForDeviceToRestartTaskLabel
|
|
1103
1247
|
}
|
|
1104
1248
|
}
|
|
1105
1249
|
|
|
@@ -1146,6 +1290,18 @@ extension BlueI18n: SwiftProtobuf.Message, SwiftProtobuf._MessageImplementationB
|
|
|
1146
1290
|
if _storage._syncDeviceDeployBlacklistEntriesTaskLabel == nil {return false}
|
|
1147
1291
|
if _storage._syncDeviceRetrieveSystemStatusTaskLabel == nil {return false}
|
|
1148
1292
|
if _storage._syncDevicePushSystemStatusTaskLabel == nil {return false}
|
|
1293
|
+
if _storage._dfuInProgressTitle == nil {return false}
|
|
1294
|
+
if _storage._dfuFailedTitle == nil {return false}
|
|
1295
|
+
if _storage._dfuCancellingTitle == nil {return false}
|
|
1296
|
+
if _storage._dfuCompletedTitle == nil {return false}
|
|
1297
|
+
if _storage._dfuGetAuthenticationTokenTaskLabel == nil {return false}
|
|
1298
|
+
if _storage._dfuCheckLatestFwlabel == nil {return false}
|
|
1299
|
+
if _storage._dfuDownloadLatestFwlabel == nil {return false}
|
|
1300
|
+
if _storage._dfuPrepareUpdateLabel == nil {return false}
|
|
1301
|
+
if _storage._dfuStartBootloaderLabel == nil {return false}
|
|
1302
|
+
if _storage._dfuFindDfuperipheralLabel == nil {return false}
|
|
1303
|
+
if _storage._dfuUpdateFwlabel == nil {return false}
|
|
1304
|
+
if _storage._dfuWaitForDeviceToRestartTaskLabel == nil {return false}
|
|
1149
1305
|
return true
|
|
1150
1306
|
}
|
|
1151
1307
|
}
|
|
@@ -1192,6 +1348,18 @@ extension BlueI18n: SwiftProtobuf.Message, SwiftProtobuf._MessageImplementationB
|
|
|
1192
1348
|
case 32: try { try decoder.decodeSingularStringField(value: &_storage._syncDeviceDeployBlacklistEntriesTaskLabel) }()
|
|
1193
1349
|
case 33: try { try decoder.decodeSingularStringField(value: &_storage._syncDeviceRetrieveSystemStatusTaskLabel) }()
|
|
1194
1350
|
case 34: try { try decoder.decodeSingularStringField(value: &_storage._syncDevicePushSystemStatusTaskLabel) }()
|
|
1351
|
+
case 35: try { try decoder.decodeSingularStringField(value: &_storage._dfuInProgressTitle) }()
|
|
1352
|
+
case 36: try { try decoder.decodeSingularStringField(value: &_storage._dfuFailedTitle) }()
|
|
1353
|
+
case 37: try { try decoder.decodeSingularStringField(value: &_storage._dfuCancellingTitle) }()
|
|
1354
|
+
case 38: try { try decoder.decodeSingularStringField(value: &_storage._dfuCompletedTitle) }()
|
|
1355
|
+
case 39: try { try decoder.decodeSingularStringField(value: &_storage._dfuGetAuthenticationTokenTaskLabel) }()
|
|
1356
|
+
case 40: try { try decoder.decodeSingularStringField(value: &_storage._dfuCheckLatestFwlabel) }()
|
|
1357
|
+
case 41: try { try decoder.decodeSingularStringField(value: &_storage._dfuDownloadLatestFwlabel) }()
|
|
1358
|
+
case 42: try { try decoder.decodeSingularStringField(value: &_storage._dfuPrepareUpdateLabel) }()
|
|
1359
|
+
case 43: try { try decoder.decodeSingularStringField(value: &_storage._dfuStartBootloaderLabel) }()
|
|
1360
|
+
case 44: try { try decoder.decodeSingularStringField(value: &_storage._dfuFindDfuperipheralLabel) }()
|
|
1361
|
+
case 45: try { try decoder.decodeSingularStringField(value: &_storage._dfuUpdateFwlabel) }()
|
|
1362
|
+
case 46: try { try decoder.decodeSingularStringField(value: &_storage._dfuWaitForDeviceToRestartTaskLabel) }()
|
|
1195
1363
|
default: break
|
|
1196
1364
|
}
|
|
1197
1365
|
}
|
|
@@ -1306,6 +1474,42 @@ extension BlueI18n: SwiftProtobuf.Message, SwiftProtobuf._MessageImplementationB
|
|
|
1306
1474
|
try { if let v = _storage._syncDevicePushSystemStatusTaskLabel {
|
|
1307
1475
|
try visitor.visitSingularStringField(value: v, fieldNumber: 34)
|
|
1308
1476
|
} }()
|
|
1477
|
+
try { if let v = _storage._dfuInProgressTitle {
|
|
1478
|
+
try visitor.visitSingularStringField(value: v, fieldNumber: 35)
|
|
1479
|
+
} }()
|
|
1480
|
+
try { if let v = _storage._dfuFailedTitle {
|
|
1481
|
+
try visitor.visitSingularStringField(value: v, fieldNumber: 36)
|
|
1482
|
+
} }()
|
|
1483
|
+
try { if let v = _storage._dfuCancellingTitle {
|
|
1484
|
+
try visitor.visitSingularStringField(value: v, fieldNumber: 37)
|
|
1485
|
+
} }()
|
|
1486
|
+
try { if let v = _storage._dfuCompletedTitle {
|
|
1487
|
+
try visitor.visitSingularStringField(value: v, fieldNumber: 38)
|
|
1488
|
+
} }()
|
|
1489
|
+
try { if let v = _storage._dfuGetAuthenticationTokenTaskLabel {
|
|
1490
|
+
try visitor.visitSingularStringField(value: v, fieldNumber: 39)
|
|
1491
|
+
} }()
|
|
1492
|
+
try { if let v = _storage._dfuCheckLatestFwlabel {
|
|
1493
|
+
try visitor.visitSingularStringField(value: v, fieldNumber: 40)
|
|
1494
|
+
} }()
|
|
1495
|
+
try { if let v = _storage._dfuDownloadLatestFwlabel {
|
|
1496
|
+
try visitor.visitSingularStringField(value: v, fieldNumber: 41)
|
|
1497
|
+
} }()
|
|
1498
|
+
try { if let v = _storage._dfuPrepareUpdateLabel {
|
|
1499
|
+
try visitor.visitSingularStringField(value: v, fieldNumber: 42)
|
|
1500
|
+
} }()
|
|
1501
|
+
try { if let v = _storage._dfuStartBootloaderLabel {
|
|
1502
|
+
try visitor.visitSingularStringField(value: v, fieldNumber: 43)
|
|
1503
|
+
} }()
|
|
1504
|
+
try { if let v = _storage._dfuFindDfuperipheralLabel {
|
|
1505
|
+
try visitor.visitSingularStringField(value: v, fieldNumber: 44)
|
|
1506
|
+
} }()
|
|
1507
|
+
try { if let v = _storage._dfuUpdateFwlabel {
|
|
1508
|
+
try visitor.visitSingularStringField(value: v, fieldNumber: 45)
|
|
1509
|
+
} }()
|
|
1510
|
+
try { if let v = _storage._dfuWaitForDeviceToRestartTaskLabel {
|
|
1511
|
+
try visitor.visitSingularStringField(value: v, fieldNumber: 46)
|
|
1512
|
+
} }()
|
|
1309
1513
|
}
|
|
1310
1514
|
try unknownFields.traverse(visitor: &visitor)
|
|
1311
1515
|
}
|
|
@@ -1349,6 +1553,18 @@ extension BlueI18n: SwiftProtobuf.Message, SwiftProtobuf._MessageImplementationB
|
|
|
1349
1553
|
if _storage._syncDeviceDeployBlacklistEntriesTaskLabel != rhs_storage._syncDeviceDeployBlacklistEntriesTaskLabel {return false}
|
|
1350
1554
|
if _storage._syncDeviceRetrieveSystemStatusTaskLabel != rhs_storage._syncDeviceRetrieveSystemStatusTaskLabel {return false}
|
|
1351
1555
|
if _storage._syncDevicePushSystemStatusTaskLabel != rhs_storage._syncDevicePushSystemStatusTaskLabel {return false}
|
|
1556
|
+
if _storage._dfuInProgressTitle != rhs_storage._dfuInProgressTitle {return false}
|
|
1557
|
+
if _storage._dfuFailedTitle != rhs_storage._dfuFailedTitle {return false}
|
|
1558
|
+
if _storage._dfuCancellingTitle != rhs_storage._dfuCancellingTitle {return false}
|
|
1559
|
+
if _storage._dfuCompletedTitle != rhs_storage._dfuCompletedTitle {return false}
|
|
1560
|
+
if _storage._dfuGetAuthenticationTokenTaskLabel != rhs_storage._dfuGetAuthenticationTokenTaskLabel {return false}
|
|
1561
|
+
if _storage._dfuCheckLatestFwlabel != rhs_storage._dfuCheckLatestFwlabel {return false}
|
|
1562
|
+
if _storage._dfuDownloadLatestFwlabel != rhs_storage._dfuDownloadLatestFwlabel {return false}
|
|
1563
|
+
if _storage._dfuPrepareUpdateLabel != rhs_storage._dfuPrepareUpdateLabel {return false}
|
|
1564
|
+
if _storage._dfuStartBootloaderLabel != rhs_storage._dfuStartBootloaderLabel {return false}
|
|
1565
|
+
if _storage._dfuFindDfuperipheralLabel != rhs_storage._dfuFindDfuperipheralLabel {return false}
|
|
1566
|
+
if _storage._dfuUpdateFwlabel != rhs_storage._dfuUpdateFwlabel {return false}
|
|
1567
|
+
if _storage._dfuWaitForDeviceToRestartTaskLabel != rhs_storage._dfuWaitForDeviceToRestartTaskLabel {return false}
|
|
1352
1568
|
return true
|
|
1353
1569
|
}
|
|
1354
1570
|
if !storagesAreEqual {return false}
|