32
32
import cc .arduino .Constants ;
33
33
import cc .arduino .contributions .DownloadableContribution ;
34
34
import cc .arduino .contributions .DownloadableContributionsDownloader ;
35
+ import cc .arduino .contributions .ProgressListener ;
35
36
import cc .arduino .contributions .SignatureVerifier ;
36
37
import cc .arduino .filters .FileExecutablePredicate ;
37
38
import cc .arduino .utils .ArchiveExtractor ;
@@ -64,16 +65,23 @@ public class ContributionInstaller {
64
65
private final DownloadableContributionsDownloader downloader ;
65
66
private final Platform platform ;
66
67
private final SignatureVerifier signatureVerifier ;
68
+ private final ProgressListener progressListener ;
67
69
68
70
public ContributionInstaller (ContributionsIndexer contributionsIndexer , Platform platform , SignatureVerifier signatureVerifier ) {
71
+ this (contributionsIndexer , platform , signatureVerifier , progress -> {
72
+ });
73
+ }
74
+
75
+ public ContributionInstaller (ContributionsIndexer contributionsIndexer , Platform platform , SignatureVerifier signatureVerifier , ProgressListener progressListener ) {
69
76
this .platform = platform ;
70
77
this .signatureVerifier = signatureVerifier ;
78
+ this .progressListener = progressListener ;
71
79
File stagingFolder = contributionsIndexer .getStagingFolder ();
72
80
indexer = contributionsIndexer ;
73
81
downloader = new DownloadableContributionsDownloader (stagingFolder ) {
74
82
@ Override
75
83
protected void onProgress (Progress progress ) {
76
- ContributionInstaller . this .onProgress (progress );
84
+ progressListener .onProgress (progress );
77
85
}
78
86
};
79
87
}
@@ -132,7 +140,7 @@ public List<String> install(ContributedPlatform contributedPlatform) throws Exce
132
140
int i = 1 ;
133
141
for (ContributedTool tool : tools ) {
134
142
progress .setStatus (format (tr ("Installing tools ({0}/{1})..." ), i , tools .size ()));
135
- onProgress (progress );
143
+ progressListener . onProgress (progress );
136
144
i ++;
137
145
DownloadableContribution toolContrib = tool .getDownloadableContribution (platform );
138
146
File destFolder = new File (toolsFolder , tool .getName () + File .separator + tool .getVersion ());
@@ -152,7 +160,7 @@ public List<String> install(ContributedPlatform contributedPlatform) throws Exce
152
160
153
161
// Unpack platform on the correct location
154
162
progress .setStatus (tr ("Installing boards..." ));
155
- onProgress (progress );
163
+ progressListener . onProgress (progress );
156
164
File platformFolder = new File (packageFolder , "hardware" + File .separator + contributedPlatform .getArchitecture ());
157
165
File destFolder = new File (platformFolder , contributedPlatform .getParsedVersion ());
158
166
Files .createDirectories (destFolder .toPath ());
@@ -168,7 +176,7 @@ public List<String> install(ContributedPlatform contributedPlatform) throws Exce
168
176
progress .stepDone ();
169
177
170
178
progress .setStatus (tr ("Installation completed!" ));
171
- onProgress (progress );
179
+ progressListener . onProgress (progress );
172
180
173
181
return errors ;
174
182
}
@@ -328,10 +336,6 @@ private File download(MultiStepProgress progress, String packageIndexUrl) throws
328
336
return outputFile ;
329
337
}
330
338
331
- protected void onProgress (Progress progress ) {
332
- // Empty
333
- }
334
-
335
339
public void deleteUnknownFiles (List <String > downloadedPackageIndexFiles ) throws IOException {
336
340
File preferencesFolder = indexer .getIndexFile ("." ).getParentFile ();
337
341
File [] additionalPackageIndexFiles = preferencesFolder .listFiles (new PackageIndexFilenameFilter (Constants .DEFAULT_INDEX_FILE_NAME ));
0 commit comments