@capgo/capacitor-updater 6.14.0 → 6.14.3

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.
Files changed (30) hide show
  1. package/README.md +11 -11
  2. package/android/src/main/java/ee/forgr/capacitor_updater/BundleInfo.java +134 -194
  3. package/android/src/main/java/ee/forgr/capacitor_updater/BundleStatus.java +23 -23
  4. package/android/src/main/java/ee/forgr/capacitor_updater/Callback.java +1 -1
  5. package/android/src/main/java/ee/forgr/capacitor_updater/CapacitorUpdater.java +960 -1165
  6. package/android/src/main/java/ee/forgr/capacitor_updater/CapacitorUpdaterPlugin.java +1259 -1629
  7. package/android/src/main/java/ee/forgr/capacitor_updater/CryptoCipher.java +161 -197
  8. package/android/src/main/java/ee/forgr/capacitor_updater/CryptoCipherV2.java +202 -256
  9. package/android/src/main/java/ee/forgr/capacitor_updater/DataManager.java +16 -16
  10. package/android/src/main/java/ee/forgr/capacitor_updater/DelayCondition.java +44 -48
  11. package/android/src/main/java/ee/forgr/capacitor_updater/DelayUntilNext.java +4 -4
  12. package/android/src/main/java/ee/forgr/capacitor_updater/DownloadService.java +378 -467
  13. package/android/src/main/java/ee/forgr/capacitor_updater/DownloadWorkerManager.java +71 -83
  14. package/android/src/main/java/ee/forgr/capacitor_updater/InternalUtils.java +19 -28
  15. package/dist/docs.json +17 -17
  16. package/dist/esm/definitions.d.ts +13 -13
  17. package/dist/esm/definitions.js.map +1 -1
  18. package/dist/esm/index.d.ts +2 -2
  19. package/dist/esm/index.js +4 -4
  20. package/dist/esm/index.js.map +1 -1
  21. package/dist/esm/web.d.ts +2 -2
  22. package/dist/esm/web.js +43 -43
  23. package/dist/esm/web.js.map +1 -1
  24. package/dist/plugin.cjs.js +43 -43
  25. package/dist/plugin.cjs.js.map +1 -1
  26. package/dist/plugin.js +43 -43
  27. package/dist/plugin.js.map +1 -1
  28. package/ios/Plugin/CapacitorUpdater.swift +8 -8
  29. package/ios/Plugin/CapacitorUpdaterPlugin.swift +1 -1
  30. package/package.json +5 -7
package/README.md CHANGED
@@ -736,7 +736,7 @@ Remove all listeners for this plugin.
736
736
  ### addListener('download', ...)
737
737
 
738
738
  ```typescript
739
- addListener(eventName: "download", listenerFunc: (state: DownloadEvent) => void) => Promise<PluginListenerHandle>
739
+ addListener(eventName: 'download', listenerFunc: (state: DownloadEvent) => void) => Promise<PluginListenerHandle>
740
740
  ```
741
741
 
742
742
  Listen for bundle download event in the App. Fires once a download has started, during downloading and when finished.
@@ -756,7 +756,7 @@ Listen for bundle download event in the App. Fires once a download has started,
756
756
  ### addListener('noNeedUpdate', ...)
757
757
 
758
758
  ```typescript
759
- addListener(eventName: "noNeedUpdate", listenerFunc: (state: NoNeedEvent) => void) => Promise<PluginListenerHandle>
759
+ addListener(eventName: 'noNeedUpdate', listenerFunc: (state: NoNeedEvent) => void) => Promise<PluginListenerHandle>
760
760
  ```
761
761
 
762
762
  Listen for no need to update event, useful when you want force check every time the app is launched
@@ -776,7 +776,7 @@ Listen for no need to update event, useful when you want force check every time
776
776
  ### addListener('updateAvailable', ...)
777
777
 
778
778
  ```typescript
779
- addListener(eventName: "updateAvailable", listenerFunc: (state: UpdateAvailableEvent) => void) => Promise<PluginListenerHandle>
779
+ addListener(eventName: 'updateAvailable', listenerFunc: (state: UpdateAvailableEvent) => void) => Promise<PluginListenerHandle>
780
780
  ```
781
781
 
782
782
  Listen for available update event, useful when you want to force check every time the app is launched
@@ -796,7 +796,7 @@ Listen for available update event, useful when you want to force check every tim
796
796
  ### addListener('downloadComplete', ...)
