@capawesome/capacitor-live-update 6.4.2 → 6.5.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/README.md +1 -0
- package/android/src/main/java/io/capawesome/capacitorjs/plugins/liveupdate/LiveUpdate.java +351 -251
- package/android/src/main/java/io/capawesome/capacitorjs/plugins/liveupdate/LiveUpdateHttpClient.java +71 -0
- package/android/src/main/java/io/capawesome/capacitorjs/plugins/liveupdate/LiveUpdatePlugin.java +42 -59
- package/android/src/main/java/io/capawesome/capacitorjs/plugins/liveupdate/classes/Manifest.java +58 -0
- package/android/src/main/java/io/capawesome/capacitorjs/plugins/liveupdate/classes/ManifestItem.java +37 -0
- package/android/src/main/java/io/capawesome/capacitorjs/plugins/liveupdate/classes/api/GetLatestBundleResponse.java +19 -27
- package/android/src/main/java/io/capawesome/capacitorjs/plugins/liveupdate/enums/ArtifactType.java +6 -0
- package/ios/Plugin/Classes/Manifest.swift +20 -0
- package/ios/Plugin/Enums/ArtifactType.swift +4 -0
- package/ios/Plugin/{Classes → Enums}/CustomError.swift +3 -0
- package/ios/Plugin/LiveUpdate.swift +270 -199
- package/ios/Plugin/LiveUpdateHttpClient.swift +42 -0
- package/ios/Plugin/LiveUpdatePlugin.swift +65 -63
- package/ios/Plugin/Protocols/Api/GetLatestBundleResponse.swift +2 -3
- package/ios/Plugin/Protocols/Api/ManifestItem.swift +5 -0
- package/package.json +1 -1
|
@@ -8,7 +8,7 @@ import Capacitor
|
|
|
8
8
|
@objc(LiveUpdatePlugin)
|
|
9
9
|
public class LiveUpdatePlugin: CAPPlugin {
|
|
10
10
|
public static let tag = "LiveUpdate"
|
|
11
|
-
public static let version = "6.
|
|
11
|
+
public static let version = "6.5.0"
|
|
12
12
|
public static let userDefaultsPrefix = "CapawesomeLiveUpdate" // DO NOT CHANGE
|
|
13
13
|
|
|
14
14
|
private var config: LiveUpdateConfig?
|
|
@@ -30,8 +30,7 @@ public class LiveUpdatePlugin: CAPPlugin {
|
|
|
30
30
|
|
|
31
31
|
implementation?.deleteBundle(options, completion: { error in
|
|
32
32
|
if let error = error {
|
|
33
|
-
|
|
34
|
-
call.reject(error.localizedDescription)
|
|
33
|
+
self.rejectCall(call, error)
|
|
35
34
|
return
|
|
36
35
|
}
|
|
37
36
|
call.resolve()
|
|
@@ -39,33 +38,32 @@ public class LiveUpdatePlugin: CAPPlugin {
|
|
|
39
38
|
}
|
|
40
39
|
|
|
41
40
|
@objc func downloadBundle(_ call: CAPPluginCall) {
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
call.
|
|
58
|
-
|
|
41
|
+
Task {
|
|
42
|
+
do {
|
|
43
|
+
guard let bundleId = call.getString("bundleId") else {
|
|
44
|
+
call.reject(CustomError.bundleIdMissing.localizedDescription)
|
|
45
|
+
return
|
|
46
|
+
}
|
|
47
|
+
let checksum = call.getString("checksum")
|
|
48
|
+
guard let url = call.getString("url") else {
|
|
49
|
+
call.reject(CustomError.urlMissing.localizedDescription)
|
|
50
|
+
return
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
let options = DownloadBundleOptions(bundleId: bundleId, checksum: checksum, url: url)
|
|
54
|
+
|
|
55
|
+
try await implementation?.downloadBundle(options)
|
|
56
|
+
call.resolve()
|
|
57
|
+
} catch {
|
|
58
|
+
rejectCall(call, error)
|
|
59
59
|
}
|
|
60
|
-
|
|
61
|
-
})
|
|
60
|
+
}
|
|
62
61
|
}
|
|
63
62
|
|
|
64
63
|
@objc func getBundle(_ call: CAPPluginCall) {
|
|
65
64
|
implementation?.getBundle(completion: { result, error in
|
|
66
65
|
if let error = error {
|
|
67
|
-
|
|
68
|
-
call.reject(error.localizedDescription)
|
|
66
|
+
self.rejectCall(call, error)
|
|
69
67
|
return
|
|
70
68
|
}
|
|
71
69
|
if let result = result?.toJSObject() as? JSObject {
|
|
@@ -77,8 +75,7 @@ public class LiveUpdatePlugin: CAPPlugin {
|
|
|
77
75
|
@objc func getBundles(_ call: CAPPluginCall) {
|
|
78
76
|
implementation?.getBundles(completion: { result, error in
|
|
79
77
|
if let error = error {
|
|
80
|
-
|
|
81
|
-
call.reject(error.localizedDescription)
|
|
78
|
+
self.rejectCall(call, error)
|
|
82
79
|
return
|
|
83
80
|
}
|
|
84
81
|
if let result = result?.toJSObject() as? JSObject {
|
|
@@ -90,8 +87,7 @@ public class LiveUpdatePlugin: CAPPlugin {
|
|
|
90
87
|
@objc func getChannel(_ call: CAPPluginCall) {
|
|
91
88
|
implementation?.getChannel(completion: { result, error in
|
|
92
89
|
if let error = error {
|
|
93
|
-
|
|
94
|
-
call.reject(error.localizedDescription)
|
|
90
|
+
self.rejectCall(call, error)
|
|
95
91
|
return
|
|
96
92
|
}
|
|
97
93
|
if let result = result?.toJSObject() as? JSObject {
|
|
@@ -103,8 +99,7 @@ public class LiveUpdatePlugin: CAPPlugin {
|
|
|
103
99
|
@objc func getCustomId(_ call: CAPPluginCall) {
|
|
104
100
|
implementation?.getCustomId(completion: { result, error in
|
|
105
101
|
if let error = error {
|
|
106
|
-
|
|
107
|
-
call.reject(error.localizedDescription)
|
|
102
|
+
self.rejectCall(call, error)
|
|
108
103
|
return
|
|
109
104
|
}
|
|
110
105
|
if let result = result?.toJSObject() as? JSObject {
|
|
@@ -116,8 +111,7 @@ public class LiveUpdatePlugin: CAPPlugin {
|
|
|
116
111
|
@objc func getDeviceId(_ call: CAPPluginCall) {
|
|
117
112
|
implementation?.getDeviceId(completion: { result, error in
|
|
118
113
|
if let error = error {
|
|
119
|
-
|
|
120
|
-
call.reject(error.localizedDescription)
|
|
114
|
+
self.rejectCall(call, error)
|
|
121
115
|
return
|
|
122
116
|
}
|
|
123
117
|
if let result = result?.toJSObject() as? JSObject {
|
|
@@ -129,8 +123,7 @@ public class LiveUpdatePlugin: CAPPlugin {
|
|
|
129
123
|
@objc func getVersionCode(_ call: CAPPluginCall) {
|
|
130
124
|
implementation?.getVersionCode(completion: { result, error in
|
|
131
125
|
if let error = error {
|
|
132
|
-
|
|
133
|
-
call.reject(error.localizedDescription)
|
|
126
|
+
self.rejectCall(call, error)
|
|
134
127
|
return
|
|
135
128
|
}
|
|
136
129
|
if let result = result?.toJSObject() as? JSObject {
|
|
@@ -142,8 +135,7 @@ public class LiveUpdatePlugin: CAPPlugin {
|
|
|
142
135
|
@objc func getVersionName(_ call: CAPPluginCall) {
|
|
143
136
|
implementation?.getVersionName(completion: { result, error in
|
|
144
137
|
if let error = error {
|
|
145
|
-
|
|
146
|
-
call.reject(error.localizedDescription)
|
|
138
|
+
self.rejectCall(call, error)
|
|
147
139
|
return
|
|
148
140
|
}
|
|
149
141
|
if let result = result?.toJSObject() as? JSObject {
|
|
@@ -177,8 +169,7 @@ public class LiveUpdatePlugin: CAPPlugin {
|
|
|
177
169
|
|
|
178
170
|
implementation?.setBundle(options, completion: { error in
|
|
179
171
|
if let error = error {
|
|
180
|
-
|
|
181
|
-
call.reject(error.localizedDescription)
|
|
172
|
+
self.rejectCall(call, error)
|
|
182
173
|
return
|
|
183
174
|
}
|
|
184
175
|
})
|
|
@@ -192,8 +183,7 @@ public class LiveUpdatePlugin: CAPPlugin {
|
|
|
192
183
|
|
|
193
184
|
implementation?.setChannel(options, completion: { error in
|
|
194
185
|
if let error = error {
|
|
195
|
-
|
|
196
|
-
call.reject(error.localizedDescription)
|
|
186
|
+
self.rejectCall(call, error)
|
|
197
187
|
return
|
|
198
188
|
}
|
|
199
189
|
})
|
|
@@ -210,8 +200,7 @@ public class LiveUpdatePlugin: CAPPlugin {
|
|
|
210
200
|
|
|
211
201
|
implementation?.setCustomId(options, completion: { error in
|
|
212
202
|
if let error = error {
|
|
213
|
-
|
|
214
|
-
call.reject(error.localizedDescription)
|
|
203
|
+
self.rejectCall(call, error)
|
|
215
204
|
return
|
|
216
205
|
}
|
|
217
206
|
})
|
|
@@ -219,28 +208,30 @@ public class LiveUpdatePlugin: CAPPlugin {
|
|
|
219
208
|
}
|
|
220
209
|
|
|
221
210
|
@objc func sync(_ call: CAPPluginCall) {
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
211
|
+
Task {
|
|
212
|
+
do {
|
|
213
|
+
|
|
214
|
+
guard let _ = config?.appId else {
|
|
215
|
+
call.reject(CustomError.appIdMissing.localizedDescription)
|
|
216
|
+
return
|
|
217
|
+
}
|
|
218
|
+
|
|
219
|
+
guard !syncInProgress else {
|
|
220
|
+
call.reject(CustomError.syncInProgress.localizedDescription)
|
|
221
|
+
return
|
|
222
|
+
}
|
|
223
|
+
syncInProgress = true
|
|
224
|
+
|
|
225
|
+
let result = try await implementation?.sync()
|
|
226
|
+
self.syncInProgress = false
|
|
227
|
+
if let result = result?.toJSObject() as? JSObject {
|
|
228
|
+
call.resolve(result)
|
|
229
|
+
}
|
|
230
|
+
} catch {
|
|
231
|
+
self.syncInProgress = false
|
|
232
|
+
rejectCall(call, error)
|
|
239
233
|
}
|
|
240
|
-
|
|
241
|
-
call.resolve(result)
|
|
242
|
-
}
|
|
243
|
-
})
|
|
234
|
+
}
|
|
244
235
|
}
|
|
245
236
|
|
|
246
237
|
private func liveUpdateConfig() -> LiveUpdateConfig {
|
|
@@ -258,4 +249,15 @@ public class LiveUpdatePlugin: CAPPlugin {
|
|
|
258
249
|
|
|
259
250
|
return config
|
|
260
251
|
}
|
|
252
|
+
|
|
253
|
+
private func rejectCall(_ call: CAPPluginCall, _ error: Error) {
|
|
254
|
+
CAPLog.print("[", LiveUpdatePlugin.tag, "] ", error)
|
|
255
|
+
var message = error.localizedDescription
|
|
256
|
+
if let urlError = error as? URLError {
|
|
257
|
+
if urlError.code == .timedOut {
|
|
258
|
+
message = CustomError.httpTimeout.localizedDescription
|
|
259
|
+
}
|
|
260
|
+
}
|
|
261
|
+
call.reject(message)
|
|
262
|
+
}
|
|
261
263
|
}
|