797
797
 
798
798
  ```typescript
799
- addListener(eventName: "downloadComplete", listenerFunc: (state: DownloadCompleteEvent) => void) => Promise<PluginListenerHandle>
799
+ addListener(eventName: 'downloadComplete', listenerFunc: (state: DownloadCompleteEvent) => void) => Promise<PluginListenerHandle>
800
800
  ```
801
801
 
802
802
  Listen for downloadComplete events.
@@ -816,7 +816,7 @@ Listen for downloadComplete events.
816
816
  ### addListener('majorAvailable', ...)
817
817
 
818
818
  ```typescript
819
- addListener(eventName: "majorAvailable", listenerFunc: (state: MajorAvailableEvent) => void) => Promise<PluginListenerHandle>
819
+ addListener(eventName: 'majorAvailable', listenerFunc: (state: MajorAvailableEvent) => void) => Promise<PluginListenerHandle>
820
820
  ```
821
821
 
822
822
  Listen for Major update event in the App, let you know when major update is blocked by setting disableAutoUpdateBreaking
@@ -836,7 +836,7 @@ Listen for Major update event in the App, let you know when major update is bloc
836
836
  ### addListener('updateFailed', ...)
837
837
 
838
838
  ```typescript
839
- addListener(eventName: "updateFailed", listenerFunc: (state: UpdateFailedEvent) => void) => Promise<PluginListenerHandle>
839
+ addListener(eventName: 'updateFailed', listenerFunc: (state: UpdateFailedEvent) => void) => Promise<PluginListenerHandle>
840
840
  ```
841
841
 
842
842
  Listen for update fail event in the App, let you know when update has fail to install at next app start
@@ -856,7 +856,7 @@ Listen for update fail event in the App, let you know when update has fail to in
856
856
  ### addListener('downloadFailed', ...)
857
857
 
858
858
  ```typescript
859
- addListener(eventName: "downloadFailed", listenerFunc: (state: DownloadFailedEvent) => void) => Promise<PluginListenerHandle>
859
+ addListener(eventName: 'downloadFailed', listenerFunc: (state: DownloadFailedEvent) => void) => Promise<PluginListenerHandle>
860
860
  ```
861
861
 
862
862
  Listen for download fail event in the App, let you know when a bundle download has failed
@@ -876,7 +876,7 @@ Listen for download fail event in the App, let you know when a bundle download h
876
876
  ### addListener('appReloaded', ...)
877
877
 
878
878
  ```typescript
879
- addListener(eventName: "appReloaded", listenerFunc: () => void) => Promise<PluginListenerHandle>
879
+ addListener(eventName: 'appReloaded', listenerFunc: () => void) => Promise<PluginListenerHandle>
880
880
  ```
881
881
 
882
882
  Listen for reload event in the App, let you know when reload has happened
@@ -896,7 +896,7 @@ Listen for reload event in the App, let you know when reload has happened
896
896
  ### addListener('appReady', ...)
897
897
 
898
898
  ```typescript
899
- addListener(eventName: "appReady", listenerFunc: (state: AppReadyEvent) => void) => Promise<PluginListenerHandle>
899
+ addListener(eventName: 'appReady', listenerFunc: (state: AppReadyEvent) => void) => Promise<PluginListenerHandle>
900
900
  ```
901
901
 
902
902
  Listen for app ready event in the App, let you know when app is ready to use
@@ -1223,12 +1223,12 @@ Returns null if no next bundle is set.
1223
1223
 
1224
1224
  #### BundleStatus
1225
1225
 
1226
- <code>"success" | "error" | "pending" | "downloading"</code>
1226
+ <code>'success' | 'error' | 'pending' | 'downloading'</code>
1227
1227
 
1228
1228
 
1229
1229
  #### DelayUntilNext
1230
1230
 
1231
- <code>"background" | "kill" | "nativeVersion" | "date"</code>
1231
+ <code>'background' | 'kill' | 'nativeVersion' | 'date'</code>
1232
1232
 
1233
1233
  </docgen-api>
1234
1234
 
@@ -17,198 +17,138 @@ import org.json.JSONTokener;
17
17
 
18
18
  public class BundleInfo {
19
19
 
20
- private static final SimpleDateFormat sdf = new SimpleDateFormat(
21
- "yyyy-MM-dd'T'HH:mm:ss.SSSZ"
22
- );
23
-
24
- public static final String ID_BUILTIN = "builtin";
25
- public static final String VERSION_UNKNOWN = "unknown";
26
- public static final String DOWNLOADED_BUILTIN = "1970-01-01T00:00:00.000Z";
27
-
28
- private final String downloaded;
29
- private final String id;
30
- private final String version;
31
- private final String checksum;
32
- private final BundleStatus status;
33
-
34
- static {
35
- sdf.setTimeZone(TimeZone.getTimeZone("GMT"));
36
- }
37
-
38
- public BundleInfo(final BundleInfo source) {
39
- this(
40
- source.id,
41
- source.version,
42
- source.status,
43
- source.downloaded,
44
- source.checksum
45
- );
46
- }
47
-
48
- public BundleInfo(
49
- final String id,
50
- final String version,
51
- final BundleStatus status,
52
- final Date downloaded,
53
- final String checksum
54
- ) {
55
- this(id, version, status, sdf.format(downloaded), checksum);
56
- }
57
-
58
- public BundleInfo(
59
- final String id,
60
- final String version,
61
- final BundleStatus status,
62
- final String downloaded,
63
- final String checksum
64
- ) {
65
- this.downloaded = downloaded.trim();
66
- this.id = id;
67
- this.version = version;
68
- this.checksum = checksum;
69
- this.status = status;
70
- }
71
-
72
- public Boolean isBuiltin() {
73
- return ID_BUILTIN.equals(this.id);
74
- }
75
-
76
- public Boolean isUnknown() {
77
- return VERSION_UNKNOWN.equals(this.id);
78
- }
79
-
80
- public Boolean isErrorStatus() {
81
- return BundleStatus.ERROR == this.status;
82
- }
83
-
84
- public Boolean isDeleted() {
85
- return BundleStatus.DELETED == this.status;
86
- }
87
-
88
- public boolean isDownloaded() {
89
- return (
90
- !this.isBuiltin() &&
91
- this.downloaded != null &&
92
- !this.downloaded.isEmpty() &&
93
- !this.isDeleted()
94
- );
95
- }
96
-
97
- public String getDownloaded() {
98
- return this.isBuiltin() ? DOWNLOADED_BUILTIN : this.downloaded;
99
- }
100
-
101
- public BundleInfo setDownloaded(Date downloaded) {
102
- return new BundleInfo(
103
- this.id,
104
- this.version,
105
- this.status,
106
- downloaded,
107
- this.checksum
108
- );
109
- }
110
-
111
- public String getChecksum() {
112
- return this.isBuiltin() ? "" : this.checksum;
113
- }
114
-
115
- public BundleInfo setChecksum(String checksum) {
116
- return new BundleInfo(
117
- this.id,
118
- this.version,
119
- this.status,
120
- this.downloaded,
121
- checksum
122
- );
123
- }
124
-
125
- public String getId() {
126
- return this.isBuiltin() ? ID_BUILTIN : this.id;
127
- }
128
-
129
- public BundleInfo setId(String id) {
130
- return new BundleInfo(
131
- id,
132
- this.version,
133
- this.status,
134
- this.downloaded,
135
- this.checksum
136
- );
137
- }
138
-
139
- public String getVersionName() {
140
- return this.version == null ? ID_BUILTIN : this.version;
141
- }
142
-
143
- public BundleInfo setVersionName(String version) {
144
- return new BundleInfo(
145
- this.id,
146
- version,
147
- this.status,
148
- this.downloaded,
149
- this.checksum
150
- );
151
- }
152
-
153
- public BundleStatus getStatus() {
154
- return this.isBuiltin() ? BundleStatus.SUCCESS : this.status;
155
- }
156
-
157
- public BundleInfo setStatus(BundleStatus status) {
158
- return new BundleInfo(
159
- this.id,
160
- this.version,
161
- status,
162
- this.downloaded,
163
- this.checksum
164
- );
165
- }
166
-
167
- public static BundleInfo fromJSON(final JSObject json) throws JSONException {
168
- return BundleInfo.fromJSON(json.toString());
169
- }
170
-
171
- public static BundleInfo fromJSON(final String jsonString)
172
- throws JSONException {
173
- JSONObject json = new JSONObject(new JSONTokener(jsonString));
174
- return new BundleInfo(
175
- json.has("id") ? json.getString("id") : "",
176
- json.has("version")
177
- ? json.getString("version")
178
- : BundleInfo.VERSION_UNKNOWN,
179
- json.has("status")
180
- ? BundleStatus.fromString(json.getString("status"))
181
- : BundleStatus.PENDING,
182
- json.has("downloaded") ? json.getString("downloaded") : "",
183
- json.has("checksum") ? json.getString("checksum") : ""
184
- );
185
- }
186
-
187
- public JSObject toJSON() {
188
- final JSObject result = new JSObject();
189
- result.put("id", this.getId());
190
- result.put("version", this.getVersionName());
191
- result.put("downloaded", this.getDownloaded());
192
- result.put("checksum", this.getChecksum());
193
- result.put("status", this.getStatus());
194
- return result;
195
- }
196
-
197
- @Override
198
- public boolean equals(final Object o) {
199
- if (this == o) return true;
200
- if (!(o instanceof BundleInfo)) return false;
201
- final BundleInfo that = (BundleInfo) o;
202
- return this.getId().equals(that.getId());
203
- }
204
-
205
- @Override
206
- public int hashCode() {
207
- return Objects.hash(this.version);
208
- }
209
-
210
- @Override
211
- public String toString() {
212
- return this.toJSON().toString();
213
- }
20
+ private static final SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSSZ");
21
+
22
+ public static final String ID_BUILTIN = "builtin";
23
+ public static final String VERSION_UNKNOWN = "unknown";
24
+ public static final String DOWNLOADED_BUILTIN = "1970-01-01T00:00:00.000Z";
25
+
26
+ private final String downloaded;
27
+ private final String id;
28
+ private final String version;
29
+ private final String checksum;
30
+ private final BundleStatus status;
31
+
32
+ static {
33
+ sdf.setTimeZone(TimeZone.getTimeZone("GMT"));
34
+ }
35
+
36
+ public BundleInfo(final BundleInfo source) {
37
+ this(source.id, source.version, source.status, source.downloaded, source.checksum);
38
+ }
39
+
40
+ public BundleInfo(final String id, final String version, final BundleStatus status, final Date downloaded, final String checksum) {
41
+ this(id, version, status, sdf.format(downloaded), checksum);
42
+ }
43
+
44
+ public BundleInfo(final String id, final String version, final BundleStatus status, final String downloaded, final String checksum) {
45
+ this.downloaded = downloaded.trim();
46
+ this.id = id;
47
+ this.version = version;
48
+ this.checksum = checksum;
49
+ this.status = status;
50
+ }
51
+
52
+ public Boolean isBuiltin() {
53
+ return ID_BUILTIN.equals(this.id);
54
+ }
55
+
56
+ public Boolean isUnknown() {
57
+ return VERSION_UNKNOWN.equals(this.id);
58
+ }
59
+
60
+ public Boolean isErrorStatus() {
61
+ return BundleStatus.ERROR == this.status;
62
+ }
63
+
64
+ public Boolean isDeleted() {
65
+ return BundleStatus.DELETED == this.status;
66
+ }
67
+
68
+ public boolean isDownloaded() {
69
+ return (!this.isBuiltin() && this.downloaded != null && !this.downloaded.isEmpty() && !this.isDeleted());
70
+ }
71
+
72
+ public String getDownloaded() {
73
+ return this.isBuiltin() ? DOWNLOADED_BUILTIN : this.downloaded;
74
+ }
75
+
76
+ public BundleInfo setDownloaded(Date downloaded) {
77
+ return new BundleInfo(this.id, this.version, this.status, downloaded, this.checksum);
78
+ }
79
+
80
+ public String getChecksum() {
81
+ return this.isBuiltin() ? "" : this.checksum;
82
+ }
83
+
84
+ public BundleInfo setChecksum(String checksum) {
85
+ return new BundleInfo(this.id, this.version, this.status, this.downloaded, checksum);
86
+ }
87
+
88
+ public String getId() {
89
+ return this.isBuiltin() ? ID_BUILTIN : this.id;
90
+ }
91
+
92
+ public BundleInfo setId(String id) {
93
+ return new BundleInfo(id, this.version, this.status, this.downloaded, this.checksum);
94
+ }
95
+
96
+ public String getVersionName() {
97
+ return this.version == null ? ID_BUILTIN : this.version;
98
+ }
99
+
100
+ public BundleInfo setVersionName(String version) {
101
+ return new BundleInfo(this.id, version, this.status, this.downloaded, this.checksum);
102
+ }
103
+
104
+ public BundleStatus getStatus() {
105
+ return this.isBuiltin() ? BundleStatus.SUCCESS : this.status;
106
+ }
107
+
108
+ public BundleInfo setStatus(BundleStatus status) {
109
+ return new BundleInfo(this.id, this.version, status, this.downloaded, this.checksum);
110
+ }
111
+
112
+ public static BundleInfo fromJSON(final JSObject json) throws JSONException {
113
+ return BundleInfo.fromJSON(json.toString());
114
+ }
115
+
116
+ public static BundleInfo fromJSON(final String jsonString) throws JSONException {
117
+ JSONObject json = new JSONObject(new JSONTokener(jsonString));
118
+ return new BundleInfo(
119
+ json.has("id") ? json.getString("id") : "",
120
+ json.has("version") ? json.getString("version") : BundleInfo.VERSION_UNKNOWN,
121
+ json.has("status") ? BundleStatus.fromString(json.getString("status")) : BundleStatus.PENDING,
122
+ json.has("downloaded") ? json.getString("downloaded") : "",
123
+ json.has("checksum") ? json.getString("checksum") : ""
124
+ );
125
+ }
126
+
127
+ public JSObject toJSON() {
128
+ final JSObject result = new JSObject();
129
+ result.put("id", this.getId());
130
+ result.put("version", this.getVersionName());
131
+ result.put("downloaded", this.getDownloaded());
132
+ result.put("checksum", this.getChecksum());
133
+ result.put("status", this.getStatus());
134
+ return result;
135
+ }
136
+
137
+ @Override
138
+ public boolean equals(final Object o) {
139
+ if (this == o) return true;
140
+ if (!(o instanceof BundleInfo)) return false;
141
+ final BundleInfo that = (BundleInfo) o;
142
+ return this.getId().equals(that.getId());
143
+ }
144
+
145
+ @Override
146
+ public int hashCode() {
147
+ return Objects.hash(this.version);
148
+ }
149
+
150
+ @Override
151
+ public String toString() {
152
+ return this.toJSON().toString();
153
+ }
214
154
  }
@@ -10,35 +10,35 @@ import java.util.HashMap;
10
10
  import java.util.Map;
11
11
 
12
12
  public enum BundleStatus {
13
- SUCCESS("success"),
14
- ERROR("error"),
15
- PENDING("pending"),
16
- DELETED("deleted"),
17
- DOWNLOADING("downloading");
13
+ SUCCESS("success"),
14
+ ERROR("error"),
15
+ PENDING("pending"),
16
+ DELETED("deleted"),
17
+ DOWNLOADING("downloading");
18
18
 
19
- public final String label;
19
+ public final String label;
20
20
 
21
- private static final Map<String, BundleStatus> BY_LABEL = new HashMap<>();
21
+ private static final Map<String, BundleStatus> BY_LABEL = new HashMap<>();
22
22
 
23
- static {
24
- for (final BundleStatus e : values()) {
25
- BY_LABEL.put(e.label, e);
23
+ static {
24
+ for (final BundleStatus e : values()) {
25
+ BY_LABEL.put(e.label, e);
26
+ }
26
27
  }
27
- }
28
28
 
29
- BundleStatus(final String label) {
30
- this.label = label;
31
- }
29
+ BundleStatus(final String label) {
30
+ this.label = label;
31
+ }
32
32
 
33
- @Override
34
- public String toString() {
35
- return this.label;
36
- }
33
+ @Override
34
+ public String toString() {
35
+ return this.label;
36
+ }
37
37
 
38
- public static BundleStatus fromString(final String status) {
39
- if (status == null || status.isEmpty()) {
40
- return BundleStatus.PENDING;
38
+ public static BundleStatus fromString(final String status) {
39
+ if (status == null || status.isEmpty()) {
40
+ return BundleStatus.PENDING;
41
+ }
42
+ return BundleStatus.BY_LABEL.get(status);
41
43
  }
42
- return BundleStatus.BY_LABEL.get(status);
43
- }
44
44
  }
@@ -9,5 +9,5 @@ package ee.forgr.capacitor_updater;
9
9
  import com.getcapacitor.JSObject;
10
10
 
11
11
  public interface Callback {
12
- void callback(JSObject jsoObject);
12
+ void callback(JSObject jsoObject);
13
13
  }